From fdf5790249d66f86ded8693f0e51233b6fad3370 Mon Sep 17 00:00:00 2001 From: haochao Date: Tue, 20 May 2025 09:41:22 +0800 Subject: [PATCH] second commit --- 4G_test.ioc | 103 +- App/EEPROM/EEPROM.c | 71 + App/EEPROM/EEPROM.h | 14 +- App/HLW8032/HLW8032.c | 17 +- App/Irrigation/Irrigation.h | 1 + App/Ozone/Ozone.c | 25 + App/Ozone/Ozone.h | 16 +- App/SaveTime/Save_Time.c | 1 - App/electrode/electrode.c | 83 +- App/electrode/electrode.h | 12 +- App/gungshi/guangshi.c | 46 +- App/gungshi/guangshi.h | 2 +- App/paini/paini.c | 4 +- App/paini/paini.h | 2 +- App/solar_energy/solar_energy.c | 2 + App/solar_energy/solar_energy.h | 12 + App/wendu/wendu.c | 100 +- App/wendu/wendu.h | 13 +- Core/Inc/adc.h | 3 + Core/Inc/main.h | 1 + Core/Src/adc.c | 147 +- Core/Src/dma.c | 1 + Core/Src/main.c | 152 +- Core/Src/usart.c | 18 +- Driver/Driver.c | 45 +- Driver/Driver.h | 2 + Inf/Inf_4G.c | 97 +- Inf/Inf_4G.h | 7 +- MDK-ARM/.vscode/c_cpp_properties.json | 1 + MDK-ARM/.vscode/keil-assistant.log | 58 + MDK-ARM/.vscode/settings.json | 3 +- MDK-ARM/.vscode/uv4.log | 11 +- MDK-ARM/.vscode/uv4.log.lock | 2 +- MDK-ARM/4G_test.uvguix.kevin | 50 +- MDK-ARM/4G_test.uvoptx | 18 +- MDK-ARM/4G_test.uvprojx | 7 +- MDK-ARM/4G_test/4G_test.axf | Bin 1029828 -> 1039568 bytes MDK-ARM/4G_test/4G_test.build_log.htm | 7 +- MDK-ARM/4G_test/4G_test.hex | 4151 +++++++++-------- MDK-ARM/4G_test/4G_test.htm | 2336 +++++----- MDK-ARM/4G_test/4G_test.lnp | 1 + MDK-ARM/4G_test/4G_test.map | 2179 +++++---- MDK-ARM/4G_test/4G_test_4G_test.dep | 538 ++- MDK-ARM/4G_test/adc.crf | Bin 880597 -> 881985 bytes MDK-ARM/4G_test/adc.o | Bin 990644 -> 992864 bytes MDK-ARM/4G_test/dma.crf | Bin 879563 -> 879732 bytes MDK-ARM/4G_test/dma.o | Bin 986256 -> 986412 bytes MDK-ARM/4G_test/driver.crf | Bin 914449 -> 915838 bytes MDK-ARM/4G_test/driver.d | 4 +- MDK-ARM/4G_test/driver.o | Bin 1053444 -> 1055748 bytes MDK-ARM/4G_test/eeprom.crf | Bin 885080 -> 887982 bytes MDK-ARM/4G_test/eeprom.d | 1 + MDK-ARM/4G_test/eeprom.o | Bin 995956 -> 1004832 bytes MDK-ARM/4G_test/electrode.crf | Bin 912370 -> 913258 bytes MDK-ARM/4G_test/electrode.d | 4 +- MDK-ARM/4G_test/electrode.o | Bin 1024936 -> 1021040 bytes MDK-ARM/4G_test/energy_manager.o | Bin 5196 -> 5220 bytes MDK-ARM/4G_test/gpio.crf | Bin 881017 -> 881049 bytes MDK-ARM/4G_test/gpio.o | Bin 987240 -> 987304 bytes MDK-ARM/4G_test/guangshi.crf | Bin 912252 -> 913618 bytes MDK-ARM/4G_test/guangshi.d | 4 +- MDK-ARM/4G_test/guangshi.o | Bin 1018660 -> 1022412 bytes MDK-ARM/4G_test/hlw8032.crf | Bin 913119 -> 914444 bytes MDK-ARM/4G_test/hlw8032.d | 2 +- MDK-ARM/4G_test/hlw8032.o | Bin 1023732 -> 1024880 bytes MDK-ARM/4G_test/i2c.crf | Bin 880247 -> 880279 bytes MDK-ARM/4G_test/i2c.o | Bin 990252 -> 990312 bytes MDK-ARM/4G_test/inf_4g.crf | Bin 916028 -> 917761 bytes MDK-ARM/4G_test/inf_4g.d | 2 +- MDK-ARM/4G_test/inf_4g.o | Bin 1044012 -> 1047164 bytes MDK-ARM/4G_test/irrigation.crf | Bin 892899 -> 916250 bytes MDK-ARM/4G_test/irrigation.d | 15 +- MDK-ARM/4G_test/irrigation.o | Bin 1024740 -> 1046496 bytes MDK-ARM/4G_test/main.crf | Bin 914025 -> 915232 bytes MDK-ARM/4G_test/main.d | 2 +- MDK-ARM/4G_test/main.o | Bin 1029680 -> 1030552 bytes MDK-ARM/4G_test/ozone.crf | Bin 912027 -> 913422 bytes MDK-ARM/4G_test/ozone.d | 4 +- MDK-ARM/4G_test/ozone.o | Bin 1019792 -> 1023700 bytes MDK-ARM/4G_test/paini.crf | Bin 879692 -> 913418 bytes MDK-ARM/4G_test/paini.d | 21 + MDK-ARM/4G_test/paini.o | Bin 987260 -> 1020144 bytes MDK-ARM/4G_test/save_time.crf | Bin 890679 -> 914180 bytes MDK-ARM/4G_test/save_time.d | 16 +- MDK-ARM/4G_test/save_time.o | Bin 1000552 -> 1023376 bytes MDK-ARM/4G_test/shuiliang.crf | Bin 911870 -> 913060 bytes MDK-ARM/4G_test/shuiliang.d | 4 +- MDK-ARM/4G_test/shuiliang.o | Bin 1016556 -> 1017128 bytes MDK-ARM/4G_test/solar_energy.crf | Bin 0 -> 913107 bytes MDK-ARM/4G_test/solar_energy.d | 59 + MDK-ARM/4G_test/solar_energy.o | Bin 0 -> 1018264 bytes MDK-ARM/4G_test/stm32f4xx_hal.o | Bin 1023668 -> 1023688 bytes MDK-ARM/4G_test/stm32f4xx_hal_adc.o | Bin 1028264 -> 1028284 bytes MDK-ARM/4G_test/stm32f4xx_hal_adc_ex.o | Bin 1011464 -> 1011488 bytes MDK-ARM/4G_test/stm32f4xx_hal_cortex.o | Bin 1020148 -> 1020172 bytes MDK-ARM/4G_test/stm32f4xx_hal_dma.o | Bin 1011588 -> 1011608 bytes MDK-ARM/4G_test/stm32f4xx_hal_dma_ex.o | Bin 996928 -> 996952 bytes MDK-ARM/4G_test/stm32f4xx_hal_exti.o | Bin 998968 -> 998992 bytes MDK-ARM/4G_test/stm32f4xx_hal_flash.o | Bin 1010624 -> 1010644 bytes MDK-ARM/4G_test/stm32f4xx_hal_flash_ex.o | Bin 1008340 -> 1008364 bytes MDK-ARM/4G_test/stm32f4xx_hal_flash_ramfunc.o | Bin 983180 -> 983200 bytes MDK-ARM/4G_test/stm32f4xx_hal_gpio.o | Bin 997192 -> 997216 bytes MDK-ARM/4G_test/stm32f4xx_hal_i2c.o | Bin 1148968 -> 1148988 bytes MDK-ARM/4G_test/stm32f4xx_hal_i2c_ex.o | Bin 982996 -> 983020 bytes MDK-ARM/4G_test/stm32f4xx_hal_msp.crf | Bin 879588 -> 879620 bytes MDK-ARM/4G_test/stm32f4xx_hal_msp.o | Bin 985776 -> 985836 bytes MDK-ARM/4G_test/stm32f4xx_hal_pwr.o | Bin 1008136 -> 1008156 bytes MDK-ARM/4G_test/stm32f4xx_hal_pwr_ex.o | Bin 993184 -> 993208 bytes MDK-ARM/4G_test/stm32f4xx_hal_rcc.o | Bin 1008972 -> 1008992 bytes MDK-ARM/4G_test/stm32f4xx_hal_rcc_ex.o | Bin 995208 -> 995232 bytes MDK-ARM/4G_test/stm32f4xx_hal_tim.o | Bin 1199080 -> 1199100 bytes MDK-ARM/4G_test/stm32f4xx_hal_tim_ex.o | Bin 1063352 -> 1063376 bytes MDK-ARM/4G_test/stm32f4xx_hal_uart.o | Bin 1094716 -> 1094740 bytes MDK-ARM/4G_test/stm32f4xx_it.crf | Bin 913074 -> 914264 bytes MDK-ARM/4G_test/stm32f4xx_it.d | 2 +- MDK-ARM/4G_test/stm32f4xx_it.o | Bin 1041752 -> 1042324 bytes MDK-ARM/4G_test/stm32f4xx_ll_adc.o | Bin 5268 -> 5288 bytes MDK-ARM/4G_test/system_stm32f4xx.o | Bin 986736 -> 986760 bytes MDK-ARM/4G_test/tim.crf | Bin 881935 -> 881967 bytes MDK-ARM/4G_test/tim.o | Bin 995984 -> 996044 bytes MDK-ARM/4G_test/usart.crf | Bin 887184 -> 887547 bytes MDK-ARM/4G_test/usart.o | Bin 998208 -> 998448 bytes MDK-ARM/4G_test/wendu.crf | Bin 912224 -> 913793 bytes MDK-ARM/4G_test/wendu.d | 2 +- MDK-ARM/4G_test/wendu.o | Bin 1019448 -> 1025044 bytes 125 files changed, 5858 insertions(+), 4643 deletions(-) create mode 100644 App/solar_energy/solar_energy.c create mode 100644 App/solar_energy/solar_energy.h create mode 100644 MDK-ARM/4G_test/solar_energy.crf create mode 100644 MDK-ARM/4G_test/solar_energy.d create mode 100644 MDK-ARM/4G_test/solar_energy.o diff --git a/4G_test.ioc b/4G_test.ioc index ff9fc79..8a86226 100644 --- a/4G_test.ioc +++ b/4G_test.ioc @@ -1,19 +1,42 @@ #MicroXplorer Configuration settings - do not modify +ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_0 +ADC1.IPParameters=Rank-0\#ChannelRegularConversion,master,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag +ADC1.NbrOfConversionFlag=1 +ADC1.Rank-0\#ChannelRegularConversion=1 +ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_3CYCLES +ADC1.master=1 ADC3.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_4 -ADC3.Channel-1\#ChannelInjectedConversion=ADC_CHANNEL_4 -ADC3.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,InjectedRank-1\#ChannelInjectedConversion,Channel-1\#ChannelInjectedConversion,SamplingTime-1\#ChannelInjectedConversion,InjectedOffset-1\#ChannelInjectedConversion,InjNumberOfConversion -ADC3.InjNumberOfConversion=1 -ADC3.InjectedOffset-1\#ChannelInjectedConversion=0 -ADC3.InjectedRank-1\#ChannelInjectedConversion=1 +ADC3.Channel-10\#ChannelRegularConversion=ADC_CHANNEL_14 +ADC3.Channel-9\#ChannelRegularConversion=ADC_CHANNEL_9 +ADC3.ContinuousConvMode=ENABLE +ADC3.DMAContinuousRequests=ENABLE +ADC3.DiscontinuousConvMode=DISABLE +ADC3.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,NbrOfConversionFlag,InjNumberOfConversion,NbrOfConversion,ContinuousConvMode,DiscontinuousConvMode,DMAContinuousRequests,Rank-9\#ChannelRegularConversion,Channel-9\#ChannelRegularConversion,SamplingTime-9\#ChannelRegularConversion,Rank-10\#ChannelRegularConversion,Channel-10\#ChannelRegularConversion,SamplingTime-10\#ChannelRegularConversion +ADC3.InjNumberOfConversion=0 +ADC3.NbrOfConversion=3 ADC3.NbrOfConversionFlag=1 ADC3.Rank-0\#ChannelRegularConversion=1 -ADC3.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_144CYCLES -ADC3.SamplingTime-1\#ChannelInjectedConversion=ADC_SAMPLETIME_3CYCLES +ADC3.Rank-10\#ChannelRegularConversion=3 +ADC3.Rank-9\#ChannelRegularConversion=2 +ADC3.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_480CYCLES +ADC3.SamplingTime-10\#ChannelRegularConversion=ADC_SAMPLETIME_480CYCLES +ADC3.SamplingTime-9\#ChannelRegularConversion=ADC_SAMPLETIME_480CYCLES CAD.formats= CAD.pinconfig= CAD.provider= +Dma.ADC3.1.Direction=DMA_PERIPH_TO_MEMORY +Dma.ADC3.1.FIFOMode=DMA_FIFOMODE_DISABLE +Dma.ADC3.1.Instance=DMA2_Stream0 +Dma.ADC3.1.MemDataAlignment=DMA_MDATAALIGN_HALFWORD +Dma.ADC3.1.MemInc=DMA_MINC_ENABLE +Dma.ADC3.1.Mode=DMA_CIRCULAR +Dma.ADC3.1.PeriphDataAlignment=DMA_PDATAALIGN_HALFWORD +Dma.ADC3.1.PeriphInc=DMA_PINC_DISABLE +Dma.ADC3.1.Priority=DMA_PRIORITY_LOW +Dma.ADC3.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority,FIFOMode Dma.Request0=UART4_RX -Dma.RequestsNb=1 +Dma.Request1=ADC3 +Dma.RequestsNb=2 Dma.UART4_RX.0.Direction=DMA_PERIPH_TO_MEMORY Dma.UART4_RX.0.FIFOMode=DMA_FIFOMODE_DISABLE Dma.UART4_RX.0.Instance=DMA1_Stream2 @@ -29,20 +52,21 @@ GPIO.groupedBy=Group By Peripherals KeepUserPlacement=false Mcu.CPN=STM32F407ZGT6 Mcu.Family=STM32F4 -Mcu.IP0=ADC3 -Mcu.IP1=DMA -Mcu.IP10=UART4 -Mcu.IP11=USART1 -Mcu.IP12=USART2 -Mcu.IP2=I2C2 -Mcu.IP3=NVIC -Mcu.IP4=RCC -Mcu.IP5=SYS -Mcu.IP6=TIM2 -Mcu.IP7=TIM3 -Mcu.IP8=TIM6 -Mcu.IP9=TIM7 -Mcu.IPNb=13 +Mcu.IP0=ADC1 +Mcu.IP1=ADC3 +Mcu.IP10=TIM7 +Mcu.IP11=UART4 +Mcu.IP12=USART1 +Mcu.IP13=USART2 +Mcu.IP2=DMA +Mcu.IP3=I2C2 +Mcu.IP4=NVIC +Mcu.IP5=RCC +Mcu.IP6=SYS +Mcu.IP7=TIM2 +Mcu.IP8=TIM3 +Mcu.IP9=TIM6 +Mcu.IPNb=14 Mcu.Name=STM32F407Z(E-G)Tx Mcu.Package=LQFP144 Mcu.Pin0=PE2 @@ -63,24 +87,25 @@ Mcu.Pin21=PA9 Mcu.Pin22=PA10 Mcu.Pin23=PA13 Mcu.Pin24=PA14 -Mcu.Pin25=PD5 -Mcu.Pin26=PD6 -Mcu.Pin27=PG9 -Mcu.Pin28=PG11 -Mcu.Pin29=PG13 +Mcu.Pin25=PC10 +Mcu.Pin26=PD5 +Mcu.Pin27=PD6 +Mcu.Pin28=PG9 +Mcu.Pin29=PG11 Mcu.Pin3=PC15-OSC32_OUT -Mcu.Pin30=VP_SYS_VS_Systick -Mcu.Pin31=VP_TIM2_VS_ClockSourceINT -Mcu.Pin32=VP_TIM3_VS_ClockSourceINT -Mcu.Pin33=VP_TIM6_VS_ClockSourceINT -Mcu.Pin34=VP_TIM7_VS_ClockSourceINT +Mcu.Pin30=PG13 +Mcu.Pin31=VP_SYS_VS_Systick +Mcu.Pin32=VP_TIM2_VS_ClockSourceINT +Mcu.Pin33=VP_TIM3_VS_ClockSourceINT +Mcu.Pin34=VP_TIM6_VS_ClockSourceINT +Mcu.Pin35=VP_TIM7_VS_ClockSourceINT Mcu.Pin4=PF0 Mcu.Pin5=PF1 Mcu.Pin6=PF2 Mcu.Pin7=PF3 Mcu.Pin8=PF4 Mcu.Pin9=PF6 -Mcu.PinsNb=35 +Mcu.PinsNb=36 Mcu.ThirdPartyNb=0 Mcu.UserConstants= Mcu.UserName=STM32F407ZGTx @@ -89,7 +114,7 @@ MxDb.Version=DB.6.0.130 NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.DMA1_Stream2_IRQn=true\:0\:0\:false\:false\:true\:false\:true\:true NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false -NVIC.ForceEnableDMAVector=true +NVIC.ForceEnableDMAVector=false NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false @@ -104,8 +129,7 @@ NVIC.TIM7_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.UART4_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true NVIC.USART2_IRQn=true\:2\:0\:true\:false\:true\:true\:true\:true NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false -PA0-WKUP.Mode=Asynchronous -PA0-WKUP.Signal=UART4_TX +PA0-WKUP.Signal=ADCx_IN0 PA1.Mode=Asynchronous PA1.Signal=UART4_RX PA10.Mode=Asynchronous @@ -116,6 +140,8 @@ PA14.Mode=Serial_Wire PA14.Signal=SYS_JTCK-SWCLK PA9.Mode=Asynchronous PA9.Signal=USART1_TX +PC10.Mode=Asynchronous +PC10.Signal=UART4_TX PC14-OSC32_IN.Mode=LSE-External-Oscillator PC14-OSC32_IN.Signal=RCC_OSC32_IN PC15-OSC32_OUT.Mode=LSE-External-Oscillator @@ -149,7 +175,6 @@ PF4.Signal=ADC3_IN14 PF6.Mode=IN4 PF6.Signal=ADC3_IN4 PF8.Locked=true -PF8.Mode=IN6 PF8.Signal=ADC3_IN6 PG1.Locked=true PG1.Signal=GPIO_Output @@ -207,7 +232,7 @@ ProjectManager.ToolChainLocation= ProjectManager.UAScriptAfterPath= ProjectManager.UAScriptBeforePath= ProjectManager.UnderRoot=false -ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_TIM6_Init-TIM6-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_ADC3_Init-ADC3-false-HAL-true,10-MX_UART4_Init-UART4-false-HAL-true,11-MX_I2C2_Init-I2C2-false-HAL-true,12-MX_TIM3_Init-TIM3-false-HAL-true +ProjectManager.functionlistsort=1-SystemClock_Config-RCC-false-HAL-false,2-MX_GPIO_Init-GPIO-false-HAL-true,3-MX_DMA_Init-DMA-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_USART2_UART_Init-USART2-false-HAL-true,6-MX_TIM6_Init-TIM6-false-HAL-true,7-MX_TIM2_Init-TIM2-false-HAL-true,8-MX_TIM7_Init-TIM7-false-HAL-true,9-MX_ADC3_Init-ADC3-false-HAL-true,10-MX_UART4_Init-UART4-false-HAL-true,11-MX_I2C2_Init-I2C2-false-HAL-true,12-MX_TIM3_Init-TIM3-false-HAL-true,13-MX_ADC1_Init-ADC1-false-HAL-true RCC.48MHZClocksFreq_Value=36000000 RCC.AHBFreq_Value=72000000 RCC.APB1CLKDivider=RCC_HCLK_DIV2 @@ -239,6 +264,8 @@ RCC.VCOI2SOutputFreq_Value=192000000 RCC.VCOInputFreq_Value=1000000 RCC.VCOOutputFreq_Value=144000000 RCC.VcooutputI2S=96000000 +SH.ADCx_IN0.0=ADC1_IN0,IN0 +SH.ADCx_IN0.ConfNb=1 TIM2.IPParameters=Prescaler,Period TIM2.Period=600000-1 TIM2.Prescaler=7200-1 diff --git a/App/EEPROM/EEPROM.c b/App/EEPROM/EEPROM.c index c3f148f..81ac57b 100644 --- a/App/EEPROM/EEPROM.c +++ b/App/EEPROM/EEPROM.c @@ -30,5 +30,76 @@ void Inf_AT24C02_ReadBytes(uint8_t innerAddr, uint8_t *bytes, uint8_t len) } +// 清空整个AT24C02 EEPROM (写入0xFF) +void Clear_EEPROM_All(void) +{ + uint16_t addr; // 使用 uint16_t 以防地址超过 255 (虽然AT24C02不会) + uint8_t clear_data = 0xFF; // 定义要写入的值,通常用 0xFF + + // printf("开始清空整个 EEPROM...\r\n"); + + // AT24C02 有 256 个字节地址 (0 到 255) + for(addr = 0; addr < 256; addr++) + { + // 调用你驱动中的单字节写入函数 + Inf_AT24C02_WriteByte((uint8_t)addr, clear_data); + + // 你驱动中的 Inf_AT24C02_WriteByte 已经包含了 HAL_Delay(5), + // 所以这里不需要额外加延时,除非你需要更长的延时。 + + // 可以选择性地加一个进度打印,但会拖慢速度 + // if ((addr + 1) % 32 == 0) { // 每写入32个字节打印一次 + // printf("已清空 %d / 256 字节...\r\n", addr + 1); + // } + } + + // printf("EEPROM 清空完成。\r\n"); +} +void Save_Float_To_EEPROM(uint8_t addr, float data) +{ + uint8_t bytes[4]; // 用于存储浮点数的字节数组 + memcpy(bytes,&data,sizeof(float)); + Inf_AT24C02_WriteBytes(addr,bytes,4); + +} + +float Read_Float_From_EEPROM(uint8_t addr) +{ + uint8_t bytes[4]; + float data; + Inf_AT24C02_ReadBytes(addr,bytes,4); + memcpy(&data,bytes,sizeof(float)); + return data; + +} + + +void Save_Energy_To_EEPROM(float energy) +{ + // 保存能量值 + Save_Float_To_EEPROM(EEPROM_ENERGY_ADDR, energy); // 保存能量值到 EEPROM + + // 保存标志位 + Inf_AT24C02_WriteByte(EEPROM_ENERGY_FLAG, EEPROM_ENERGY_FLAG_VAL); +} + + +float Load_Energy_From_EEPROM(void) +{ + float energy = 0.0f; // 默认值 + uint8_t flag; + flag = Inf_AT24C02_ReadByte(EEPROM_ENERGY_FLAG); // 读取标志位 + + if(flag == EEPROM_ENERGY_FLAG_VAL) + { + energy=Read_Float_From_EEPROM(EEPROM_ENERGY_ADDR); // 读取能量值 + } + else + { + energy=0.0f; // 未找到有效数据,返回默认值 + Save_Energy_To_EEPROM(energy); // 保存默认值到 EEPROM + } + return energy; +} diff --git a/App/EEPROM/EEPROM.h b/App/EEPROM/EEPROM.h index a0d1f55..dbef8e1 100644 --- a/App/EEPROM/EEPROM.h +++ b/App/EEPROM/EEPROM.h @@ -2,13 +2,25 @@ #define EEPROM_H #include "main.h" #include "i2c.h" +#include #define ADDR 0xA0 - +#define EEPROM_ENERGY_ADDR 0x60 // EEPROM 存储电量存储地址 +#define EEPROM_ENERGY_FLAG 0x64 //检验标志地址 +#define EEPROM_ENERGY_FLAG_VAL 0xA5 //检验标志值 void Inf_AT24C02_Init(void); void Inf_AT24C02_WriteByte(uint8_t innerAddr, uint8_t byte); uint8_t Inf_AT24C02_ReadByte(uint8_t innerAddr); void Inf_AT24C02_WriteBytes(uint8_t innerAddr, uint8_t *bytes, uint8_t len); void Inf_AT24C02_ReadBytes(uint8_t innerAddr, uint8_t *bytes, uint8_t len); +void Clear_EEPROM_All(void); +void Save_Float_To_EEPROM(uint8_t addr, float data); + +float Read_Float_From_EEPROM(uint8_t addr); + +void Save_Energy_To_EEPROM(float energy); + +float Load_Energy_From_EEPROM(void); + #endif diff --git a/App/HLW8032/HLW8032.c b/App/HLW8032/HLW8032.c index 6f755bd..cadd98c 100644 --- a/App/HLW8032/HLW8032.c +++ b/App/HLW8032/HLW8032.c @@ -24,15 +24,18 @@ void Apphl8032_Init(void) // 使用HAL库的单字节接收中断 HAL_UART_Receive_IT(&huart4, &aRxBuffer, 1); - - // 初始化变量 - base_energy = 0.0; - analog_status[1] = 0.0; + //从EEPROM读取累计电量 + base_energy = Load_Energy_From_EEPROM(); + analog_status[1] = base_energy; // 初始化为0 + last_minute_energy=0.0f; + current_minute_energy=0.0f; } void Data_Processing(void) { static uint32_t lastProcessTime = 0; + static uint32_t lastSaveTime = 0; + static uint32_t last_saved_energy =0.0f; uint32_t currentTime = HAL_GetTick(); // 至少1秒处理一次 @@ -142,7 +145,11 @@ void Data_Processing(void) { base_energy += minute_increase; analog_status[1] = base_energy; - // printf("Energy Update: %.6f KWH\r\n", base_energy); + if((base_energy - last_saved_energy >= 0.1f)|| (currentTime-lastSaveTime>300000)) + { + Save_Energy_To_EEPROM(base_energy); + last_saved_energy=base_energy; + } } else { diff --git a/App/Irrigation/Irrigation.h b/App/Irrigation/Irrigation.h index 1b8e068..e0a9a75 100644 --- a/App/Irrigation/Irrigation.h +++ b/App/Irrigation/Irrigation.h @@ -10,6 +10,7 @@ #include "tim.h" // 添加定时器头文件 #include "Save_Time.h" #include "EEPROM.h" +#include "Inf_4G.h" /* 类型定义 -----------------------------------------------------------------*/ // 工作模式枚举 diff --git a/App/Ozone/Ozone.c b/App/Ozone/Ozone.c index 87f180c..5593b1b 100644 --- a/App/Ozone/Ozone.c +++ b/App/Ozone/Ozone.c @@ -6,8 +6,33 @@ uint32_t ozone_timer = 0; // uint32_t OZONE_ON_TIME = 1; // 1 uint32_t OZONE_OFF_TIME = 1; // ֹͣ1 +void Save_Ozone_Time_To_EEPROM(uint32_t on_time, uint32_t off_time) // +{ + Save_Float_To_EEPROM(OZONE_ON_TIME_ADDR, (float)on_time); // ʱ + Save_Float_To_EEPROM(OZONE_OFF_TIME_ADDR, (float)off_time); // ֹͣʱ + Inf_AT24C02_WriteByte(OZONE_FLAG_ADDR, OZONE_FLAG_VAL); // ־ +} + +// EEPROMȡʱOZENE_FLAG_ADDR +void Load_Ozone_Time_From_EEPROM(void) +{ + uint8_t flag = Inf_AT24C02_ReadByte(OZONE_FLAG_ADDR); + + if(flag == OZONE_FLAG_VAL) + { + // ȡʱ + OZONE_ON_TIME = (uint32_t)Read_Float_From_EEPROM(OZONE_ON_TIME_ADDR); + OZONE_OFF_TIME = (uint32_t)Read_Float_From_EEPROM(OZONE_OFF_TIME_ADDR); + } + else + { + // EEPROMûЧݣʹĬֵ + Save_Ozone_Time_To_EEPROM(OZONE_ON_TIME, OZONE_OFF_TIME); + } +} void Ozone_Init(void) { + Load_Ozone_Time_From_EEPROM(); ozone_running = 1; // ϵֱ ozone_timer = 0; // ʼʱ Ozone_Control(1); // ʼ״ֱ̬ӿ diff --git a/App/Ozone/Ozone.h b/App/Ozone/Ozone.h index 3798da1..26b1813 100644 --- a/App/Ozone/Ozone.h +++ b/App/Ozone/Ozone.h @@ -3,13 +3,21 @@ #include "main.h" #include "Driver.h" - - +#include "EEPROM.h" +#define OZONE_ON_TIME_ADDR 0x80 // ʱ洢ַ +#define OZONE_OFF_TIME_ADDR 0x84 // ֹͣʱ洢ַ +#define OZONE_FLAG_ADDR 0x88 // ־ַ +#define OZONE_FLAG_VAL 0xA7 //־λֵ // Ʋ extern uint8_t ozone_running; // Ĭϲ extern uint32_t ozone_timer; // ʱ extern uint32_t OZONE_ON_TIME; // 5 extern uint32_t OZONE_OFF_TIME; // ֹͣ25 -void Ozone_Init(void); -void Ozone_Control_Update(void); + + +void Ozone_Init(void); // ʼ +void Ozone_Conteol(uint8_t state); // +void Ozone_Control_Update(void); // +void Save_Ozone_Time_To_EEPROM(uint32_t on_time, uint32_t off_time); // +void Load_Ozone_Time_From_EEPROM(void); // #endif diff --git a/App/SaveTime/Save_Time.c b/App/SaveTime/Save_Time.c index fd6ec69..0f8e2cf 100644 --- a/App/SaveTime/Save_Time.c +++ b/App/SaveTime/Save_Time.c @@ -1,6 +1,5 @@ #include "Save_Time.h" -#include "Save_Time.h" void Time_Save(void) { diff --git a/App/electrode/electrode.c b/App/electrode/electrode.c index 1985342..2dc68fb 100644 --- a/App/electrode/electrode.c +++ b/App/electrode/electrode.c @@ -1,11 +1,15 @@ #include "electrode.h" -// 除磷控制相关变量 -uint8_t phosphorus_running = 0; // 除磷运行状态 +// 除磷控制变量 +uint32_t phosphorus_timer = 0; // 除磷计时器 +uint32_t PHOSPHORUS_RUN_TIME = 20; // 运行20分钟 +uint32_t PHOSPHORUS_STOP_TIME = 40; // 停止40分钟 uint8_t polarity_state = 0; // 极性状态:0-正常,1-反转 -uint32_t phosphorus_timer = 0; // 运行时间计数器(分钟) -uint32_t PHOSPHORUS_RUN_TIME = 20; // 默认运行时间20分钟 -uint32_t PHOSPHORUS_STOP_TIME = 40; // 默认停止时间40分钟 +uint8_t Dephosphorization_state = 0; // 0表示禁用,1表示启用 + + +// 除磷极性控制函数 + // 除磷极性控制函数 void Control_Phosphorus_Polarity(void) @@ -23,69 +27,26 @@ void Control_Phosphorus_Polarity(void) Control_Plate2(1); // 极板2为正极 } } - -// 除磷时间更新函数 -void Phosphorus_Timer_Update(void) +// 除磷控制更新函数 +void Phosphorus_Control_Update(void) { - uint8_t pump_status = Read_WaterPump_Status(); - - // 水泵启动时,启动除磷 - if(pump_status && !phosphorus_running) + // 按20分钟开40分钟关的逻辑运行 + if(phosphorus_timer <= PHOSPHORUS_RUN_TIME) { - phosphorus_running = 1; - phosphorus_timer = 0; - // 切换极性并启动 - polarity_state = !polarity_state; - Control_Phosphorus_Polarity(); + Control_Phosphorus(1); // 开启除磷 + Dephosphorization_state = 1; } - - // 除磷运行计时 - if(phosphorus_running) + else if(phosphorus_timer <= (PHOSPHORUS_RUN_TIME + PHOSPHORUS_STOP_TIME)) { - phosphorus_timer++; - // 判断是否达到运行时间 - if(phosphorus_timer >= PHOSPHORUS_RUN_TIME) - { - Control_Phosphorus(0); // 停止除磷 - phosphorus_running = 0; - phosphorus_timer = 0; - } - } -} - -// 设置运行时间 -void Set_Phosphorus_Runtime(uint32_t minutes) -{ - PHOSPHORUS_RUN_TIME = minutes; - // printf("设置除磷运行时间:%d分钟\n", PHOSPHORUS_RUN_TIME); -} - -// 设置停止时间 -void Set_Phosphorus_StopTime(uint32_t minutes) -{ - PHOSPHORUS_STOP_TIME = minutes; - // printf("设置除磷停止时间:%d分钟\n", PHOSPHORUS_STOP_TIME); -} - -// 定义状态常量,使代码更易读 -#define DEPHOSPHO_ENABLED 1 -#define DEPHOSPHO_DISABLED 0 - -uint8_t Dephosphorization_state = DEPHOSPHO_DISABLED; // 初始化为禁用状态 - -uint8_t electrode_Init(uint8_t state) -{ - if (state) - { - Phosphorus_Timer_Update(); - Dephosphorization_state = DEPHOSPHO_ENABLED; - return DEPHOSPHO_ENABLED; + Control_Phosphorus(0); // 关闭除磷 + Dephosphorization_state = 0; } else { - Control_Phosphorus(0); - Dephosphorization_state = DEPHOSPHO_DISABLED; - return DEPHOSPHO_DISABLED; + phosphorus_timer = 0; // 重置计时器 + polarity_state = !polarity_state; // 切换极性 + Control_Phosphorus_Polarity(); // 更新极性 + Control_Phosphorus(1); // 开始新循环 } } diff --git a/App/electrode/electrode.h b/App/electrode/electrode.h index 9dcbed8..64a29f1 100644 --- a/App/electrode/electrode.h +++ b/App/electrode/electrode.h @@ -9,10 +9,14 @@ extern uint32_t phosphorus_timer; // 运行时间计数器(分钟) extern uint32_t PHOSPHORUS_RUN_TIME; // 运行时间设置 extern uint32_t PHOSPHORUS_STOP_TIME; // 停止时间设置 extern uint8_t Dephosphorization_state; + +extern uint32_t PHOSPHORUS_RUN_TIME; +extern uint32_t PHOSPHORUS_STOP_TIME; void Control_Phosphorus_Polarity(void); -void Phosphorus_Timer_Update(void); -void Set_Phosphorus_Runtime(uint32_t minutes); -void Set_Phosphorus_StopTime(uint32_t minutes); -uint8_t electrode_Init(uint8_t state); + +void Phosphorus_Control_Update(void); + + + #endif diff --git a/App/gungshi/guangshi.c b/App/gungshi/guangshi.c index ae4aff6..acc7f03 100644 --- a/App/gungshi/guangshi.c +++ b/App/gungshi/guangshi.c @@ -1,15 +1,22 @@ +// 定义供电类型 #include "guangshi.h" -uint8_t bizohi=0; +#define POWER_NONE 0 // 无供电 +#define POWER_AC 1 // 市电供电 +#define POWER_SOLAR 2 // 太阳能供电 + +// 市电检测相关变量 +uint8_t bizohi = 0; #define AC_SAMPLE_TIME 100 // 采样时间窗口 -#define AC_CHANGE_THRESHOLD 5 // 最小变化次数阈值 +#define AC_CHANGE_THRESHOLD 5 // 最小变化次数阈值 static uint8_t last_ac_status = 0; static uint8_t change_count = 0; static uint32_t sample_timer = 0; +// 市电检测函数 void Check_Power_Source(void) { - uint8_t current_ac = Read_MainPower(); + uint8_t current_ac = Read_MainPower(); // 读取市电检测端口 // 检测电平变化 if(current_ac != last_ac_status) @@ -39,4 +46,37 @@ void Check_Power_Source(void) } } +// 太阳能检测函数 +uint8_t Check_Solar_Power(void) +{ + // 通过ADC值判断太阳能状态 + // data1[1]是太阳能电压ADC值,data1[2]是市电电压ADC值 + if(data1[1] > data1[2]) + { + return 1; // 太阳能电压足够 + } + return 0; // 太阳能电压不足 +} + +// 获取当前供电类型 +uint8_t Get_Power_Type(void) +{ + // 先检查市电状态 + if(bizohi == 1) // 市电正常 + { + printf("当前使用市电供电\r\n"); + return POWER_AC; + } + // 检查太阳能状态 + else if(Check_Solar_Power()) + { + printf("当前使用太阳能供电\r\n"); + return POWER_SOLAR; + } + else + { + printf("当前无供电\r\n"); + return POWER_NONE; + } +} diff --git a/App/gungshi/guangshi.h b/App/gungshi/guangshi.h index 19d8ff9..ae98f53 100644 --- a/App/gungshi/guangshi.h +++ b/App/gungshi/guangshi.h @@ -4,7 +4,7 @@ #include "Driver.h" extern uint8_t bizohi; void Check_Power_Source(void); - +uint8_t Get_Power_Type(void); #endif diff --git a/App/paini/paini.c b/App/paini/paini.c index ce06b8f..6e1edc7 100644 --- a/App/paini/paini.c +++ b/App/paini/paini.c @@ -11,7 +11,7 @@ void Dredge_Control(void) if(dredge_flag && timer_1min_cnt >= 5) // 排泥5分钟 { - HAL_GPIO_WritePin(GPIOG, GPIO_PIN_4, GPIO_PIN_RESET); // 关闭排泥 + Control_Dredge(0); // 关闭排泥 dredge_flag = 0; timer_1min_cnt = 0; } @@ -19,7 +19,7 @@ void Dredge_Control(void) if(timer_1hour_cnt >= 72) // 72小时到 { timer_1hour_cnt = 0; - HAL_GPIO_WritePin(GPIOG, GPIO_PIN_4, GPIO_PIN_SET); // 开启排泥 + Control_Dredge(1); // 关闭排泥 // 开启排泥 dredge_flag = 1; } } diff --git a/App/paini/paini.h b/App/paini/paini.h index 5445df7..b07b08c 100644 --- a/App/paini/paini.h +++ b/App/paini/paini.h @@ -2,7 +2,7 @@ #define _PAINI_H #include "main.h" - +#include "Driver.h" // 全局变量 extern uint32_t timer_1s_cnt; // 1秒计数器 extern uint32_t timer_1min_cnt; // 1分钟计数器 diff --git a/App/solar_energy/solar_energy.c b/App/solar_energy/solar_energy.c new file mode 100644 index 0000000..0417348 --- /dev/null +++ b/App/solar_energy/solar_energy.c @@ -0,0 +1,2 @@ +#include "solar_energy.h" + diff --git a/App/solar_energy/solar_energy.h b/App/solar_energy/solar_energy.h new file mode 100644 index 0000000..260ee08 --- /dev/null +++ b/App/solar_energy/solar_energy.h @@ -0,0 +1,12 @@ +#ifndef __PAINI_H +#define __PAINI_H +#include "adc.h" +#include "stdio.h" +#include "math.h" +#include "Inf_4G.h" + + + + + +#endif diff --git a/App/wendu/wendu.c b/App/wendu/wendu.c index 65fbb43..65be1fb 100644 --- a/App/wendu/wendu.c +++ b/App/wendu/wendu.c @@ -1,58 +1,76 @@ -#include"wendu.h" +#include "wendu.h" + // 添加温度阈值变量(默认值) float temp_lower_limit = 15.0f; // 默认下限温度15℃ float temp_upper_limit = 20.0f; // 默认上限温度20℃ -uint16_t adc_value = 0; -float voltage = 0.0f, temperature = 0.0f; -// 读取和打印温度的函数 +// 定义常量 #define BALANCE_R 10000.0f // 10K分压电阻 #define NTC_R25 10000.0f // NTC在25℃时的电阻值,假设是10K NTC #define BETA 3950.0f // B值,需要根据您的NTC型号修改 #define KELVIN_OFFSET 273.15f -void Print_Temperature(void) +float voltage = 0.0f, temperature = 0.0f; +void Save_Temp_Limits_To_EEPROM(float lower, float upper) +{ + // 保存温度阈值 + Save_Float_To_EEPROM(TEMP_LOWER_LIMIT_ADDR,lower); + Save_Float_To_EEPROM(TEMP_UPPER_LIMIT_ADDR,upper); + Inf_AT24C02_WriteByte(TEMP_FLAG_ADDR,TEMP_FLAG_VAL); +} +// 从EEPROM加载温度阈值 +void Load_Temp_Limits_From_EEPROM(void) +{ + uint8_t flag = Inf_AT24C02_ReadByte(TEMP_FLAG_ADDR); + if(flag==TEMP_FLAG_VAL) + { + temp_lower_limit = Read_Float_From_EEPROM(TEMP_LOWER_LIMIT_ADDR); + temp_upper_limit = Read_Float_From_EEPROM(TEMP_UPPER_LIMIT_ADDR); + } + else + { + Save_Temp_Limits_To_EEPROM(temp_lower_limit,temp_upper_limit); + } +} +//实现更新函数 + void Update_Temp_Limits(float lower, float upper) + { + temp_lower_limit = lower; // 更新下限 + temp_upper_limit = upper; // 更新上限 + Save_Temp_Limits_To_EEPROM(lower, upper); // 保存到EEPROM + } +void Print_Temperature(uint16_t *data) { const float CALIBRATION_FACTOR = 0.6f; - HAL_ADC_Start(&hadc3); + // 直接使用data[1]作为ADC值(ADC_IN4通道) + uint16_t adc_value = data[0]; - if(HAL_ADC_PollForConversion(&hadc3, 100) == HAL_OK) - { - // 读取ADC值 - adc_value = HAL_ADC_GetValue(&hadc3); - - // 转换为电压值,并应用校准系数 - voltage = (float)adc_value * (3.3f / 4096.0f) * CALIBRATION_FACTOR; - - // 计算NTC电阻值 - // 如果NTC接VCC(上拉)用这个: - float ntc_r = BALANCE_R * voltage / (3.3f - voltage); - - // 如果NTC接地(下拉)用这个: - // float ntc_r = BALANCE_R * (3.3f - voltage) / voltage; - - // 计算温度 - temperature = 1.0f / (log(ntc_r/NTC_R25)/BETA + 1.0f/(25.0f + KELVIN_OFFSET)) - KELVIN_OFFSET; - // 控制加热膜逻辑 - - // 使用可调节的温度阈值进行控制 - if (temperature < temp_lower_limit) { - // 温度低于下限,开启加热 - Control_Heater(1); - //printf("温度%.2f低于%.2f℃,开启加热\n", temperature, temp_lower_limit); - } - else if (temperature > temp_upper_limit) { - // 温度高于上限,关闭加热 - Control_Heater(0); - // printf("温度%.2f高于%.2f℃,关闭加热\n", temperature, temp_upper_limit); - } + // 转换为电压值,并应用校准系数 + voltage = (float)adc_value * (3.3f / 4096.0f) * CALIBRATION_FACTOR; + + // 计算NTC电阻值 + // 如果NTC接VCC(上拉)用这个: + float ntc_r = BALANCE_R * voltage / (3.3f - voltage); + + // 如果NTC接地(下拉)用这个: + // float ntc_r = BALANCE_R * (3.3f - voltage) / voltage; + + // 计算温度 + temperature = 1.0f / (log(ntc_r/NTC_R25)/BETA + 1.0f/(25.0f + KELVIN_OFFSET)) - KELVIN_OFFSET; + // printf("T: %.2f°C\r\n", temperature); + // 控制加热膜逻辑 + // 使用可调节的温度阈值进行控制 + if (temperature < temp_lower_limit) { + // 温度低于下限,开启加热 + Control_Heater(1); + //printf("温度%.2f低于%.2f℃,开启加热\n", temperature, temp_lower_limit); + } + else if (temperature > temp_upper_limit) { + // 温度高于上限,关闭加热 + Control_Heater(0); + //printf("温度%.2f高于%.2f℃,关闭加热\n", temperature, temp_upper_limit); } - - - HAL_ADC_Stop(&hadc3); } - - diff --git a/App/wendu/wendu.h b/App/wendu/wendu.h index e4b51ae..2cbff40 100644 --- a/App/wendu/wendu.h +++ b/App/wendu/wendu.h @@ -6,12 +6,21 @@ #include "math.h" #include "Inf_4G.h" #include "Driver.h" +#include "EEPROM.h" + +#define TEMP_LOWER_LIMIT_ADDR 0x70 // 温度下限存储地址 +#define TEMP_UPPER_LIMIT_ADDR 0x74 // 温度上限存储地址 +#define TEMP_FLAG_ADDR 0x78 // 温度标志地址 +#define TEMP_FLAG_VAL 0xA6 // 温度标志值 + + + extern uint16_t adc_value; extern float voltage, temperature; extern volatile float analog_status[3]; // 添加这行! extern float temp_lower_limit; // 默认下限温度15℃ extern float temp_upper_limit; // 默认上限温度20℃ -void Print_Temperature(void); - +void Print_Temperature(uint16_t *data); +void Load_Temp_Limits_From_EEPROM(void); #endif diff --git a/Core/Inc/adc.h b/Core/Inc/adc.h index 674dd85..34c0965 100644 --- a/Core/Inc/adc.h +++ b/Core/Inc/adc.h @@ -32,12 +32,15 @@ extern "C" { /* USER CODE END Includes */ +extern ADC_HandleTypeDef hadc1; + extern ADC_HandleTypeDef hadc3; /* USER CODE BEGIN Private defines */ /* USER CODE END Private defines */ +void MX_ADC1_Init(void); void MX_ADC3_Init(void); /* USER CODE BEGIN Prototypes */ diff --git a/Core/Inc/main.h b/Core/Inc/main.h index 31dd1f0..d5c9366 100644 --- a/Core/Inc/main.h +++ b/Core/Inc/main.h @@ -57,6 +57,7 @@ extern uint8_t aRxBuffer; extern uint8_t received_control; // 添加一个标志来表示是否收到控制命令 extern uint16_t second_counter; #define SECONDS_PER_MINUTE 60 // 60秒 = 1分钟 +extern uint16_t data1[3]; /* USER CODE END EFP */ /* Private defines -----------------------------------------------------------*/ diff --git a/Core/Src/adc.c b/Core/Src/adc.c index 065c727..7922c2e 100644 --- a/Core/Src/adc.c +++ b/Core/Src/adc.c @@ -24,8 +24,57 @@ /* USER CODE END 0 */ +ADC_HandleTypeDef hadc1; ADC_HandleTypeDef hadc3; +DMA_HandleTypeDef hdma_adc3; +/* ADC1 init function */ +void MX_ADC1_Init(void) +{ + + /* USER CODE BEGIN ADC1_Init 0 */ + + /* USER CODE END ADC1_Init 0 */ + + ADC_ChannelConfTypeDef sConfig = {0}; + + /* USER CODE BEGIN ADC1_Init 1 */ + + /* USER CODE END ADC1_Init 1 */ + + /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) + */ + hadc1.Instance = ADC1; + hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2; + hadc1.Init.Resolution = ADC_RESOLUTION_12B; + hadc1.Init.ScanConvMode = DISABLE; + hadc1.Init.ContinuousConvMode = DISABLE; + hadc1.Init.DiscontinuousConvMode = DISABLE; + hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; + hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START; + hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; + hadc1.Init.NbrOfConversion = 1; + hadc1.Init.DMAContinuousRequests = DISABLE; + hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; + if (HAL_ADC_Init(&hadc1) != HAL_OK) + { + Error_Handler(); + } + + /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time. + */ + sConfig.Channel = ADC_CHANNEL_0; + sConfig.Rank = 1; + sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; + if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) + { + Error_Handler(); + } + /* USER CODE BEGIN ADC1_Init 2 */ + + /* USER CODE END ADC1_Init 2 */ + +} /* ADC3 init function */ void MX_ADC3_Init(void) { @@ -35,7 +84,6 @@ void MX_ADC3_Init(void) /* USER CODE END ADC3_Init 0 */ ADC_ChannelConfTypeDef sConfig = {0}; - ADC_InjectionConfTypeDef sConfigInjected = {0}; /* USER CODE BEGIN ADC3_Init 1 */ @@ -46,14 +94,14 @@ void MX_ADC3_Init(void) hadc3.Instance = ADC3; hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2; hadc3.Init.Resolution = ADC_RESOLUTION_12B; - hadc3.Init.ScanConvMode = DISABLE; - hadc3.Init.ContinuousConvMode = DISABLE; + hadc3.Init.ScanConvMode = ENABLE; + hadc3.Init.ContinuousConvMode = ENABLE; hadc3.Init.DiscontinuousConvMode = DISABLE; hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; hadc3.Init.ExternalTrigConv = ADC_SOFTWARE_START; hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; - hadc3.Init.NbrOfConversion = 1; - hadc3.Init.DMAContinuousRequests = DISABLE; + hadc3.Init.NbrOfConversion = 3; + hadc3.Init.DMAContinuousRequests = ENABLE; hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; if (HAL_ADC_Init(&hadc3) != HAL_OK) { @@ -64,24 +112,26 @@ void MX_ADC3_Init(void) */ sConfig.Channel = ADC_CHANNEL_4; sConfig.Rank = 1; - sConfig.SamplingTime = ADC_SAMPLETIME_144CYCLES; + sConfig.SamplingTime = ADC_SAMPLETIME_480CYCLES; if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) { Error_Handler(); } - /** Configures for the selected ADC injected channel its corresponding rank in the sequencer and its sample time + /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time. */ - sConfigInjected.InjectedChannel = ADC_CHANNEL_4; - sConfigInjected.InjectedRank = 1; - sConfigInjected.InjectedNbrOfConversion = 1; - sConfigInjected.InjectedSamplingTime = ADC_SAMPLETIME_3CYCLES; - sConfigInjected.ExternalTrigInjecConvEdge = ADC_EXTERNALTRIGINJECCONVEDGE_NONE; - sConfigInjected.ExternalTrigInjecConv = ADC_INJECTED_SOFTWARE_START; - sConfigInjected.AutoInjectedConv = DISABLE; - sConfigInjected.InjectedDiscontinuousConvMode = DISABLE; - sConfigInjected.InjectedOffset = 0; - if (HAL_ADCEx_InjectedConfigChannel(&hadc3, &sConfigInjected) != HAL_OK) + sConfig.Channel = ADC_CHANNEL_9; + sConfig.Rank = 2; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) + { + Error_Handler(); + } + + /** Configure for the selected ADC regular channel its corresponding rank in the sequencer and its sample time. + */ + sConfig.Channel = ADC_CHANNEL_14; + sConfig.Rank = 3; + if (HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) { Error_Handler(); } @@ -95,7 +145,28 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle) { GPIO_InitTypeDef GPIO_InitStruct = {0}; - if(adcHandle->Instance==ADC3) + if(adcHandle->Instance==ADC1) + { + /* USER CODE BEGIN ADC1_MspInit 0 */ + + /* USER CODE END ADC1_MspInit 0 */ + /* ADC1 clock enable */ + __HAL_RCC_ADC1_CLK_ENABLE(); + + __HAL_RCC_GPIOA_CLK_ENABLE(); + /**ADC1 GPIO Configuration + PA0-WKUP ------> ADC1_IN0 + */ + GPIO_InitStruct.Pin = GPIO_PIN_0; + GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; + GPIO_InitStruct.Pull = GPIO_NOPULL; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /* USER CODE BEGIN ADC1_MspInit 1 */ + + /* USER CODE END ADC1_MspInit 1 */ + } + else if(adcHandle->Instance==ADC3) { /* USER CODE BEGIN ADC3_MspInit 0 */ @@ -115,6 +186,25 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle) GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); + /* ADC3 DMA Init */ + /* ADC3 Init */ + hdma_adc3.Instance = DMA2_Stream0; + hdma_adc3.Init.Channel = DMA_CHANNEL_2; + hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY; + hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE; + hdma_adc3.Init.MemInc = DMA_MINC_ENABLE; + hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; + hdma_adc3.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; + hdma_adc3.Init.Mode = DMA_CIRCULAR; + hdma_adc3.Init.Priority = DMA_PRIORITY_LOW; + hdma_adc3.Init.FIFOMode = DMA_FIFOMODE_DISABLE; + if (HAL_DMA_Init(&hdma_adc3) != HAL_OK) + { + Error_Handler(); + } + + __HAL_LINKDMA(adcHandle,DMA_Handle,hdma_adc3); + /* USER CODE BEGIN ADC3_MspInit 1 */ /* USER CODE END ADC3_MspInit 1 */ @@ -124,7 +214,24 @@ void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle) void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle) { - if(adcHandle->Instance==ADC3) + if(adcHandle->Instance==ADC1) + { + /* USER CODE BEGIN ADC1_MspDeInit 0 */ + + /* USER CODE END ADC1_MspDeInit 0 */ + /* Peripheral clock disable */ + __HAL_RCC_ADC1_CLK_DISABLE(); + + /**ADC1 GPIO Configuration + PA0-WKUP ------> ADC1_IN0 + */ + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0); + + /* USER CODE BEGIN ADC1_MspDeInit 1 */ + + /* USER CODE END ADC1_MspDeInit 1 */ + } + else if(adcHandle->Instance==ADC3) { /* USER CODE BEGIN ADC3_MspDeInit 0 */ @@ -140,6 +247,8 @@ void HAL_ADC_MspDeInit(ADC_HandleTypeDef* adcHandle) */ HAL_GPIO_DeInit(GPIOF, GPIO_PIN_3|GPIO_PIN_4|GPIO_PIN_6|GPIO_PIN_8); + /* ADC3 DMA DeInit */ + HAL_DMA_DeInit(adcHandle->DMA_Handle); /* USER CODE BEGIN ADC3_MspDeInit 1 */ /* USER CODE END ADC3_MspDeInit 1 */ diff --git a/Core/Src/dma.c b/Core/Src/dma.c index 8d18901..33fb0cb 100644 --- a/Core/Src/dma.c +++ b/Core/Src/dma.c @@ -41,6 +41,7 @@ void MX_DMA_Init(void) /* DMA controller clock enable */ __HAL_RCC_DMA1_CLK_ENABLE(); + __HAL_RCC_DMA2_CLK_ENABLE(); /* DMA interrupt init */ /* DMA1_Stream2_IRQn interrupt configuration */ diff --git a/Core/Src/main.c b/Core/Src/main.c index a4562b4..c043d9a 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -58,16 +58,18 @@ /* Private variables ---------------------------------------------------------*/ /* USER CODE BEGIN PV */ -// 鍒濆鍖栦负0 +// 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫宥夊礋椤掍焦顔囨繝寰锋澘鈧洟宕姘辨殾闁哄被鍎查悡鏇犫偓鍏夊亾闁逞屽墴瀹曟洟骞嬮悩鐢殿槸闂佸搫绋侀崢浠嬫偂濞嗘挻鐓熸俊銈傚亾闁绘锕﹀▎銏ゆ嚑椤掑倻锛滈梺閫炲苯澧柣锝嗙箞瀹曠喖顢楅崒姘闂佽楠哥粻宥夊磿鏉堚晜宕查柟鐑橆殕閸嬧晝鈧娲栧ú銊у婵傚憡鐓冪憸婊堝礈閻旂厧鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘0 uint8_t aRxBuffer; -uint8_t received_control = 0; // 娣诲姞涓€涓爣蹇楁潵琛ㄧず鏄惁鏀跺埌鎺у埗鍛戒护 +uint8_t received_control = 0; // 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧潡鏌熺€电ǹ啸缂佲偓婵犲洦鐓冪憸婊堝礈濮樿泛桅闁告洦鍨伴崡鎶芥煕閳╁喚娈旀い蹇d邯閺屾稑鈻庤箛鏇狀啋闂佸搫鐭夌紞渚€鐛崶顒夋晢濠㈣泛锕ラ宥夋⒒娴e摜锛嶇紒顕呭灠铻為柛鎰靛枛閽冪喓鈧箍鍎遍悧婊冾瀶閵娾晜鈷戦柛娑橈攻鐏忕増鎱ㄥΟ绋垮闁告帗甯掗埢搴ㄥ箛椤掑倻鐛梻浣筋潐濠㈡﹢鎮樺璺虹柧婵犲﹤鐗婇埛鎴︽煕濞戞﹫姊楃紒鍫曚憾閺屾盯濡搁妶鍛ギ闂佽鍠楅敃銏ゅ蓟閸℃鍚嬮柛鈾€鏅滈ˉ濠冧繆閻愵亜鈧牠宕濋幋锕€鍨傞柣鎴灻欢鐐烘煕閺囥劌鍘靛ù婊勭矒閺屾洘绻涢崹顔煎濡炪們鍎茬划宥夊Φ閸曨垼鏁囬柣鎰綑閺嬬娀姊虹拠鈥虫灆缂侇喗鐟ラ悾鐤亹閹烘繃鏅濆銈庡亽閸橀箖鏌﹂悽鍛娾拻闁稿本鐟х粣鏃€绻涙担鍐叉濞咃絽鈹戦悙鑸靛涧缂傚秳绶氳棢闁圭偓鐣禒姘舵煙閹澘袚闁抽攱甯掗湁闁挎繂鎳忛崯鐐烘煙椤栨氨澧﹂柟顔筋殔椤繈宕¢悙鎻掔闁诲氦顫夊ú婵嬶綖婢跺备鍋撻棃娑栧仮鐎殿喖鐖奸獮瀣偐閸偅鐦炲┑鐘垫暩閸嬬偤骞愭繝姘槬闁告劦鍠栫壕濠氭煙閹呬邯闁稿鎸搁埢鎾诲垂椤旂晫浜栭梻浣告啞閺屻劑鏌婇敐澶屽祦闁硅揪绠戠粈瀣亜閺嶃劎鐓紒鍗炵埣濮婃椽宕ㄦ繝鍐槱闂佸憡枪閸嬫劙寮鈧獮妯肩磼濡攱瀚藉┑鐐舵彧缁茶偐鎷冮敃鍌氱哗濞寸厧鐡ㄩ悡鐔搞亜閹捐泛浠﹂柛鐘愁焽閳ь剝顫夊ú姗€鏁冮姀鈥茬箚婵繂鐭堝Σ璇参旈悩闈涗汗闁稿鎹囧濠氬磼濮橆兘鍋撴搴g焼濞撴埃鍋撴鐐差樀閺佸秹宕熼鐘靛幆闂備礁婀遍崕銈夈€冮崨鏉戝瀭闁稿本绋撶弧鈧梻鍌氱墛娓氭宕曡箛鏇犵<闁绘瑢鍋撻柛锝忕秮瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷 volatile uint8_t mode_control_flag = 0; -#define READ_CONTROL_INTERVAL 100 // 鎺ユ敹鎺у埗鍛戒护鐨勯棿锟�?(ms) -#define DATA_UPLOAD_INTERVAL 10000 // 鏁版嵁涓婁紶鐨勯棿锟�?(ms) -#define CONTROL_PRIORITY_DELAY 500 // 鎺у埗鍛戒护澶勭悊鍚庡欢杩熶笂浼犵殑鏃堕棿(ms) +#define READ_CONTROL_INTERVAL 100 // 闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊椤掑﹦绋忔繝銏f硾椤戝洭銆呴幓鎹楀綊鎮╁顔煎壈缂佺偓鍎冲锟犲蓟閿涘嫪娌悹鍥ㄥ絻婵酣姊洪崫鍕靛剮闁煎啿鐖奸獮澶愬箹娴g懓浜遍梺鍓插亝缁诲嫰鎮烽妸褏纾藉ù锝呮惈瀛濈紒鍓ц檸閸欏啴鐛径宀€鐭欐繛鍡樺劤閹垶绻濋姀锝嗙【闁挎洏鍎卞嵄妞ゆ巻鍋撻柍瑙勫灦楠炲﹪鏌涙繝鍐╃妤犵偛锕ラ幆鏃堝煡閸℃娅婃繝鐢靛█濞佳囶敄閸℃稒鍋傛繛鍡樻尰閸婂灚绻涢幋鐑嗕痪妞ゅ繐妫涚粻鏃€鎱ㄥ鍡楀幋闁衡偓閼恒儯浜滈柡鍌涘閹牓鏌h箛鏃傚弨闁哄备鈧磭鏆嗛悗锝庡墰琚﹀┑鐘殿暯閸撴繈骞冮崒娑楃箚闁绘垼妫勫敮濡炪倖妫佸畷鐢靛閹€鏀介柣妯活問閺嗩垱淇婇幓鎺撳殗鐎规洘鍨垮畷鐔碱敃椤愩倕濮洪梻浣芥硶閸犳挻鎱ㄩ幘顔煎嚑濞撴埃鍋撻柡宀€鍠栧畷婊嗩槾閻㈩垱鐩弻锟犲川椤旇棄鈧劙鏌$仦璇插闁诡喓鍊濆畷鎺戔槈濮楀棔绱�?(ms) +#define DATA_UPLOAD_INTERVAL 10000 // 闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊瑜滃ù鏍煏婵炵偓娅嗛柛銈呭閺屻倗绮欑捄銊ょ驳濠电偛鎳愭慨鍨┍婵犲洤围闁稿本鐭竟鏇㈡⒒娴i涓茬紒韫矙閹ê顫濈捄铏诡唵闂佸憡绋掑娆撳箲閼哥偣浜滈柟鎯ь嚟閳洟鏌h箛鎾虫殭闁宠鍨块幃鈺呭垂椤愶絾鐦庡┑鐘愁問閸犳绻涙繝鍥х疇婵°倕鎳庨柋鍥煛閸モ晛鏋庨柍褜鍓欓崲鏌ュ煘閹达附鍋愰柛娆忣槸椤︹晠姊虹紒妯诲暗闁哥姵鐗犲濠氬即閻旇櫣顔曢梺鍓茬厛閸犳牗鎱ㄦ惔鈽嗘富闁靛牆鎳忕粋瀣煕濡灝袚缂佸矁椴哥换婵嬪炊閼稿灚娅囬梻渚€娼х换鍡涘焵椤掆偓閸樻牕菐椤曗偓濮婄粯鎷呴懞銉b偓鍐煟閹虹偟鐣垫鐐村灴瀹曞爼顢楅埀顒勫几娓氣偓閺岀喖宕滆鐢盯鏌¢崨顔藉€愰柡灞诲姂閹倝宕掑☉姗嗕紦?(ms) +#define CONTROL_PRIORITY_DELAY 500 // 闂傚倸鍊搁崐鎼佸磹閻戣姤鍤勯柛顐f磸閳ь兛鐒︾换婵嬪炊閵娿儱澹掗梻浣规偠閸庢椽宕滃▎鎴犵焼闁告劦鍠楅悡蹇撯攽閻愭垵鍟弳娆戠磼閻樺啿鐏存慨濠傤煼瀹曟帒鈻庨幋顓熜滈梻浣侯攰椤曟粎妲愰弴鐘插灊婵炲棙鎸哥粻铏繆閵堝倸浜鹃梺鎼炲妼閸婂湱鎹㈠┑瀣棃婵炴垵宕崜鎵磽娴e搫顎岄柛锝忕秮瀵寮撮姀鐘诲敹濠电娀娼уù鍌毼涢悙鐢电=濞达絿枪椤f娊鏌涚€c劌鈧繂顕g拠娴嬫闁靛繒濮村畵鍡涙⒑闂堟胆褰掑磿鏉堚晝涓嶆繛宸簼閳锋垹绱掔€n亜鐨¢柛鏃傚枛閺屾稓鈧絻鍔岄埀顒佺箓椤曪絿鎷犲ù瀣潔濠殿喗顨呭Λ娆撳磽闂堟侗娓婚柕鍫濇缁楁帡鎮楀鍗炲幋闁糕斁鍋撳銈嗗笂缁垛€斥枔閺囩姷纾肩紓浣诡焽濞插鈧娲熸禍鍫曠嵁閸ヮ剦鏁嗛柛灞剧懅濡垰鈹戦悩鍨毄闁稿鍠栧畷銏n樄闁炽儻绠撻幃婊堟寠婢跺瞼鏆梻渚€娼х换鍫ュ磹閺囩姷鐭嗛柛顐g贩瑜版帗鏅查柛銉戝啫顬嗛梻浣告憸閸犳劕顭垮鈧崺鐐哄箣閿旇棄鈧攱绻涢崼鐔奉嚋妞ゃ儲鎹囧铏圭矙濞嗘儳鍓遍梺鍛婃⒐閻楃娀鐛崼銉ノ╅柕澹嫭鐤傞梻渚€鈧稓绁锋繛鍛礋閹ɑ绗熼埀顒€顫忛搹瑙勫厹闁告侗鍠栧☉褏绱撴担鍝勑i柛銊ョ秺閹噣骞嗚閸氬顭跨捄渚剳闁告ê宕—鍐Χ閸℃衼缂備焦褰冩晶鐣屽垝閸儱绀冩い鏃傛櫕閸欏棗鈹戦悙鏉戠伇婵炲懏娲滈埀顒佺啲閹凤拷(ms) +uint16_t data1[3]={0}; +#define SECONDS_PER_MINUTE 60 // 60闂傚倸鍊搁崐鎼佸磹瀹勬噴褰掑炊瑜夐弸鏍煛閸ャ儱鐏╅梻鍌ゅ灦閺屻劑寮撮悙娴嬪亾閸濄儳涓嶆い鏍仦閻撱儵鏌i弴鐐测偓鍦偓姘炬嫹? = 1闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫宥夊礋椤掍焦顔囬梻浣告贡閸庛倝宕甸敃鈧埥澶娢熼柨瀣澑闂佽鍑界紞鍡樼閻愪警鏁婇柛銉墯閳锋垿鎮归幁鎺戝婵炲懏鍔欓弻鐔煎礄閵堝棗顏� -#define SECONDS_PER_MINUTE 60 // 60锟�? = 1鍒嗛挓 +static uint8_t second_count = 0; /* USER CODE END PV */ /* Private function prototypes -----------------------------------------------*/ @@ -78,7 +80,11 @@ void SystemClock_Config(void); /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ - + // void App_Init(void) + // { + // // 初始化I2C + // // Inf_AT24C02_Init(); + // } /* USER CODE END 0 */ /** @@ -120,6 +126,7 @@ int main(void) MX_UART4_Init(); MX_I2C2_Init(); MX_TIM3_Init(); + MX_ADC1_Init(); /* USER CODE BEGIN 2 */ timer_1s_cnt = 0; @@ -131,7 +138,9 @@ int main(void) Apphl8032_Init(); - + + + HAL_ADC_Start_DMA(&hadc3, (uint32_t*)data1, 3); /* USER CODE END 2 */ /* Infinite loop */ @@ -144,11 +153,11 @@ int main(void) Device_Init(); - + // Clear_EEPROM_All(); Ozone_Init(); printf("Initializing ozone control...\n"); - Ozone_Init(); + //Inf_AT24C02_Init(); ozone_running = 0; ozone_timer = 0; @@ -161,18 +170,23 @@ int main(void) HAL_TIM_Base_Start_IT(&htim7); HAL_TIM_Base_Start_IT(&htim2); HAL_TIM_Base_Start_IT(&htim3); - + Load_Temp_Limits_From_EEPROM(); while (1) { - - + // printf("ADC: %d, %d, %d\r\n", data1[0], data1[1], data1[2]); + // Control_Fan2(1); + // Print_Temperature(data1); // 闂備礁鎲¢崹鍏兼叏閵堝姹查柣鏃傚帶缁€鍐煕濞戞瑦缍戦柛鏂诲劚闇夐柛蹇氬亹閻擃垰鈹戦悙鍙夊枠闁诡喕绮欓崺鈥斥炕濠曟房data[1] Inf_EC800_ReadData(); - + // Direct_Mode_Control(); Check_4G_Connection(); - + if (need_upload) + { + Upload_Device_Data(); + need_upload = 0; // 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌i幇顒佹儓缂佺姳鍗抽弻鐔兼⒒鐎靛壊妲紓浣哄Х婵灚绌辨繝鍥舵晬婵犻潧瀚ч崑鎾诲焵椤掑嫭鐓涢悗锝庝簽鏁堝Δ鐘靛仦閻楁洝褰佸銈嗗坊閸嬫捇鏌h箛锝呮珝闁哄苯绉剁槐鎺懳熼懡銈呭汲闂備礁鐤囬~澶愬垂閸ф绠栭柍鍝勫€圭紞鍥ㄣ亜閹扳晛鐏╅悽顖e灦濮婄粯鎷呴搹鐟扮闂佸憡姊瑰ú鐔煎极閸愵噮鏁傞柛顐g箚閹芥洟姊洪悙钘夊姕闁告挻宀稿畷銉р偓锝庡枟閻撴洘绻涢幋婵嗚埞闁哄鍠栭弻鐔碱敊閻e本鍣紓浣介哺閹稿骞忛崨顕呮Ч閹煎瓨绻嗛々顐︽⒒娴g儤鍤€闁搞倖鐗犻獮蹇涙晸閿燂拷 + } switch(current_mode) { case MODE_DIRECT: Direct_Mode_Control(); @@ -187,22 +201,17 @@ int main(void) Special_Mode_Control(); break; default: - // // ??????????????? current_mode = MODE_DIRECT; break; } - - if (need_upload) - { - Upload_Device_Data(); - need_upload = 0; // 娓呴櫎涓婁紶鏍囧織 - } + // printf("ADC闂備胶枪楗敻骞忛敓锟�: %d, %d, %d\r\n", data[0], data[1], data[2]); + - // if(UART4_RX_STA & 0x8000) - // { - // Data_Processing(); - // } + if(UART4_RX_STA & 0x8000) + { + Data_Processing(); + } @@ -276,65 +285,61 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) static uint16_t upload_counter = 0; upload_counter++; - if (upload_counter >= 5000) // 5绉掑埌锟�?(1ms * 2000 = 2s) + if (upload_counter >= 5000) // 5缂傚倸鍊搁崐鎼佸磹閹间礁纾瑰瀣捣閻棗銆掑锝呬壕闁芥ɑ绻堥弻鐔封枔閸喗鐏嶉梺鍝勬缁捇寮婚悢鍏煎€绘慨妤€妫欓悾鍫曟⒑閸濆嫬顏ラ柛搴㈠▕閸┾偓妞ゆ巻鍋撻柛妯荤矒瀹曟垿骞樼紒妯煎幈闂佸搫娲㈤崝灞炬櫠椤栨稓绠鹃柛娑卞亜閻忓弶鎱ㄦ繝鍛仩闁圭懓瀚版俊鎼佸Ψ閿旀儳缍掗梻鍌欒兌閹虫捇宕甸弽顓炵闁跨噦鎷�?(1ms * 2000 = 2s) { - upload_counter = 0; // 娓呴浂璁℃暟锟�? - need_upload = 1; // 璁剧疆涓婁紶鏍囧織 + upload_counter = 0; // 婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾惧鏌i幇顒佹儓缂佺姳鍗抽弻鐔兼⒒鐎靛壊妲紓浣哄Х婵灚绌辨繝鍥舵晬婵ǜ鍎辨禒娲偡濠婂懎顣奸悽顖涘笧婢规洟宕楅懖鈺冪槇婵犵數濮撮崐鎼侇敂閳哄倶浜滈幖娣灮濞插瓨鎱ㄦ繝鍐┿仢鐎殿噮鍓熸俊鐑芥晜閻e苯绲介梻鍌欑閹芥粓宕抽妷鈺佸瀭濞村吋娼欓悡婵嬫煙閹规劦鍤欓梺鍗炴喘閺岋繝宕堕埡浣圭亖闂佸憡鐟ュΛ婵嗩潖閾忓湱纾兼俊顖濆吹椤︺儵姊虹粙鍖″伐婵犫偓闁秴鐒垫い鎺嶈兌閸熸煡鏌熼崙銈嗗? + need_upload = 1; // 闂傚倸鍊搁崐宄懊归崶褏鏆﹂柛顭戝亝閸欏繒鈧娲栧ú銊╂儗閸℃褰掓晲閸偅缍堝┑鐐叉噽婵挳婀侀梺缁樏Ο濠囧磿閹扮増鐓曢悗锝呭悁闁垶鏌$仦鍓ф创闁糕晛瀚板畷姗€宕滆婵椽姊绘担鍝ワ紞缂侇噮鍨跺濠氬Ω閳轰胶鍘撮梺纭呮彧闂勫嫰宕戦幇鏉跨骇闁割偒鍋勬禍婊堟煕濮楀牏绡€婵﹨娅g槐鎺懳熼崫鍕垫綋闂備焦瀵уú锔界椤忓嫷鍤曞┑鐘宠壘閻忔娊鏌熸0浣侯槮闁诡喗鍨垮娲川婵犱胶绻侀梺鍝ュУ椤ㄥ﹪鐛崘銊㈡瀻闁瑰濮烽敍婵囩箾鏉堝墽绉い銉︽尰缁嬪寮婚妷锔惧幍闂佸憡鍨崐鏍偓姘炬嫹 } // Check_Flow(); } else if (htim->Instance == TIM2) { - - - - - // pump_timer++; - // fan_timer++; + pump_timer++; + fan_timer++; - // if (current_mode == MODE_SPECIAL) - // { - - // special_phase_timer++; - // special_cycle_timer++; - // } - // ??????? - static uint32_t interrupt_count = 0; - - // ????????????????? - if(time_just_modified) + if (current_mode == MODE_SPECIAL) { - interrupt_count++; - if(interrupt_count >= 60) { // ???????? - pump_timer = 0; - time_just_modified = 0; - interrupt_count = 0; - printf("??????????????\n"); - } - return; // ???????????? + + special_phase_timer++; + special_cycle_timer++; } + // ??????? + //static uint32_t interrupt_count = 0; + + //????????????????? + // if(time_just_modified) + // { + // interrupt_count++; + // if(interrupt_count >= 60) { // ???????? + // pump_timer = 0; + // time_just_modified = 0; + // interrupt_count = 0; + // // printf("??????????????\n"); + // } + // return; // ???????????? + // } // ????????? - if(!timer_pause) - { // ?????????? - pump_timer++; - fan_timer++; - if (current_mode == MODE_SPECIAL) - { - special_phase_timer++; - special_cycle_timer++; - } - } + // if(!timer_pause) + // { // ?????????? + // pump_timer++; + // fan_timer++; + // if (current_mode == MODE_SPECIAL) + // { + // special_phase_timer++; + // special_cycle_timer++; + // } + // } - Ozone_Control_Update(); + } else if (htim->Instance == TIM7) { - // 鐭殏寤舵椂纭繚娓╁害鏇存柊瀹屾垚 - // Inf_EC800_PublishDeviceStatus(); // 鍐嶅彂閫佺姸锟�? + // 闂傚倸鍊搁崐鎼佸磹閻戣姤鍊块柨鏇楀亾妞ゎ亜鍟村畷绋课旈埀顒勬儗濡ゅ懎绠规繛锝庡墮婵″ジ鏌涚仦璇插闁哄矉绠戣灒濞撴凹鍨卞瓭闂備礁鎼鍡椢涢崘顔藉亗妞ゆ劧绠戦悙濠囨煏婵犲繘妾柛搴¢叄濮婃椽骞栭悙娴嬪亾閺囥垺鍋嬮柟鎹愵嚙閽冪喖鏌曢崼婵囧窛闁活厽鐟╅幃褰掑箒閹烘垵顬嗙紓渚囧櫍濞佳団€旈崘顔嘉︽い鏍ㄧ懅椤︼箓鏌熼搹顐㈠閾荤偞銇勯弽銊р棨濞存粍绮撻弻鐔兼倷椤掑鐣堕梺鍝ュ櫏閸ㄥ爼骞冨鈧畷鍗炩枎閹寸媴绱冲┑鐐舵彧缂嶁偓婵炲拑绲块弫顔尖槈閵忥紕鍘鹃悷婊呭鐢偤鎮鹃崫鍕ㄦ斀闁斥晛鍟亸锔筋殽閻愭潙绗掗摶鏍煃瑜滈崜鐔煎箖閳ユ枼妲堟俊顖氱箰缂嶅﹪寮幇鏉垮窛妞ゆ挆鍕垫闂傚倷绀侀幗婊堝磻閻愬樊娓婚柦妯侯樈濞兼牗绻涘顔荤盎濞磋偐濞€閺屾盯寮撮妸銉ヮ潽闂佽鍠楅悷鈺侇潖閾忓厜鍋撻惂鎼佹婵犮垺蓱閹便劑宕掑┃鎯т壕婵炲牆鐏濋弸銈囩磼椤曞懎鐏i柟骞垮灩閳规垹鈧綆浜為ˇ浼存⒑闂堟胆褰掑磿閻楀牏鐝堕柡鍥ュ灪閳锋垿鏌ゆ慨鎰偓鏇㈠几閺傛鐔嗙憸搴ㄣ€冮崨瀛樻櫇闁靛繆鈧剚鍤ら柣搴㈢⊕椤洭宕㈤崡鐑嗘富闁靛牆楠搁獮妤呮偨椤栨侗娈橀柍褜鍓氶悢顒勫箯閿燂拷 + // Inf_EC800_PublishDeviceStatus(); // 闂傚倸鍊搁崐鎼佸磹妞嬪海鐭嗗〒姘e亾妤犵偛顦甸弫鎾绘偐閼碱剦妲烽梻浣告惈濞层劍鎱ㄩ悜鑺ュ剹闁规儳澧庡Λ顖炴煙椤栧棗鑻崜顓熺箾鐎涙鐭婄紓宥咃躬瀵鈽夊Ο鍏兼畷闂侀€炲苯澧寸€规洘鍨块幃娆撴倻濡 鍋撻崸妤佸仯闁搞儺浜跺璺ㄦ喐閻楀牆绗氶柡鍛叀閺屾稑鈽夐崡鐐寸亶闂佺ǹ瀛╅幐鍓ф閹烘嚦鏃€鎷呴崫銉ょ礉婵犳鍠栭敃銊モ枍閿濆绠查柛鏇ㄥ灠鎯熼梺闈涱檧婵″洩銇愬鑸碘拻濞达絿鍎ら崵鈧梺鎼炲€栭悧鐘荤嵁韫囨稒鏅搁柨鐕傛嫹? if (++timer_1s_cnt >= 60) { timer_1s_cnt = 0; @@ -342,13 +347,26 @@ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { timer_1min_cnt = 0; timer_1hour_cnt++; + } Dredge_Control(); } } else if (htim->Instance == TIM3) { + second_count++; + if(second_count >= 60) // 缂備線纭搁崹鐢割敇閹间礁绀嗛柨鐕傛嫹60缂備礁顧€閹凤拷 + { + // 闁哄鏅滈悷鈺呭闯閻戣棄缁╅柟顖嗗啯鏋鹃梺鍝勵槶閸庢煡鎯侀敍鍕煋闁圭儤鎸搁埛鏃堟偠濞戞鐏辨繛鍫熷灦缁傛帡鏁愰崶鈺佺仯 + // ... 闂佸憡顭囬崰鎰耿娴e湱顩烽柨婵嗘川閸拷 ... + Ozone_Control_Update(); + phosphorus_timer++; // 闂勩倗锛楃拋鈩冩閸c劌濮�1 + Phosphorus_Control_Update(); // 閺囧瓨鏌婇梽銈囷紬閹貉冨煑閻樿埖鈧拷 + // 闂備焦褰冪粔鍫曟偪閸℃瑦濯奸柍鈺佸暞濞堝爼鏌涢敐蹇斿 + second_count = 0; + + } } } diff --git a/Core/Src/usart.c b/Core/Src/usart.c index 4d02b4c..57bc6a2 100644 --- a/Core/Src/usart.c +++ b/Core/Src/usart.c @@ -129,17 +129,25 @@ void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle) __HAL_RCC_UART4_CLK_ENABLE(); __HAL_RCC_GPIOA_CLK_ENABLE(); + __HAL_RCC_GPIOC_CLK_ENABLE(); /**UART4 GPIO Configuration - PA0-WKUP ------> UART4_TX PA1 ------> UART4_RX + PC10 ------> UART4_TX */ - GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1; + GPIO_InitStruct.Pin = GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; GPIO_InitStruct.Alternate = GPIO_AF8_UART4; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + GPIO_InitStruct.Pin = GPIO_PIN_10; + GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; + GPIO_InitStruct.Alternate = GPIO_AF8_UART4; + HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); + /* UART4 DMA Init */ /* UART4_RX Init */ hdma_uart4_rx.Instance = DMA1_Stream2; @@ -231,10 +239,12 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) __HAL_RCC_UART4_CLK_DISABLE(); /**UART4 GPIO Configuration - PA0-WKUP ------> UART4_TX PA1 ------> UART4_RX + PC10 ------> UART4_TX */ - HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1); + HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1); + + HAL_GPIO_DeInit(GPIOC, GPIO_PIN_10); /* UART4 DMA DeInit */ HAL_DMA_DeInit(uartHandle->hdmarx); diff --git a/Driver/Driver.c b/Driver/Driver.c index 62c527a..94b9bfc 100644 --- a/Driver/Driver.c +++ b/Driver/Driver.c @@ -1,5 +1,5 @@ #include "Driver.h" -uint8_t device_status[13] = {0}; // ʼ״̬Ϊ0 +uint8_t device_status[13] = {0}; // ʼ״̬Ϊ0 static uint8_t led1_status = 0; // LED1 ״̬־λ0 ʾ1 ʾ uint8_t biaozhi=0; @@ -10,7 +10,7 @@ uint8_t pump_running = 0; // ˮ uint32_t last_upload_time = 0; // ϴϴʱ uint32_t flow_to_upload = 0; // Ҫϴֵ uint8_t flow_need_upload = 0; // ϴ־λ - +uint8_t biaozhi111 =0; //״̬ϴ Device_Fault_t device_fault = {0}; // ʼ״̬ void LED1_Control(uint8_t state) @@ -116,19 +116,39 @@ void Control_Phosphorus(uint8_t state) { if(state) { - // ͬʱ - Control_Plate1(1); - Control_Plate2(1); - + // ֻһ + if(polarity_state) + { + Control_Plate1(1); // 1ͨ + Control_Plate2(0); // 2ϵ + } + else + { + Control_Plate1(0); // 1ϵ + Control_Plate2(1); // 2ͨ + } } else { - // ͬʱر + // رм Control_Plate1(0); Control_Plate2(0); } - - +} +void Control_Dredge(uint8_t state) +{ + if(state) // + { + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_4, GPIO_PIN_SET); + + // printf(" - GPIOG_PIN2Ϊߵƽ\r\n"); + } + else // ֹͣ + { + HAL_GPIO_WritePin(GPIOG, GPIO_PIN_4, GPIO_PIN_RESET); // ر + + // printf("ֹͣ - GPIOG_PIN2Ϊ͵ƽ\r\n"); + } } // ȡ״̬һм1 uint8_t Read_Phosphorus_Status(void) @@ -193,13 +213,14 @@ void Control_All_Devices(CmdState_t cmd) // ǿƹرձ־豸 force_pump_off = 0; force_fan_off = 0; - + biaozhi111=1; // ǿлģʽֵǰģʽ // ҪлģʽӦͨʵ } else if (cmd == CMD_OFF) // ػ { // 浱ǰģʽ + biaozhi111=0; WorkMode current_mode_backup = current_mode; // ر @@ -229,7 +250,7 @@ void Update_All_Status(void) device_status[8] = Read_MainPower(); // е״̬ device_status[9] = Read_Phosphorus_Status(); //״̬ device_status[10] =Read_Dredge_Status(); //״̬ - // device_status[11] = flow_to_upload; + device_status[11] = biaozhi111; //ϴ״̬ } // ˮùϼ⺯ @@ -311,3 +332,5 @@ void Check_Fan2_Fault(void) } + + diff --git a/Driver/Driver.h b/Driver/Driver.h index f6e34dd..4fe60b3 100644 --- a/Driver/Driver.h +++ b/Driver/Driver.h @@ -44,6 +44,8 @@ uint8_t Read_MainPower(void); void Check_Fan1_Fault(void); void Check_Fan2_Fault(void); +void Control_Dredge(uint8_t state); + void Control_All_Devices(uint8_t cmd); #endif diff --git a/Inf/Inf_4G.c b/Inf/Inf_4G.c index d47a8cd..f6b9bf5 100644 --- a/Inf/Inf_4G.c +++ b/Inf/Inf_4G.c @@ -14,19 +14,23 @@ typedef enum uint8_t force_fan_off = 0; // ǿƹرձ־ AT_State_t at_state = AT_IDLE; uint32_t at_start_time = 0; + +char sim_iccid[ICCID_LENGTH] = {0}; // ʼICCID + // uint8_t rxBuff[RX_BUFFER_SIZE]; /* һжϽյ */ uint16_t rxDataSize; /* һжϽ */ uint8_t responseBuff[RESPONSE_BUFFER_SIZE]; /* һжϽյ */ uint16_t responseDataSize; /* һжϽ */ void Publish_Power_Data(void); + volatile uint8_t need_upload = 0; void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t size) { if (huart->Instance == USART2) { rxDataSize = size; - HAL_UARTEx_ReceiveToIdle_IT(&huart2, rxBuff, 128); + HAL_UARTEx_ReceiveToIdle_IT(&huart2, rxBuff, 1024); } } @@ -39,6 +43,9 @@ void Inf_4G_Init(void) Inf_4G_SendAtCmd("AT+CFUN=1\r\n"); HAL_Delay(2000); Inf_4G_SendAtCmd("AT\r\n"); + + // ȡICCID + Get_ICCID(); // ȡʼźǿ Get_Signal_Strength(); } @@ -154,11 +161,11 @@ void Inf_EC800_ReadData(void) switch (current_mode) { case MODE_IRRIGATION: - HIGH_LEVEL_PUMP_ON_TIME = value; + HIGH_LEVEL_PUMP_ON_TIME = (uint32_t)value; break; case MODE_FLUSH: - FLUSH_HIGH_PUMP_ON_TIME = value; + FLUSH_HIGH_PUMP_ON_TIME = (uint32_t)value; break; case MODE_DIRECT: @@ -175,7 +182,7 @@ void Inf_EC800_ReadData(void) // 4. ȫмʱ pump_timer = 0; fan_timer = 0; - // timer_count = 0; // ܵļʱҲҪ + // timer_count = 0; // ܵļʱҲҪ // 5. ʱֵ __HAL_TIM_SET_COUNTER(&htim2, 0); @@ -188,6 +195,8 @@ void Inf_EC800_ReadData(void) // ޸ˮֹͣʱ else if (sscanf(jsonStr, "{\"X25\":%d}", &value) == 1) { + // 1. ֹͣʱж + HAL_TIM_Base_Stop_IT(&htim2); // ʹõTIM2ʵ޸ switch (current_mode) { case MODE_IRRIGATION: @@ -226,6 +235,8 @@ void Inf_EC800_ReadData(void) } else if (sscanf(jsonStr, "{\"X54\":%d}", &value) == 1) { + // 1. ֹͣʱж + HAL_TIM_Base_Stop_IT(&htim2); // ʹõTIM2ʵ޸ switch (current_mode) { case MODE_IRRIGATION: @@ -284,7 +295,7 @@ void Inf_EC800_ReadData(void) // 4. ȫмʱ pump_timer = 0; fan_timer = 0; - // timer_count = 0; // ܵļʱҲҪ + // timer_count = 0; // ܵļʱҲҪ // 5. ʱֵ __HAL_TIM_SET_COUNTER(&htim2, 0); @@ -297,6 +308,8 @@ void Inf_EC800_ReadData(void) // ޸ĵҺλʱ else if (sscanf(jsonStr, "{\"X56\":%d}", &value) == 1) { + // 1. ֹͣʱж + HAL_TIM_Base_Stop_IT(&htim2); // ʹõTIM2ʵ޸ switch (current_mode) { case MODE_IRRIGATION: @@ -313,13 +326,13 @@ void Inf_EC800_ReadData(void) } Time_Save(); // ޸ĺʱ // 3. ر豸 - Control_WaterPump(0); + Control_WaterPump(0); Control_Fan1(0); Control_Fan2(0); // 4. ȫмʱ pump_timer = 0; - fan_timer = 0; + fan_timer = 0; // timer_count = 0; // ܵļʱҲҪ // 5. ʱֵ @@ -332,6 +345,8 @@ void Inf_EC800_ReadData(void) // ޸ĵҺλֹͣʱ else if (sscanf(jsonStr, "{\"X57\":%d}", &value) == 1) { + // 1. ֹͣʱж + HAL_TIM_Base_Stop_IT(&htim2); // ʹõTIM2ʵ޸ switch (current_mode) { case MODE_IRRIGATION: @@ -386,6 +401,7 @@ void Inf_EC800_ReadData(void) { OZONE_ON_TIME = value; ozone_timer = 0; // üʱ + Save_Ozone_Time_To_EEPROM(OZONE_ON_TIME, OZONE_OFF_TIME); // printf("óʱ: %d\n", value); } // رʱ @@ -393,6 +409,7 @@ void Inf_EC800_ReadData(void) { OZONE_OFF_TIME = value; ozone_timer = 0; // üʱ + Save_Ozone_Time_To_EEPROM(OZONE_ON_TIME, OZONE_OFF_TIME); // 浽EEPROM // printf("óرʱ: %d\n", value); } @@ -489,29 +506,42 @@ void Inf_EC800_ReadData(void) if (value == 1) { // - phosphorus_running = 1; + phosphorus_timer = 0; polarity_state = !polarity_state; - electrode_Init(value); // úó + Control_Phosphorus_Polarity(); // óʼ + Phosphorus_Control_Update(); } else { - // ֹͣ - electrode_Init(value); // úó - phosphorus_running = 0; + Control_Phosphorus(0); // رճ } } else if (sscanf(jsonStr, "{\"X51\":%d}", &value) == 1) { - Set_Phosphorus_Runtime(value); // ʱ + PHOSPHORUS_RUN_TIME=value; // printf("óʱΪ%d\n", value); } // óֹͣʱ䣨X34 else if (sscanf(jsonStr, "{\"X52\":%d}", &value) == 1) { - Set_Phosphorus_StopTime(value); // ֹͣʱ + PHOSPHORUS_STOP_TIME=value; // printf("óֹͣʱΪ%d\n", value); } + // Զ̿ƴ + if (sscanf(jsonStr, "{\"X53\":%d}", &value) == 1) + { + if (value == 1) // + { + Control_Dredge(1); + + } + else if (value == 0) // ر + { + Control_Dredge(0); + + } + } // ģʽרÿưť else if (sscanf(jsonStr, "{\"X58\":%d}", &value) == 1) { @@ -607,7 +637,8 @@ void Upload_Device_Data(void) Update_All_Status(); // ״̬ӡ Check_Power_Source(); - Print_Temperature(); + uint8_t power_type = Get_Power_Type(); + Print_Temperature(data1); Get_Signal_Strength(); // @@ -729,8 +760,9 @@ void Upload_Device_Data(void) "\"X56\":%d," // Һλʱ "\"X57\":%d," // Һλرʱ "\"X58\":%d," // Һλرʱ - // "\"X59\":%d," // ϵͳ״̬ - "\"X300\":%.6f" // ӵֶ X300 + "\"X59\":%d," // ϵͳ״̬ + "\"X300\":%.6f," // ӵֶ X300 + "\"X001\":\"%s\"" // ICCIDֶ "}", // device_status[11], // ˮ X1 gsm_signal_strength, // źǿ X4 @@ -752,7 +784,7 @@ void Upload_Device_Data(void) device_fault.fan2_fault, //2Ĺ X38 device_status[5], // Һλˮ״̬ X44 device_status[8], // е X46 - bizohi, // е״̬ X47 + power_type, // е״̬ X47 Dephosphorization_state, // ׿״̬ X49 device_status[9], // ״̬ X50 PHOSPHORUS_RUN_TIME, // ǰõʱ @@ -763,8 +795,9 @@ void Upload_Device_Data(void) current_low_fan_on, // X56 current_low_fan_off, // X57 (current_mode == MODE_SPECIAL) ? 1 : 0, // ģʽ׶Σ x58 - // Get_System_State(), // ״̬ X59 - base_energy // ֵӵJSON X300 + device_status[11], // ϵͳ״̬ X59 + base_energy, // ֵӵJSON X300 + sim_iccid // ICCIDֵ ); // @@ -856,3 +889,27 @@ void Check_4G_Connection(void) } } + + +// ӻȡICCIDĺ +void Get_ICCID(void) +{ + memset(rxBuff, 0, sizeof(rxBuff)); + rxDataSize = 0; + + Inf_4G_SendAtCmd("AT+QCCID\r\n"); + HAL_Delay(100); + + // ICCID + char *ptr = strstr((char *)rxBuff, "+QCCID:"); + if (ptr) + { + // "+QCCID: "ֱӻȡICCID + ptr += 8; // "+QCCID: " + // ȥܵĿոͻз + while (*ptr == ' ') ptr++; + // ICCIDsim_iccid + strncpy(sim_iccid, ptr, ICCID_LENGTH - 1); + sim_iccid[ICCID_LENGTH - 1] = '\0'; // ȷַ + } +} diff --git a/Inf/Inf_4G.h b/Inf/Inf_4G.h index 2d3989d..d7b606b 100644 --- a/Inf/Inf_4G.h +++ b/Inf/Inf_4G.h @@ -19,7 +19,7 @@ #define STATUS_REPORT_INTERVAL 1000 // 状态上报间隔(ms) -#define MQTT_SERVER_IP "101.133.141.167" // 替换为你的MQTT服务器IP地址 +#define MQTT_SERVER_IP "101.46.52.67" // 替换为你的MQTT服务器IP地址 #define MQTT_SERVER_PORT "1883" // 替换为你的MQTT服务器端口 #define MQTT_CLIENT_ID "LDMCU20250120A0001" // 替换为你的MQTT客户端ID #define MQTT_USERNAME "ldhb" // 替换为你的MQTT用户名 @@ -27,6 +27,8 @@ #define MQTT_TOPIC "/server/coo/LDMCU20250120A0001" // 替换为你的MQTT订阅主题 #define MQTT_PUB_TOPIC "/dev/coo/LDMCU20250120A0001" // 替换为你的MQTT订阅主题 +#define ICCID_LENGTH 20 + extern uint16_t rxDataSize; extern volatile uint8_t need_upload ; @@ -37,6 +39,7 @@ extern volatile uint8_t new_mode; // 新模式值 extern uint8_t force_pump_off; // 水泵强制关闭标志 extern uint8_t force_fan_off; // 风机强制关闭标志 +extern char sim_iccid[ICCID_LENGTH]; // 存储ICCID的变量 typedef enum { CMD_OFF = 0, CMD_ON = 1 @@ -61,4 +64,6 @@ void Upload_Device_Data(void); extern int8_t gsm_signal_strength; // 信号强度变量 void Get_Signal_Strength(void); // 获取信号强度函数 void Check_4G_Connection(void); + +void Get_ICCID(void); #endif diff --git a/MDK-ARM/.vscode/c_cpp_properties.json b/MDK-ARM/.vscode/c_cpp_properties.json index 6cb3056..50957d8 100644 --- a/MDK-ARM/.vscode/c_cpp_properties.json +++ b/MDK-ARM/.vscode/c_cpp_properties.json @@ -21,6 +21,7 @@ "c:\\Users\\kevin\\Desktop\\test\\HLW8032_test\\4G_test\\App\\paini", "c:\\Users\\kevin\\Desktop\\test\\HLW8032_test\\4G_test\\App\\shuiliang", "c:\\Users\\kevin\\Desktop\\test\\HLW8032_test\\4G_test\\App\\SaveTime", + "c:\\Users\\kevin\\Desktop\\test\\HLW8032_test\\4G_test\\App\\solar_energy", "E:\\MDK536\\ARM\\ARMCC\\include", "E:\\MDK536\\ARM\\ARMCC\\include\\rw", "c:\\Users\\kevin\\Desktop\\test\\HLW8032_test\\4G_test\\MDK-ARM", diff --git a/MDK-ARM/.vscode/keil-assistant.log b/MDK-ARM/.vscode/keil-assistant.log index c85c479..4a437fb 100644 --- a/MDK-ARM/.vscode/keil-assistant.log +++ b/MDK-ARM/.vscode/keil-assistant.log @@ -230,3 +230,61 @@ [info] Log at : 2025/4/16|10:10:07|GMT+0800 +[info] Log at : 2025/4/17|08:51:54|GMT+0800 + +[info] Log at : 2025/4/17|13:19:28|GMT+0800 + +[info] Log at : 2025/4/17|13:43:54|GMT+0800 + +[info] Log at : 2025/4/17|13:45:34|GMT+0800 + +[info] Log at : 2025/4/17|15:03:04|GMT+0800 + +[info] Log at : 2025/4/18|08:39:50|GMT+0800 + +[info] Log at : 2025/4/18|09:15:14|GMT+0800 + +[info] Log at : 2025/4/21|08:43:23|GMT+0800 + +[info] Log at : 2025/4/24|14:27:54|GMT+0800 + +[info] Log at : 2025/4/25|08:38:37|GMT+0800 + +[info] Log at : 2025/4/25|09:36:33|GMT+0800 + +[info] Log at : 2025/4/29|13:07:18|GMT+0800 + +[info] Log at : 2025/4/29|13:42:54|GMT+0800 + +[info] Log at : 2025/5/8|09:16:43|GMT+0800 + +[info] Log at : 2025/5/8|09:26:59|GMT+0800 + +[info] Log at : 2025/5/8|16:38:41|GMT+0800 + +[info] Log at : 2025/5/8|17:02:21|GMT+0800 + +[info] Log at : 2025/5/9|08:22:26|GMT+0800 + +[info] Log at : 2025/5/12|14:38:43|GMT+0800 + +[info] Log at : 2025/5/13|08:53:11|GMT+0800 + +[info] Log at : 2025/5/13|17:01:15|GMT+0800 + +[info] Log at : 2025/5/14|17:02:02|GMT+0800 + +[info] Log at : 2025/5/15|16:16:51|GMT+0800 + +[info] Log at : 2025/5/19|13:38:17|GMT+0800 + +[info] Log at : 2025/5/20|08:38:03|GMT+0800 + +[info] Log at : 2025/5/20|08:53:43|GMT+0800 + +[info] Log at : 2025/5/20|09:06:52|GMT+0800 + +[info] Log at : 2025/5/20|09:27:41|GMT+0800 + +[info] Log at : 2025/5/20|09:28:00|GMT+0800 + diff --git a/MDK-ARM/.vscode/settings.json b/MDK-ARM/.vscode/settings.json index f065885..3c87ab0 100644 --- a/MDK-ARM/.vscode/settings.json +++ b/MDK-ARM/.vscode/settings.json @@ -25,6 +25,7 @@ "guangshi.h": "c", "paini.h": "c", "shuiliang.h": "c", - "save_time.h": "c" + "save_time.h": "c", + "solar_energy.h": "c" } } \ No newline at end of file diff --git a/MDK-ARM/.vscode/uv4.log b/MDK-ARM/.vscode/uv4.log index 85481cc..d263d7c 100644 --- a/MDK-ARM/.vscode/uv4.log +++ b/MDK-ARM/.vscode/uv4.log @@ -1,3 +1,8 @@ -Load "4G_test\\4G_test.axf" -Erase Done.Programming Done.Verify OK.Application running ... -Flash Load finished at 16:33:49 +*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'E:\MDK536\ARM\ARMCC\Bin' +Build target '4G_test' +compiling Inf_4G.c... +linking... +Program Size: Code=34956 RO-data=900 RW-data=572 ZI-data=4092 +FromELF: creating hex file... +"4G_test\4G_test.axf" - 0 Error(s), 0 Warning(s). +Build Time Elapsed: 00:00:05 diff --git a/MDK-ARM/.vscode/uv4.log.lock b/MDK-ARM/.vscode/uv4.log.lock index 7c35280..3a760b3 100644 --- a/MDK-ARM/.vscode/uv4.log.lock +++ b/MDK-ARM/.vscode/uv4.log.lock @@ -1 +1 @@ -2025/4/15 16:33:50 \ No newline at end of file +2025/5/19 16:37:32 \ No newline at end of file diff --git a/MDK-ARM/4G_test.uvguix.kevin b/MDK-ARM/4G_test.uvguix.kevin index 637ab0f..67e745e 100644 --- a/MDK-ARM/4G_test.uvguix.kevin +++ b/MDK-ARM/4G_test.uvguix.kevin @@ -6,7 +6,7 @@
### uVision Project, (C) Keil Software
- + C:\Users\kevin\Desktop\test\HLW8032_test\4G_test\MDK-ARM @@ -15,7 +15,7 @@ 38003 Registers - 140 140 + 269 270 346 @@ -40,7 +40,7 @@ 1506 Symbols - 53 53 53 + 80 80 80 1936 @@ -111,7 +111,7 @@ 0 1223 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A00000000000000010000004C433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4170705C49727269676174696F6E5C49727269676174696F6E2E63000000000C49727269676174696F6E2E6300000000C5D4F200FFFFFFFF3F433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C436F72655C5372635C74696D2E63000000000574696D2E6300000000FFDC7800FFFFFFFF40433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF44433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4170705C454550524F4D5C454550524F4D2E630000000008454550524F4D2E6300000000F0A0A100FFFFFFFF4E433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000BCA8E100FFFFFFFF61433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C2E63000000000F73746D3332663478785F68616C2E63000000009CC1B600FFFFFFFF68433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F636F727465782E63000000001673746D3332663478785F68616C5F636F727465782E6300000000F7B88600FFFFFFFF51433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C447269766572735C434D5349535C496E636C7564655C636F72655F636D342E68000000000A636F72655F636D342E6800000000D9ADC200FFFFFFFF3D433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C496E665C496E665F34472E630000000008496E665F34472E6300000000A5C2D700FFFFFFFF40433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4472697665725C4472697665722E6300000000084472697665722E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000002902000066000000000500002D020000 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000A00000002000000010000004C433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4170705C49727269676174696F6E5C49727269676174696F6E2E63000000000C49727269676174696F6E2E6300000000C5D4F200FFFFFFFF3F433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C436F72655C5372635C74696D2E63000000000574696D2E6300000000FFDC7800FFFFFFFF40433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000BECEA100FFFFFFFF44433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4170705C454550524F4D5C454550524F4D2E630000000008454550524F4D2E6300000000F0A0A100FFFFFFFF4E433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4D444B2D41524D5C737461727475705F73746D33326634303778782E730000000015737461727475705F73746D33326634303778782E7300000000BCA8E100FFFFFFFF61433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C2E63000000000F73746D3332663478785F68616C2E63000000009CC1B600FFFFFFFF68433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C447269766572735C53544D3332463478785F48414C5F4472697665725C5372635C73746D3332663478785F68616C5F636F727465782E63000000001673746D3332663478785F68616C5F636F727465782E6300000000F7B88600FFFFFFFF51433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C447269766572735C434D5349535C496E636C7564655C636F72655F636D342E68000000000A636F72655F636D342E6800000000D9ADC200FFFFFFFF3D433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C496E665C496E665F34472E630000000008496E665F34472E6300000000A5C2D700FFFFFFFF40433A5C55736572735C6B6576696E5C4465736B746F705C746573745C484C57383033325F746573745C34475F746573745C4472697665725C4472697665722E6300000000084472697665722E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000002902000066000000800700008D030000 @@ -150,7 +150,7 @@ 0 16 - 030000006600000022020000FD010000 + 0300000066000000220200005D030000 16 @@ -170,7 +170,7 @@ 0 16 - 030000006600000022020000FD010000 + 0300000066000000220200005D030000 16 @@ -450,7 +450,7 @@ 0 16 - 030000006600000022020000FD010000 + 0300000066000000220200005D030000 16 @@ -470,7 +470,7 @@ 0 16 - 030000006600000022020000FD010000 + 0300000066000000220200005D030000 16 @@ -490,7 +490,7 @@ 0 16 - 000000002E020000000500007E020000 + 000000008E03000080070000DE030000 16 @@ -530,7 +530,7 @@ 0 16 - 0300000031020000AC03000065020000 + 0300000091030000FD040000C5030000 16 @@ -1150,7 +1150,7 @@ 0 16 - 03000000660000001F010000A7010000 + 030000006600000022020000FD010000 16 @@ -1170,7 +1170,7 @@ 0 16 - 0300000031020000AC03000065020000 + 0300000091030000FD040000C5030000 16 @@ -1190,7 +1190,7 @@ 0 16 - 0300000031020000AC03000065020000 + 0300000091030000FD040000C5030000 16 @@ -1250,7 +1250,7 @@ 0 16 - 0300000031020000AC03000065020000 + 0300000091030000FD040000C5030000 16 @@ -1270,7 +1270,7 @@ 0 16 - 0300000031020000AC03000065020000 + 0300000091030000FD040000C5030000 16 @@ -1730,7 +1730,7 @@ 0 16 - 000000007E0200000005000091020000 + 00000000DE03000080070000F1030000 16 @@ -1799,7 +1799,7 @@ 3312 - 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000A400000066000000B0030000CA000000A40000004F000000B0030000B30000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F000000100300003F010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001003000066000000B003000056010000100300004F000000B00300003F01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF250200004F000000290200001602000001000000020000100400000001000000E0FEFFFFD5030000FFFFFFFF05000000ED0300006D000000C3000000C40000007394000001800010000001000000000000006600000022010000D7010000000000004F00000025020000160200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000037010000B00300003B01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000052010000B0030000BE010000000000003B010000B0030000A701000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD80100003B010000DC010000A701000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000016020000000500001A020000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000DB010000AF0300003F020000000000001A020000000500007E0200000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 + 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFA4000000B3000000B0030000B7000000000000000100000004000000010000000000000000000000FFFFFFFF08000000CB00000057010000CC000000F08B00005A01000079070000D601000045890000FFFF02000B004354616262656450616E650020000000000000A400000066000000B0030000CA000000A40000004F000000B0030000B30000000000000040280046080000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF0F53797374656D20416E616C797A657200000000D601000001000000FFFFFFFFFFFFFFFF104576656E742053746174697374696373000000004589000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF0C0300004F000000100300003F010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C30000018000400000000000001003000066000000B003000056010000100300004F000000B00300003F01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF250200004F000000290200007603000001000000020000100400000001000000E0FEFFFFD5030000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000066000000250200002D020000000000004F00000025020000760300000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF0000000037010000B00300003B01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0F0000008F070000930700009407000095070000960700009007000091070000B5010000B801000038030000B9050000BA050000BB050000BC050000CB090000018000800000000000000000000052010000B0030000BE010000000000003B010000B0030000A701000000000000404100460F0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF09554C494E4B706C7573000000003803000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFFD80100003B010000DC010000A701000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF0000000076030000800700007A030000010000000100001004000000010000000000000000000000FFFFFFFF06000000C5000000C7000000B4010000D2010000CF010000779400000180008000000100000000000000310200000005000095020000000000007A03000080070000DE0300000000000040820056060000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0E536F757263652042726F7773657200000000D201000001000000FFFFFFFFFFFFFFFF0E416C6C205265666572656E63657300000000CF01000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000 59392 @@ -1838,7 +1838,7 @@ Debug 2373 - 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F77730000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -1851,8 +1851,8 @@ 0 - 1280 - 720 + 1920 + 1080 @@ -3603,11 +3603,11 @@ 0 100 - 0 + 2 ..\App\Irrigation\Irrigation.c 0 - 22 + 1 12 1 @@ -3624,9 +3624,9 @@ ../Core/Src/main.c - 0 - 92 - 97 + 16 + 4 + 23 1 0 diff --git a/MDK-ARM/4G_test.uvoptx b/MDK-ARM/4G_test.uvoptx index 734c855..d3475b0 100644 --- a/MDK-ARM/4G_test.uvoptx +++ b/MDK-ARM/4G_test.uvoptx @@ -203,7 +203,7 @@ Application/MDK-ARM - 0 + 1 0 0 0 @@ -223,7 +223,7 @@ Application/User/Core - 0 + 1 0 0 0 @@ -231,7 +231,7 @@ 2 2 1 - 0 + 1 0 0 ../Core/Src/main.c @@ -807,6 +807,18 @@ 0 0 + + 7 + 47 + 1 + 0 + 0 + 0 + ..\App\solar_energy\solar_energy.c + solar_energy.c + 0 + 0 + diff --git a/MDK-ARM/4G_test.uvprojx b/MDK-ARM/4G_test.uvprojx index a762083..f5bb5e8 100644 --- a/MDK-ARM/4G_test.uvprojx +++ b/MDK-ARM/4G_test.uvprojx @@ -339,7 +339,7 @@ USE_HAL_DRIVER,STM32F407xx - ../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../Inf;../Driver;../App/Irrigation;../App/Ozone;../App/wendu;../App/HLW8032;../App/EEPROM;../App/energy_manager;../App/electrode;../App/gungshi;../App/paini;../App/shuiliang;..\App\SaveTime + ../Core/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc;../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy;../Drivers/CMSIS/Device/ST/STM32F4xx/Include;../Drivers/CMSIS/Include;../Inf;../Driver;../App/Irrigation;../App/Ozone;../App/wendu;../App/HLW8032;../App/EEPROM;../App/energy_manager;../App/electrode;../App/gungshi;../App/paini;../App/shuiliang;../App/SaveTime;../App/solar_energy @@ -1204,6 +1204,11 @@ 1 ..\App\SaveTime\Save_Time.c + + solar_energy.c + 1 + ..\App\solar_energy\solar_energy.c + diff --git a/MDK-ARM/4G_test/4G_test.axf b/MDK-ARM/4G_test/4G_test.axf index e07f48e439a1fea46c69ff74f0b982867ac5664a..9684f23fcb0d67471d11b3fdaac86d0bb43123cc 100644 GIT binary patch delta 75658 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 delta 69572 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 diff --git a/MDK-ARM/4G_test/4G_test.build_log.htm b/MDK-ARM/4G_test/4G_test.build_log.htm index 37fcc75..f256d44 100644 --- a/MDK-ARM/4G_test/4G_test.build_log.htm +++ b/MDK-ARM/4G_test/4G_test.build_log.htm @@ -22,15 +22,14 @@ Dialog DLL: TCM.DLL V1.53.0.0

Project:

c:\Users\kevin\Desktop\test\HLW8032_test\4G_test\MDK-ARM\4G_test.uvprojx -Project File Date: 04/15/2025 +Project File Date: 04/22/2025

Output:

*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'E:\MDK536\ARM\ARMCC\Bin' Build target '4G_test' -compiling Save_Time.c... compiling Inf_4G.c... linking... -Program Size: Code=32588 RO-data=876 RW-data=540 ZI-data=3908 +Program Size: Code=34956 RO-data=900 RW-data=572 ZI-data=4092 FromELF: creating hex file... "4G_test\4G_test.axf" - 0 Error(s), 0 Warning(s). @@ -56,7 +55,7 @@ Package Vendor: Keil * Component: ARM::CMSIS:CORE:5.5.0 Include file: CMSIS\Core\Include\tz_context.h -Build Time Elapsed: 00:00:06 +Build Time Elapsed: 00:00:05 diff --git a/MDK-ARM/4G_test/4G_test.hex b/MDK-ARM/4G_test/4G_test.hex index fce62d2..3d08050 100644 --- a/MDK-ARM/4G_test/4G_test.hex +++ b/MDK-ARM/4G_test/4G_test.hex @@ -1,37 +1,37 @@ :020000040800F2 -:1000000060110020A1010008DD5A000881430008AA -:10001000D95A000829100008B1700008000000003B -:10002000000000000000000000000000F95E000871 -:10003000C313000800000000915B0008296300085A +:1000000038120020A1010008A562000881480008FC +:10001000A162000841110008F17900080000000009 +:10002000000000000000000000000000B5660008AD +:100030004D190008000000005D630008656B0008B2 :10004000BB010008BB010008BB010008BB010008A0 :10005000BB010008BB010008BB010008BB01000890 :10006000BB010008BB010008BB010008BB01000880 -:10007000BB010008D5120008BB010008BB01000845 +:10007000BB01000851140008BB010008BB010008C7 :10008000BB010008BB010008BB010008BB01000860 :10009000BB010008BB010008BB010008BB01000850 :1000A000BB010008BB010008BB010008BB01000840 -:1000B000F563000805640008BB010008BB010008E7 +:1000B000316C0008416C0008BB010008BB0100085E :1000C000BB010008BB010008BB010008BB01000820 -:1000D000BB010008BB010008416D0008BB0100081E +:1000D000BB010008BB01000861760008BB010008F5 :1000E000BB010008BB010008BB010008BB01000800 :1000F000BB010008BB010008BB010008BB010008F0 :10010000BB010008BB010008BB010008BB010008DF -:100110003D680008BB01000815640008256400085C +:100110005D710008BB010008516C0008616C0008AB :10012000BB010008BB010008BB010008BB010008BF :10013000BB010008BB010008BB010008BB010008AF :10014000BB010008BB010008BB010008BB0100089F :10015000BB010008BB010008BB010008BB0100088F :10016000BB010008BB010008BB010008BB0100087F :10017000BB010008BB010008BB0100080000000033 -:10018000BB010008BB010008DFF810D000F08AFCBA -:1001900000480047657F0008AFF300806011002031 +:10018000BB010008BB010008DFF810D000F0B0FC94 +:10019000004800477D880008AFF300803812002037 :1001A0000648804706480047FEE7FEE7FEE7FEE711 -:1001B000FEE7FEE7FEE7FEE7FEE7FEE7E163000895 +:1001B000FEE7FEE7FEE7FEE7FEE7FEE71D6C000850 :1001C000890100082DE9F05F0546002092469B4614 :1001D00088460646814640241BE02846414647465D -:1001E000224600F024FB53465A46C01A914110D3D0 -:1001F00011461846224600F00BFB2D1A67EB01084A -:100200004F4622460120002100F002FB17EB0009B7 +:1001E000224600F04AFB53465A46C01A914110D3AA +:1001F00011461846224600F031FB2D1A67EB010824 +:100200004F4622460120002100F028FB17EB000991 :100210004E41201EA4F10104DFDC484631462A4647 :100220004346BDE8F09FD2B201E000F8012B491E21 :10023000FBD270470022F6E710B513460A46044683 @@ -45,8 +45,8 @@ :1002B00000D10246401C0029F8D1104670470000CA :1002C0000FB400B58DB010A909900B9000914FF0BC :1002D000FF300A9000200C900548069005480790D2 -:1002E0006A4609A80F9900F0D9FA0DB05DF814FB21 -:1002F000B9080008D70800082DE9FF5F1D464FF038 +:1002E0006A4609A80F9900F0FFFA0DB05DF814FBFB +:1002F00005090008230900082DE9FF5F1D464FF09E :10030000FF3BD5E9014691465F464FF00008A969D9 :100310007F1C01988847296A824688470028F6D1C1 :10032000BAF1FF3F0CD024F4C064002E19DD600642 @@ -60,7 +60,7 @@ :1003A000761E24F400747F1C019888478246102032 :1003B00002E0082000E00A20814609E008FB090865 :1003C000A969761E44F400747F1C01988847824610 -:1003D000002E05DD4946504600F04BFA0028EDDAC4 +:1003D000002E05DD4946504600F071FA0028EDDA9E :1003E000E96901988847A00502D46FF00100A8E7E9 :1003F000E00725D1600613D5600502D5C8F10000DD :1004000000E0404629680A1D2A600968220501D5D6 @@ -74,18 +74,18 @@ :100480000A510290401A019040286BDAC3F313001E :1004900040F4801B0098924620B10023D2EB030A5F :1004A00063EB0B0B01985946C0F14002504600F037 -:1004B000AFF906460D4650465946019A00F0C7F975 +:1004B000D5F906460D4650465946019A00F0EDF929 :1004C00010EB08006141002487EA115284EAE773C7 :1004D0001A4340D0009A62B3019A012A4FEA0752A8 :1004E00015DC001B61EB02014FF0004202EA0752EB :1004F000CDE90042001C41F5801132462B4600F048 -:1005000041FA03B0BDE8F08F40462146F9E7001BF1 +:1005000067FA03B0BDE8F08F40462146F9E7001BCB :1005100061EB0201001C41F5801300185B412018BB :10052000A2F5001747EB030140EAD570B6196D41FB :1005300011E06D084FEA360645EAC0754FEA0752EA :10054000001B61EB0201001C41F5801149084FEAD4 :1005500030000019514132462B4603B0BDE8F04F40 -:1005600000F001BA0098012240000023D0EB020203 +:1005600000F027BA0098012240000023D0EB0202DD :1005700063EBE073009821464FEAE074B8EB0000AB :1005800061EB0401E9E783F000435BE781F00041A0 :1005900058E72DE9FE4F81EA030404F0004421F0FE @@ -101,7 +101,7 @@ :100630002B0D43EA0C335E1844EB1C50DA4651464E :10064000E7FB0201C5F313044FEA0B3343EA1453EB :100650004FEA0432019C43EA0603A4F10C0402941D -:10066000009CCDE900B400F08DF903B0BDE8F08F37 +:10066000009CCDE900B400F0B3F903B0BDE8F08F11 :1006700000200146F9E72DE9F04D81EA030404F07A :10068000004B21F0004514464FF0000A23F00041D2 :1006900050EA050220D054EA01021DD0C5F30A57E2 @@ -116,1984 +116,2135 @@ :1007200005D0101BAB4106D20122002306E00022B7 :100730004FF0004302E06FF0010253101AEB060085 :100740004CEB085110EB0A0041EB0B01BDE8F04DFA -:1007500000F009B900F0004230F000400AD0C10DAD -:1007600001F56071C0F3160042EA0151C20840076A -:1007700011437047002001467047000030B5041E49 -:1007800071F1000404DB4FF00044404264EB0101CE -:10079000141E73F1000405DB1C464FF00043524267 -:1007A00063EB0403994208BF904230BD01F000435F -:1007B00030B421F0004150EA010206D00A0DA2F542 -:1007C0006072C1F31301002A02DC30BC00207047C4 -:1007D000440F44EAC104C100E01830BC00EBC25031 -:1007E00000F08AB830B50B460146002020220124D3 -:1007F00009E021FA02F59D4205D303FA02F5491BEF -:1008000004FA02F52844151EA2F10102F1DC30BD04 -:10081000202A04DB203A00FA02F1002070479140C0 -:10082000C2F1200320FA03F3194390407047202AB5 -:1008300004DB203A21FA02F00021704721FA02F38A -:10084000D040C2F120029140084319467047202A47 -:1008500006DBCB17203A41FA02F043EAE07306E0E8 -:1008600041FA02F3D040C2F12002914008431946F8 -:1008700070473A2800D2303820F02002412A01D3B4 -:10088000A2F13700884201D34FF0FF3070470000DB -:10089000026811441378016018467047D16004491A -:1008A00051610449116200211161114600F012B931 -:1008B00091080008C90A0008426842B1016811F8AD -:1008C000013B23B1521EC0E90012184670470121B6 -:1008D000C160881E704742685AB1C368016843B955 -:1008E00083688B4205D0491E521CC0E900120020CB -:1008F00070474FF0FF3070470029A8BF7047401C79 -:10090000490008BF20F00100704710B4B0FA80FC25 -:1009100000FA0CF050EA010404BF10BC704749B162 -:10092000CCF1200421FA04F411FA0CF118BF0121D2 -:1009300021430843A3EB0C01CB1D4FEA00614FEAB2 -:10094000102042BF002010BC704700EBC350104481 -:100950000029A4BF10BC7047401C490008BF20F00C -:10096000010010BC704710B5141E73F1000408DAC2 -:10097000401C41F1000192185B411A4301D120F063 -:10098000010010BD2DE9F04D92469B4611B1B1FA20 -:1009900081F202E0B0FA80F220329046FFF738FF91 -:1009A00004460F4640EA0A0041EA0B0153465A4604 -:1009B000084313D0114653EA010019D0C8F1400290 -:1009C0005046FFF734FF05460E465046594642460C -:1009D000FFF71EFF084305D0012004E020463946FA -:1009E000BDE8F08D0020054346EAE0762C4337430E -:1009F0000A986305E40AA0EB08000022FD0A44EA15 -:100A000047540A3002D500200146E9E701051019D4 -:100A10006941DDE9084500196941BDE8F04DA2E7EB -:100A20000EB5C10F80EAE0700844CA07002140F209 -:100A300033438DE80E000A460B46FFF7A3FF03B0D1 -:100A400000BDC1F30A52C1F3130140F2FF3341F478 -:100A500080119A4202DA00200146704740F2334387 -:100A60009A42A2F2334202DC5242FFF7E0BEFFF7A5 -:100A7000CFBE000030B5041E71F1000404DB4FF05E -:100A80000044404264EB0101141E73F1000405DBD5 -:100A90001C464FF00043524263EB04038B4208BFF5 -:100AA000824230BD064C074D06E0E06840F001038D -:100AB00094E8070098471034AC42F6D3FFF768FB80 -:100AC00098820008B8820008C0B24FF4F05100F0DC -:100AD00099B900002DE9F34F8BB04FF0000801F1F8 -:100AE0000C000C464FF0010B46460DF1080A019030 -:100AF0006269012101989047051E2DD0252D2CD02B -:100B0000216A8847C0B16269012101989047216A32 -:100B100088470028F7D1411E62690198904700E09C -:100B2000761CA1690B988847216A88470028F7D16D -:100B3000E1690B988847DBE7A1690B98884707466E -:100B4000A84201D1761CD3E7E1690B9888477F1C46 -:100B500002D1B8F1000F6FD047E1002762693D462E -:100B60003946019890472A2804D1626901210198E9 -:100B700090470125DFF8889262690121019890472A -:100B8000A0F130010A290AD24F45E5DC07EB8701C5 -:100B900000EB4107303FDFD445F01005ECE7E906F4 -:100BA00001D46FF000476C280AD04C2814D0682874 -:100BB00015D06A280DD074281CD07A281AD01DE0D0 -:100BC00062690121019890476C2802D045F0040524 -:100BD00014E045F002050DE045F020050AE06269E9 -:100BE000012101989047682802D045F0080505E0EA -:100BF00045F400656269012101989047C4E90157F5 -:100C000065283DD019DC58287AD00CDC452837D02F -:100C100004DC252826D0412831D131E046282FD0C8 -:100C200047282CD12CE05B2877D0612828D0632876 -:100C30007CD0642823D15AE0D1E06F2848D008DC6A -:100C400066281DD067281BD0692821D06E2816D1B0 -:100C500027E0702845D0732868D0752847D07828B9 -:100C60000DD14DE0A1690B988847054625283FF432 -:100C700069AFE1690B9888476D1C3FF46AAFB4E037 -:100C800023466A466FF001000B99AFF300809FE0A6 -:100C900045F040006060A80723464FF0000236D4BC -:100CA0003EE0E8077FF447AF2068011D216000683F -:100CB000290501D506701BE7290701D5068017E72E -:100CC000A90703D5F117C0E9006111E706600FE736 -:100CD00045F040006060A80723464FF0080216D494 -:100CE0001EE040F60E0125EA0100606016E045F0C6 -:100CF00040006060A80723464FF00A0207D40FE0C7 -:100D000045F040006060A80708D5234610226FF028 -:100D100001000B99AFF300805AE007E02346102250 -:100D20006FF001000B99FFF7E7FA51E04FF000096F -:100D30004F464B46632802D05B2807D041E020791C -:100D4000C00601D40120A06001273AE062690121B8 -:100D5000019890475E2805D14FF001096269494624 -:100D600001989047216939B900210A46534643F852 -:100D70002120491C0829FADBB0B3216969B9C117E0 -:100D800000EBD16253110AEB830122F01F02821A99 -:100D900001200B68904003430B60626901210198B8 -:100DA00090475D28E8D1B9F1000F09D000205146E5 -:100DB00051F82020D24341F82020401C0828F7DBBE -:100DC00002AB224600976FF001000B99AFF3008051 -:100DD00000280CDA401C08D1BBF1000F05D04FF001 -:100DE000FF300DB0BDE8F08FFFE74046F9E7E907B7 -:100DF00001D108F1010806444FF0000B78E600002D -:100E0000CCCCCC0C7F2801D9002208E0064A02EBAA -:100E10005002C007127800D1120902F00F0201201F -:100E200090400840704700003881000870B58C1869 -:100E300010F8015B15F0070301D110F8013B2A11EE -:100E400006D110F8012B03E010F8016B01F8016BDB -:100E50005B1EF9D12B0705D40023521E0DD401F8D7 -:100E6000013BFAE710F8013BCB1A921C03E013F8A0 -:100E7000015B01F8015B521EF9D5A142D8D30020D5 -:100E800070BD000055494A6822F440324A604A6801 -:100E900043681A434A600268526822F48072036809 -:100EA0005A6002685368026943EA022203685A6082 -:100EB0000268526822F0407203685A600268526801 -:100EC00083681A4303685A600268926822F40062D9 -:100ED00003689A6002689268C3681A4303689A605C -:100EE0003F4B826A9A4218D00268926822F0706280 -:100EF00003689A6002689268836A1A4303689A607A -:100F00000268926822F0405203689A600268926810 -:100F1000C36A1A4303689A600BE00268926822F081 -:100F2000706203689A600268926822F04052036817 -:100F30009A600268926822F0020203689A6002686E -:100F40009368027E43EA420203689A602022125CA0 -:100F5000A2B10268526842F4006203685A600268F3 -:100F6000526822F4604203685A6002685368426A19 -:100F7000521E43EA423203685A6005E00268526832 -:100F800022F4006203685A600268D26A22F4700296 -:100F90000368DA620268D36A828B521E43EA025205 -:100FA0000368DA620268926822F4007203689A6049 -:100FB0000268936890F8302043EA422203689A60FE -:100FC0000268926822F4806203689A6002689368FB -:100FD000426943EA822203689A6070470023014015 -:100FE0000100000F10B504F01FFD01220749084859 -:100FF00003F00CF99FED070B084880ED000B9FED07 -:10100000080A084880ED010A10BD00000C0000200D -:10101000D80300200000000000000000B8010020FC -:1010200000000000500D002000BFFEE710B501F0E9 -:10103000BDFA044615480068201A4EF66021884221 -:1010400022D31248046080211148FFF7F3F80020F2 -:101050001049088010A003F081FC642001F08AF997 -:1010600011A10B48FFF7F1F858B91348007803288D -:101070000ADA11480078401C0F49087003F0F0FCB0 -:1010800002E000200C49087010BD00005400002050 -:10109000100500204C00002041542B514D54434F6B -:1010A0004E4E3F0D0A0000002B514D54434F4E4E03 -:1010B0003A20302C330000005800002010B504F016 -:1010C000AFFE044612480078844206D011480078EA -:1010D000401C104908700E4804700F480068401CFE -:1010E0000D4908600846006864280FD30948007855 -:1010F000052803DB01200949087002E002200749A6 -:1011000008700020034908700349086010BD000002 -:10111000FD010020FE01002000020020FC01002053 -:1011200070B50446012C05D1002010490870104903 -:10113000087019E0C4B90F480578002000F0B8F82D -:10114000002000F019F8002000F028F8002000F03E -:1011500055F8002004F0C4FC01200449087004493B -:1011600008700448057000BF70BD000044000020F6 -:10117000450000201801002010B504462CB10122C2 -:101180000421054801F00CFA04E000220421024881 -:1011900001F006FA10BD00000018024010B5044628 -:1011A0002CB101220821054801F0FAF904E00022DF -:1011B0000821024801F0F4F910BD000000180240B7 -:1011C00010B5044684B10C48007830B90120FFF70F -:1011D000D3FF0020FFF7E2FF0CE00020FFF7CCFF79 -:1011E0000120FFF7DBFF05E00020FFF7C5FF00202F -:1011F000FFF7D4FF10BD00002401002010B5044605 -:101200000CB1012000E0002002464FF400710248BA -:1012100001F0C6F910BD00000018024010B50446E8 -:1012200034B1012000F020F8012000F02FF805E093 -:10123000002000F019F8002000F028F810BD000090 -:1012400010B50848007830B1012000F00DF80020FA -:1012500000F01CF805E0002000F006F8012000F086 -:1012600015F810BDDD01002010B504460CB10120B9 -:1012700000E0002002460421024801F091F90248F2 -:10128000447210BD001002409008002010B50446C2 -:101290000CB1012000E0002002460821024801F0C4 -:1012A0007FF90248847210BD0010024090080020AF -:1012B00010B504462CB101220221054801F070F955 -:1012C00004E000220221024801F06AF910BD00008A -:1012D0000018024010B5024800F0B6FE10BD000034 -:1012E000B00400200146087810381823B0FBF3F250 -:1012F0000848805CC865032A05D908686FF30900AF -:10130000001D886503E008686FF309008865886D33 -:1013100070470000D4800008014600208A6A8B696B -:10132000CBB932B1012A0DD0022A03D0032A10D141 -:101330000EE000BFCB6A03F08073B3F1807F00D171 -:10134000012007E0CB6AB3F1C07F00D1012001E0AA -:1013500000E000BF34E08B69B3F5005F1AD132B111 -:10136000012A07D0022A03D0032A11D10AE000BFC4 -:1013700001200EE0CB6A03F08073B3F1807F00D1CF -:10138000012006E0CB6AB3F1C07F00D1012000E06C -:1013900000BF15E032B1012A05D0022A04D0032A89 -:1013A0000CD103E000BF00BF012008E0CB6A03F0CE -:1013B0008073B3F1807F00D1012000E000BF00BF47 -:1013C0007047704710B503F01BFB05F0E3F80020F1 -:1013D000FFF76EFF0020FFF7CFFE0020FFF7DEFED5 -:1013E00000200A4908600A4908600A49087001207B -:1013F0000949087000200949087004F0D7FC084921 -:101400000870084600780749087010BD1C010020CC -:1014100020010020240100202501002026010020B9 -:10142000270100202801002010B504F0C7FC044665 -:101430005C480078844209D000205B4908605B4921 -:10144000086001205A49087056480470002C52D197 -:101450005848007830B10020FFF72AFF0020564995 -:1014600008601FE05048006854490968884206D265 -:101470000120FFF71DFF01204F49086012E04F488F -:1014800000684F490968084447490968884206D9F5 -:101490000020FFF70DFF00204749086002E0002010 -:1014A000414908604748007818B10020FFF788FEDE -:1014B00077E03E48006844490968884203D2012029 -:1014C000FFF77EFE6DE00020FFF77AFE3E480068E1 -:1014D0003E490968084435490968884261D80020B6 -:1014E000324908603A48007808B9012000E000203D -:1014F0003749087055E00020FFF7DAFE00202E493A -:1015000008603048007818B10020FFF759FE48E025 -:101510002748007820B3254800682E49096888428A -:1015200003D20120FFF74CFE3BE00020FFF748FE0E -:10153000284800682849096808441C490968884205 -:101540002FD80020194908602148007808B90120E7 -:1015500000E000201E49087000201549087020E0B6 -:10156000124800681D490968884203D20120FFF72C -:1015700027FE16E00020FFF723FE184800681849F0 -:10158000096808440949096888420AD800200749BF -:1015900008600F48007808B9012000E000200C49DD -:1015A000087010BD300100201C0100202001002027 -:1015B00025010020440000202C0100209400002080 -:1015C00098000020450000209C000020A000002082 -:1015D00024010020AC000020B0000020A400002066 -:1015E000A800002010B51048007868B10F480068C6 -:1015F000052809D3002210210D4800F0D1FF00205A -:1016000009490870094908600A48006848280AD34F -:1016100000200849086001221021054800F0C0FFA1 -:1016200001200149087010BD1002002008020020AE -:10163000001802400C02002072B600BFFEE7000056 -:1016400010B504F0BBFB04465E480078844209D024 -:1016500000205D4908605D49086001205C49087010 -:1016600058480470002C53D15A48007830B10020FB -:10167000FFF71EFE0020584908601FE0524800682E -:1016800056490968884206D20120FFF711FE012061 -:101690005149086012E051480068514909680844FE -:1016A00049490968884206D90020FFF701FE002059 -:1016B0004949086002E00020434908604948007831 -:1016C00018B10020FFF77CFD7AE0404800684649E9 -:1016D0000968884203D20120FFF772FD70E042489A -:1016E000006842490968084438490968884203D9B2 -:1016F0000020FFF765FD63E00020344908603C48A6 -:10170000007808B9012000E000203949087057E04E -:101710000020FFF7CDFD00202F49086031480078F8 -:1017200018B10020FFF74CFD4AE02948007828B3A3 -:10173000264800682F490968884203D20120FFF734 -:101740003FFD3DE02B4800682B49096808441F49CC -:101750000968884203D90020FFF732FD30E00020FD -:101760001A4908602248007808B9012000E00020EA -:101770001F49087000201649087021E013480068CE -:101780001E490968884203D20120FFF719FD17E0BE -:101790001A4800681A49096808440C4909688842CF -:1017A00003D90020FFF70CFD0AE00020074908607C -:1017B0000F48007808B9012000E000200C490870AB -:1017C00010BD0000320100201C010020200100207B -:1017D00025010020440000202C010020B40000203E -:1017E000B800002045000020BC000020C000002000 -:1017F00024010020CC000020D0000020C4000020E4 -:10180000C800002038B580210D48FEF713FD0020E8 -:101810000C4908800CA003F0A1F80EA10848FEF7BF -:1018200014FD04465CB16A460CA12046FEF748FD53 -:10183000012803D1009840B20B49087000BF38BDA1 -:10184000100500204C00002041542B4353510D0A39 -:10185000000000002B4353513A0000002B4353512A -:101860003A202564000000005100002030B50246F7 -:10187000854C8869A04200D000BF00BF92F83C00B0 -:10188000012801D1022030BD012082F83C0000BFB8 -:101890000868092816D91068C0680C780A3C04EB5F -:1018A00044050724AC40A0431468E0600C780A3C6F -:1018B00004EB44048868A0401468E468204314687A -:1018C000E06013E0106800690C7804EB440507241D -:1018D000AC40A043146820610C7804EB4404886891 -:1018E000A040146824692043146820611068806B4C -:1018F00020F440101468A0631068846B088A401EAE -:1019000044EA00501468A0630879C01C0C7C001BDA -:1019100000EB80041F20A0401468A46B844310686F -:1019200084630879C01C0C7C001B00EB80040888D1 -:1019300080B2A0401468A46B20431468A063524C8A -:101940008869A04218D01068806820F4702014685C -:10195000A060106880688C6920431468A0601068DB -:10196000806820F440101468A06010688068CC691A -:1019700020431468A0600BE01068806820F4702099 -:101980001468A0601068806820F440101468A0609B -:10199000487D30B11068406840F480601468606031 -:1019A00005E01068406820F4806014686060087D7D -:1019B00030B11068406840F480501468606005E001 -:1019C0001068406820F480501468606048680128FE -:1019D00004D002280FD0032827D119E010684069ED -:1019E0006FF30B001468606110684069CC68204395 -:1019F0001468606126E0106880696FF30B0014685A -:101A0000A06110688069CC6820431468A06119E067 -:101A10001068C0696FF30B001468E0611068C0695A -:101A2000CC6820431468E0610CE01068006A6FF332 -:101A30000B00146820621068006ACC6820431468A8 -:101A4000206200BF00BF114B114C1068A04206D1AC -:101A50000868122803D1586840F4800058600C4C84 -:101A60001068A04209D10868102802D0086811281F -:101A700003D1586840F40000586000BF002082F88D -:101A80003C0000BF00BFFEE601000F000023014044 -:101A90000020014038B502460020009000BF92F8B7 -:101AA0003C00012801D1022038BD012082F83C0011 -:101AB00000BF0868092816D91068C0680C780A3C6D -:101AC00004EB44050724AC40A0431468E0600C78A4 -:101AD0000A3C04EB44048868A0401468E46820438E -:101AE0001468E06013E0106800690C7804EB4405AA -:101AF0000724AC40A043146820610C7804EB440434 -:101B00008868A040146824692043146820614868EC -:101B1000072817D21068406B0C79641E04EB84050B -:101B20001F24AC40A04314686063088880B20C791D -:101B3000641E04EB8404A0401468646B20431468A2 -:101B4000606331E048680D2817D21068006B0C798B -:101B5000E41F04EB84051F24AC40A04314682063F9 -:101B6000088880B20C79E41F04EB8404A040146858 -:101B7000246B20431468206316E01068C06A0C7957 -:101B80000D3C04EB84051F24AC40A0431468E062C4 -:101B9000088880B20C790D3C04EB8404A0401468E2 -:101BA000E46A20431468E062194B1A4C1068A042A2 -:101BB00006D10868122803D1586840F480005860A4 -:101BC000144C1068A0421CD10868102802D0086884 -:101BD000112816D1586840F4000058600868102891 -:101BE0000FD10D4800680D4CB0FBF4F000EB800005 -:101BF0004000009002E00098401E009000980028ED -:101C0000F9D100BF002082F83C0000BF00BF4BE7C5 -:101C100000230140002001403400002040420F001A -:101C200001460868C06C704770B5044600250CB9C1 -:101C3000012070BD1549A06A884200D000BF206C09 -:101C400030B9204600F024F80020606484F83C009D -:101C5000206C00F0100088B9206C20F4885040F00F -:101C6000020020642046FFF70DF900206064206C1C -:101C700020F0020040F00100206400E0012500BFD8 -:101C8000002084F83C0000BF2846D2E70100000F86 -:101C900010B586B00446142101A8FEF7CBFA194905 -:101CA000206888422CD100BF0020009016480068B0 -:101CB00040F48060144908600846006800F48060C1 -:101CC000009000BF00BF00BF002000900E481438F5 -:101CD000006840F020000C4914390860084600688C -:101CE00000F02000009000BF00BF4FF4AC700190E6 -:101CF000032002900020039001A9044800F04EFB4D -:101D000006B010BD002201404438024000140240D9 -:101D100070B504460D4600262068806800F4806097 -:101D2000B0F5806F11D12068806800F48070B0F544 -:101D3000807F0AD1206C40F02000206400BF00208A -:101D400084F83C0000BF012070BD00F02FFC064667 -:101D500018E0681CB0B125B100F028FC801BA84237 -:101D600010D92068006800F0020002280AD0206C18 -:101D700040F00400206400BF002084F83C0000BF55 -:101D80000320E1E72068006800F002000228E0D1AB -:101D90006FF0120021680860206C40F4007020642D -:101DA0002068806800F04050B8B9207EA8B920684B -:101DB000C06A00F4700020B12068806800F4806080 -:101DC00058B9206C20F480702064206C00F480509E -:101DD00018B9206C40F0010020640020B4E7000036 -:101DE00008B501460020009000BF91F83C00012892 -:101DF00001D1022008BD012081F83C0000BF086825 -:101E0000806800F00100A0B90868806840F0010017 -:101E10000B6898603F4800683F4BB0FBF3F000EB65 -:101E20004000009002E00098401E009000980028BA -:101E3000F9D10868806800F00100002860D0086CC3 -:101E400040F20163984340F4807008640868406879 -:101E500000F4806028B1086C20F4005040F48050F9 -:101E60000864086C00F48050B0F5805F04D1486CC1 -:101E700020F00600486401E00020486400BF002014 -:101E800081F83C0000BF254A6FF022000B68186003 -:101E9000506800F01F0018BB214B0868984213D00F -:101EA000204B0868984204D1101D006800F01F0004 -:101EB00050B11D4B086898422AD11848001D00688F -:101EC00000F01F00102823D20868806800F04050FE -:101ED000F0B90868806840F080400B68986017E0AF -:101EE0000F4B0868984213D10868806800F0405092 -:101EF00070B90868806840F080400B68986007E01F -:101F0000086C40F010000864486C40F00100486420 -:101F100000206FE73400002040420F000023014002 -:101F2000002001400021014000220140014600BF85 -:101F300091F83C00012801D102207047012081F86E -:101F40003C0000BF0868806820F001000A689060CB -:101F50000868806800F0010028B9086C20F48850F7 -:101F600040F00100086400BF002081F83C0000BF81 -:101F700000BFE2E770B50446A56D00F017FB06460A -:101F800094F83500022808D08020606500BF00204A -:101F900084F8340000BF012070BD2068006820F084 -:101FA0001600216808602068406920F080002168E0 -:101FB0004861206C08B9A06C28B12068006820F046 -:101FC0000800216808602068006820F0010021688E -:101FD000086010E000F0EAFA801B05280BD92020E9 -:101FE0006065032084F8350000BF002084F83400C9 -:101FF00000BF0320D0E72068006800F0010000283F -:10200000E8D194F85C103F208840A860012084F853 -:10201000350000BF002084F8340000BF00BFBBE7DC -:10202000014691F83500022803D080204865012040 -:102030007047052081F835000868006820F001002D -:102040000A6810600020F3E7F8B50446002000900D -:102050008C4800684FF41651B0FBF1F7A56D2E685F -:1020600094F85C1008208840304098B120680068DF -:1020700000F0040070B12068006820F004002168BE -:10208000086094F85C1008208840A860606D40F0FB -:102090000100606594F85C1001208840304068B110 -:1020A0002068406900F0800040B194F85C10012085 -:1020B0008840A860606D40F00200606594F85C1094 -:1020C00004208840304068B12068006800F00200B9 -:1020D00040B194F85C1004208840A860606D40F026 -:1020E0000400606594F85C1010208840304078B39C -:1020F0002068006800F0080050B394F85C101020CD -:102100008840A8602068006800F4802080B12068C2 -:10211000006800F4002028B9206CC8B12046216C6A -:10212000884715E0A06C98B12046A16C88470FE065 -:102130002068006800F4807028B92068006820F0EA -:10214000080021680860206C10B12046216C884787 -:1021500094F85C10202088403040002865D020682A -:10216000006800F0100000285FD094F85C10202078 -:102170008840A86094F83500052828D120680068B8 -:1021800020F01600216808602068406920F0800077 -:1021900021684861206C08B9A06C28B120680068EB -:1021A00020F008002168086094F85C103F20884007 -:1021B000A860012084F8350000BF002084F83400B6 -:1021C00000BF206D10B12046216D8847F8BD206802 -:1021D000006800F4802080B12068006800F40020CE -:1021E00028B9606C10B12046616C88471DE0E06B37 -:1021F000D8B12046E16B884717E02068006800F4FA -:10220000807068B92068006820F0100021680860BC -:10221000012084F8350000BF002084F8340000BF9E -:10222000E06B10B12046E16B8847606D38B3606D9C -:1022300000F00100F0B1052084F835002068006846 -:1022400020F001002168086000BF0098401C009049 -:10225000B84200D905E02068006800F001000028BD -:10226000F3D100BF012084F8350000BF002084F8BE -:10227000340000BFE06C10B12046E16C884700BF1D -:10228000A4E70000340000202DE9F04104460025B9 -:1022900000F08CF9074614B90120BDE8F081606AAE -:1022A00000B100BF022084F8350000BF002084F890 -:1022B000340000BF2068006820F001002168086039 -:1022C0000AE000F073F9C01B052805D920206065DD -:1022D000032084F83500E0E72068006800F0010082 -:1022E0000028EED12068056821480540D4E90101A5 -:1022F0000843E16808432169084361690843A1690B -:102300000843E1690843216A08430543606A0428D9 -:1023100003D1D4E90B010843054320680560206818 -:10232000456925F00705606A0543606A04280DD1F8 -:10233000A06A0543E06A48B12046FEF7EDFF28B1E8 -:1023400040206065012084F83500A6E720684561DB -:102350002046FEF7C7FF064694F85C103F208840F1 -:10236000B06000206065012084F83500002094E70B -:102370003F8010F070B5044600F018F90646254677 -:10238000681C10B104480078054400BF00F00EF945 -:10239000801BA842FAD370BD30000020F8B5024679 -:1023A0000B460025002400200021D6E0012606FA75 -:1023B00001F51E6806EA0504AC4274D11E7906F0E8 -:1023C0000306012E04D01E7906F00306022E13D157 -:1023D00090684F000326BE40B0434F00DE68BE4009 -:1023E00030439060506801268E40B0431E79C6F39A -:1023F00000168E40304350601E7906F00306032E0F -:1024000009D0D0684F000326BE40B0434F009E68FD -:10241000BE403043D0601E7906F00306022E13D171 -:10242000CF0802F1200656F827004E07F70E0F26B8 -:10243000BE40B0434F07FF0E1E69BE403043CF0879 -:1024400002F1200646F8270010684F000326BE4020 -:10245000B0431E7906F003064F00BE4030431060C3 -:102460005E6806F44036002E76D000BF0026009647 -:102470003C4E366846F480463A4F3E603E463668EB -:1024800006F48046009600BF00BF374E8F0856F80E -:1024900027008E07370F0F26BE40B043334EB2429F -:1024A00002D1002624E057E0314EB24201D101268C -:1024B0001EE0304EB24201D1022619E02E4EB24249 -:1024C00001D1032614E02D4EB24201D104260FE0C3 -:1024D0002B4EB24201D105260AE02A4EB24201D16A -:1024E000062605E0284EB24201D1072600E0082664 -:1024F0008F073F0FBE4030431B4E8F0846F8270022 -:10250000224E3068A0435E6806F4801606B1204370 -:102510001E4E3060361D3068A0435E6806F400161B -:1025200006B12043194E361D3060184E361F3068F4 -:10253000A0435E6806F4003606B12043134E361FF2 -:102540003060361F3068A0435E6806F4803606B1FE -:1025500020430E4E083E3060491C1029FFF426AF80 -:10256000F8BD000044380240083801400000024035 -:102570000004024000080240000C0240001002402B -:102580000014024000180240001C0240083C0140B8 -:10259000024613690B400BB1012000E00020704798 -:1025A0000AB1816101E00B04836170470148006852 -:1025B000704700002800002070B504460CB90120C7 -:1025C00070BD94F83D0028B9002084F83C002046F6 -:1025D00000F010FB242084F83D002068006820F003 -:1025E0000100216808602068006840F4004021680C -:1025F00008602068006820F400402168086000F04E -:10260000DFFC05465C496068884206D85B48854225 -:1026100001D2012007E0002005E05948854201D29F -:10262000012000E00020012800D1C9E75548B5FB92 -:10263000F0F62068406820F03F0030432168486091 -:102640004D496068884201D8701C07E04FF49670CD -:1026500070434FF47A71B0FBF1F0401C2168096AB5 -:1026600021F03F01084321680862434960688842BD -:1026700014D8681E61684900B0FBF1F0401CC0F33B -:102680000B00042801D204203DE0681E6168490067 -:10269000B0FBF1F0401CC0F30B0034E0A06838B987 -:1026A000681E616801EB4101B0FBF1F0401C0AE0DB -:1026B000681E616801EBC10202EB0111B0FBF1F091 -:1026C000401C40F48040C0F30B0008B901201AE020 -:1026D000A06848B9681E616801EB4101B0FBF1F0E8 -:1026E000401CC0F30B000CE0681E616801EBC102E6 -:1026F00002EB0111B0FBF1F0401CC0F30B0040F401 -:10270000804040F400402168C9694CF6FF72914353 -:1027100008432168C861D4E90701084321680968B2 -:1027200021F0C001084321680860D4E90310084380 -:102730002168896848F2FF32914308432168886024 -:10274000D4E9050108432168C96821F0FF01084365 -:102750002168C8602068006840F0010021680860B6 -:1027600000202064202084F83D000020206384F8AD -:102770003E0000BF24E70000A086010080841E0008 -:1027800000093D0040420F002DE9FC5F04460F4662 -:1027900090469946DDE90CAB0E9EFFF707FF054614 -:1027A00094F83D00202870D119230122B549204614 -:1027B000009501F05AFF10B10220BDE8FC9F00BF58 -:1027C00094F83C00012801D10220F6E7012084F8AA -:1027D0003C0000BF2068006800F0010028B92068B4 -:1027E000006840F00100216808602068006820F45B -:1027F000006021680860222084F83D00402084F8B1 -:102800003E0000202064C4F824A0A4F82AB0608D03 -:1028100020859D48E0624B46424639462046CDE938 -:10282000006501F0CFFD08B10120C6E7208D88B911 -:1028300000BF0020019020684069019020688069F5 -:10284000019000BF00BF2068006840F4007021685C -:10285000086040E0208D012818D12068006820F42D -:1028600080602168086000BF0020019020684069F6 -:10287000019020688069019000BF00BF2068006857 -:1028800040F400702168086025E0F8E0208D0228FF -:1028900016D12068006820F48060216808602068F4 -:1028A000006840F400602168086000BF00200190CB -:1028B00020684069019020688069019000BF0AE0AB -:1028C00000BF002001902068406901902068806965 -:1028D000019000BF00BFC3E0208D03287ED8208D6B -:1028E000012815D12A463146204601F09AFF08B149 -:1028F000012062E720680069616A0870606A401C14 -:102900006062208D401E2085608D401E6085A7E09E -:10291000208D02282AD1334600225C4920460095AA -:1029200001F0A3FE08B1012047E72068006840F4E9 -:1029300000702168086020680069616A0870606A38 -:10294000401C6062208D401E2085608D401E608589 -:1029500020680069616A0870606A401C6062208DAE -:10296000401E2085608D401E608579E03346002240 -:1029700046492046009501F078FE08B101201CE789 -:102980002068006820F48060216808602068006981 -:10299000616A0870606A401C6062208D401E20855C -:1029A000608D401E608533460022384920460095E0 -:1029B00001F05BFE08B10120FFE62068006840F4EA -:1029C00000702168086020680069616A0870606AA8 -:1029D000401C6062208D401E208500E010E0608D6C -:1029E000401E608520680069616A0870606A401C4A -:1029F0006062208D401E2085608D401E60852FE026 -:102A00002A463146204601F00CFF08B10120D4E6E9 -:102A100020680069616A0870606A401C6062208DED -:102A2000401E2085608D401E608520684069C0F38F -:102A30008000A8B1208D032805D12068006820F40B -:102A400080602168086020680069616A0870606AB7 -:102A5000401C6062208D401E2085608D401E608578 -:102A6000208D00287FF438AF202084F83D0000201E -:102A700084F83E0000BF84F83C0000BF9DE60220C1 -:102A80009BE60000020010000000FFFF04000100B0 -:102A90002DE9FC5F04460F4690469946DDE90CABF4 -:102AA0000E9EFFF783FD054694F83D0020287DD15A -:102AB000192301224D492046009501F0D6FD10B1A1 -:102AC0000220BDE8FC9F00BF94F83C00012801D122 -:102AD0000220F6E7012084F83C0000BF206800686F -:102AE00000F0010028B92068006840F0010021686A -:102AF00008602068006820F40060216808602120D8 -:102B000084F83D00402084F83E0000202064C4F892 -:102B100024A0A4F82AB0608D20853548E0624B4699 -:102B2000424639462046CDE9006501F0FBFC08B17C -:102B30000120C6E731E02A463146204601F0B6FEC4 -:102B400050B1206C042805D12068006840F4007062 -:102B5000216808600120B4E7606A00782168086194 -:102B6000606A401C6062208D401E2085608D401E82 -:102B7000608520684069C0F3800070B1208D60B12D -:102B8000606A007821680861606A401C6062208D7C -:102B9000401E2085608D401E6085208D0028CAD192 -:102BA0002A463146204601F02DFD00E01CE050B1E0 -:102BB000206C042805D12068006840F4007021686A -:102BC000086001207DE72068006840F400702168FB -:102BD0000860202084F83D00002084F83E0000BFFB -:102BE00084F83C0000BF6CE702206AE70200100096 -:102BF0000000FFFF10B586B00446142101A8FDF7C0 -:102C000019FB1B49206888422FD100BF002000908B -:102C10001848006840F0200016490860084600681F -:102C200000F02000009000BF00BF032001901220A0 -:102C3000029000200390032004900420059001A935 -:102C40000D48FFF7ABFB00BF002000900948103093 -:102C5000006840F4800007491031086008460068A9 -:102C600000F48000009000BF00BF06B010BD00005F -:102C70000058004030380240001402400348006809 -:102C8000034909780844014908607047280000207A -:102C90003000002010B50D48006840F400700B496A -:102CA00008600846006840F48060086008460068D4 -:102CB00040F480700860032000F0A6F80F2000F0B8 -:102CC00007F800F02BF8002010BD0000003C024087 -:102CD00070B504460E4800784FF47A71B1FBF0F0FD -:102CE0000C490968B1FBF0F5284600F02FFC08B14B -:102CF000012070BD102C07D200222146501E00F08A -:102D000045F80548046001E00120F2E70020F0E703 -:102D100030000020340000202C00002008B500BF47 -:102D2000002000900E48006840F480400C49086084 -:102D30000846006800F48040009000BF00BF00BF5C -:102D400000200090081F006840F08050091F0860B4 -:102D50000846006800F08050009000BF00BF08BD2A -:102D6000443802400146084600280DDB00BF00BF82 -:102D700000F01F0301229A4043099B0003F1E02366 -:102D8000C3F8002100BF00BF00BF70472DE9F05F0E -:102D900080460D461646002704F0B0F9074639462E -:102DA0002A46334601F00700C0F1070ABAF1040FC2 -:102DB00002D94FF0040A01E0C0F1070AD14600F140 -:102DC000040ABAF1070F02D24FF0000A01E0A0F1A5 -:102DD000030AD4464FF0010A0AFA09FAAAF1010AD5 -:102DE0000AEA020A0AFA0CFA4FF0010B0BFA0CFB82 -:102DF000ABF1010B0BEA030B4AEA0B0421464046F8 -:102E000004F084F9BDE8F09F00BF00F00702064B14 -:102E100019684FF6FF031940044B0B4343EA0221A4 -:102E2000014B196000BF70470CED00E00000FA058F -:102E300070B504460D460CB9012070BD58480068B5 -:102E400000F00700A84209D255490D7008460068F5 -:102E500000F00700A84201D00120EEE7207800F042 -:102E6000020002281DD1207800F00400042805D1BA -:102E70004C48006840F4E0504A490860207800F06F -:102E80000800082805D14748006840F460404549DB -:102E900008604448006820F0F000A16808434149F8 -:102EA0000860207800F00100A8B36068012807D10D -:102EB0003C4808380068C0F34040B8B90120BCE77E -:102EC0006068022802D06068032807D135480838B6 -:102ED0000068C0F3406048B90120AEE731480838C7 -:102EE0000068C0F3400008B90120A6E72D4800683B -:102EF00020F00300616808432A490860FFF756FB89 -:102F0000064609E0FFF752FB801B41F288318842F8 -:102F100002D9032091E707E02248006800F00C0086 -:102F20006168B0EB810FEDD11D48006800F007002B -:102F3000A84209D91A490D700846006800F0070038 -:102F4000A84201D0012078E7207800F0040004288E -:102F500007D11448006820F4E050E16808431149A3 -:102F60000860207800F00800082808D10D480068A3 -:102F700020F46040216940EAC1000A49086000F07D -:102F80003FF808490968C1F30311074A515CC8407A -:102F90000649086006480068FFF79AFE00204CE7E3 -:102FA000003C024008380240DC8000083400002069 -:102FB0002C00002001480068704700003400002009 -:102FC00000B5FFF7F7FF04490968C1F38221034AFE -:102FD000515CC84000BD000008380240EC80000889 -:102FE00000B5FFF7E7FF04490968C1F34231034A1E -:102FF000515CC84000BD000008380240EC80000869 -:103000002DE9F047002400250026A1462548006848 -:1030100000F00C0020B1042805D008283AD105E0C2 -:10302000DFF8849039E0DFF8849036E01D48001F17 -:10303000006800F03F041B48001F006800F4800097 -:1030400078B11A481749091F0968C1F38811A0FB14 -:1030500001700146224600233846FDF7B3F80546C5 -:103060000EE011480F49091F0968C1F38811A0FB40 -:1030700001700146224600233846FDF7A3F80546B5 -:103080000848001F0068C0F30140401C4600B5FB23 -:10309000F6F902E0DFF8109000BF00BF4846BDE837 -:1030A000F0870000083802400024F40000127A0083 -:1030B000F8B504460CB90120F8BD207800F00100F5 -:1030C000002874D0F948006800F00C0004280DD0E6 -:1030D000F648006800F00C00082813D1F348001FE0 -:1030E000006800F48000B0F5800F0BD1EF4808387D -:1030F0000068C0F34040002859D06068002856D1CD -:103100000120D9E700BF6068B0F5803F08D1E748EB -:103110000838006840F48030E449083908601EE04F -:103120006068B0F5A02F0DD1E0480838006840F481 -:103130008020DE49083908600846006840F4803085 -:1031400008600CE0D9480838006820F48030D7497E -:10315000083908600846006820F48020086000BF35 -:10316000606890B1FFF722FA054606E0FFF71EFA05 -:10317000401B642801D903209EE7CC48083800682A -:10318000C0F340400028F1D011E0FFF70FFA0546E8 -:1031900006E0FFF70BFA401B642801D903208BE7F8 -:1031A000C24808380068C0F340400028F1D12078B8 -:1031B00000F0020002285FD1BC48006800F00C005B -:1031C00058B1BA48006800F00C0008281CD1B74874 -:1031D000001F006800F48000B0B9B44808380068E7 -:1031E000C0F3400020B1E068012801D0012063E76E -:1031F000AE480838006820F0F800216940EAC100B4 -:10320000AA490839086037E0E06800B30120A849FE -:103210000860FFF7CBF9054606E0FFF7C7F9401B4A -:10322000022801D9032047E7A04808380068C0F306 -:1032300040000028F1D09D480838006820F0F800D0 -:10324000216940EAC10099490839086014E000206A -:1032500097490860FFF7AAF9054606E0FFF7A6F9C7 -:10326000401B022801D9032026E79048083800684F -:10327000C0F340000028F1D1207800F008000828B1 -:103280002CD16069A8B101208A490860FFF78EF946 -:10329000054606E0FFF78AF9401B022801D9032002 -:1032A0000AE782486C300068C0F340000028F1D083 -:1032B00014E000207F490860FFF778F9054606E032 -:1032C000FFF774F9401B022801D90320F4E6774880 -:1032D0006C300068C0F340000028F1D1207800F085 -:1032E0000400042870D1002770483830006800F0CE -:1032F000805090B900BF002000906C4838300068C2 -:1033000040F080506949383108600846006800F094 -:103310008050009000BF00BF01276748006800F49C -:103320008070B0B96448006840F4807062490860F9 -:10333000FFF73CF9054606E0FFF738F9401B022885 -:1033400001D90320B8E65C48006800F480700028CA -:10335000F2D000BFA068012808D154486830006846 -:1033600040F001005149683108601DE0A06805285F -:103370000DD14E486830006840F004004B49683178 -:1033800008600846006840F0010008600CE047480B -:103390006830006820F00100444968310860084640 -:1033A000006820F00400086000BFA068A8B1FFF723 -:1033B000FDF8054609E0FFF7F9F8401B41F28831B6 -:1033C000884202D9032077E626E038486830006852 -:1033D000C0F340000028EED013E0FFF7E7F8054601 -:1033E00008E0FFF7E3F8401B41F28831884201D939 -:1033F000032061E62D4868300068C0F340000028D3 -:10340000EFD1012F07D129483830006820F08050D3 -:1034100026493831086000BFA069002845D02348FC -:10342000006800F00C0008285DD0A069022845D192 -:1034300000201F490866FFF7B9F8054606E0FFF7C8 -:10344000B5F8401B022801D9032035E61748083893 -:103450000068C0F340600028F1D1D4E907010843B7 -:10346000616A40EA81110122A06AC2EB500041EA80 -:1034700000412C20005D41EA00600C49091F0860F2 -:1034800001200B490866FFF791F8054606E0FFF7B3 -:103490008DF8401B022801D903200DE603480838A7 -:1034A0000068C0F340600028F1D049E008380240CD -:1034B00000004742800E4742007000400020214932 -:1034C0000866FFF773F8054606E0FFF76FF8401B44 -:1034D000022801D90320EFE51B480068C0F34060D3 -:1034E0000028F2D12CE0A069012800D1E4E51648BB -:1034F000001D0668A069012820D006F48001E0695B -:1035000081421BD106F03F01206A814216D147F665 -:10351000C0703040616AB0EB811F0FD106F44031BA -:103520000122A06AC2EB5000B1EB004F06D106F0B9 -:1035300070612C20005DB1EB006F01D00120BBE574 -:103540000020B9E5000047420038024070B504464B -:103550002546681EB0F1807F01D301200FE0681E70 -:103560004FF0E02148610F214FF0FF3003F0CEFD16 -:1035700000204FF0E021886107200861002070BD25 -:103580007047704730B502460B4600BF92F83C00CA -:10359000012801D1022030BD012082F83C0000BF8B -:1035A000022082F83D00106844681068816824F0A9 -:1035B00070041868044310684460184D1068A842ED -:1035C0001BD01068B0F1804F17D0154D1068A8427D -:1035D00013D0144D1068A8420FD0134D1068A842A4 -:1035E0000BD0124D1068A84207D0114D1068A842A8 -:1035F00003D0104D1068A84205D121F08001586811 -:10360000014310688160012082F83D0000BF002066 -:1036100082F83C0000BF00BFBDE700000000014091 -:103620000004004000080040000C0040000401407D -:10363000004001400018004010B504460CB90120BC -:1036400010BD94F83D0028B9002084F83C002046C5 -:1036500000F026F8022084F83D00211D206802F0C9 -:10366000E9FE012084F8460000BF84F83E000121F5 -:103670003F200155402001554120015500BF00BFAA -:10368000012084F842004320015544200155452083 -:10369000015500BF012084F83D000020D0E7000064 -:1036A00038B504462068B0F1804F18D100BF002023 -:1036B00000903648006840F0010034490860084630 -:1036C000006800F00100009000BF00BF002203214D -:1036D0001C20FFF75BFB1C20FFF744FB55E02C4947 -:1036E0002068884218D100BF002000902748006859 -:1036F00040F00200254908600846006800F002001A -:10370000009000BF00BF002211461D20FFF73EFBC6 -:103710001D20FFF727FB38E01E492068884218D19A -:1037200000BF002000901948006840F010001749C1 -:1037300008600846006800F01000009000BF00BF5D -:10374000002211463620FFF721FB3620FFF70AFB47 -:103750001BE011492068884217D100BF002000906B -:103760000A48006840F020000849086008460068E0 -:1037700000F02000009000BF00BF0022114637205B -:10378000FFF704FB3720FFF7EDFA38BD4038024061 -:10379000000400400010004000140040014691F871 -:1037A0003D00012801D001207047022081F83D0032 -:1037B0000868C06840F001000B68D8601A4B0868C0 -:1037C00098421BD00868B0F1804F17D0174B08689B -:1037D000984213D0164B086898420FD0154B0868D2 -:1037E00098420BD0144B0868984207D0134B0868D6 -:1037F000984203D0124B086898420CD10868806840 -:1038000000F00702062A0CD00868006840F00100AA -:103810000B68186005E00868006840F001000B685C -:1038200018600020C0E700000000014000040040D4 -:1038300000080040000C004000040140004001402E -:103840000018004001460868C06820F001000A68BE -:10385000D06000BF0868006A41F21112104050B9F0 -:103860000868006A9210104028B90868006820F0C3 -:1038700001000A68106000BF012081F83D000020AF -:1038800070472DE9F04104460D46002700BF94F82B -:103890003C00012802D10220BDE8F081012084F81B -:1038A0003C0000BF022084F83D002068866826F0B6 -:1038B000770626F47F46206886602868502833D033 -:1038C0000CDC202850D004DC00284BD0102851D12B -:1038D00049E0302849D040284CD139E060282DD02B -:1038E000702807D0B0F5805F03D0B0F5005F41D1FC -:1038F0000DE041E0D5E902136A68206802F00EFE8F -:103900002068866846F077062068866034E0D5E94E -:1039100002136A68206802F001FE2068806840F4A3 -:1039200080402168886027E0EA686968206802F0C2 -:1039300009FE5021206802F0FCFD1DE0EA6869687C -:10394000206802F012FE6021206802F0F2FD13E010 -:10395000EA686968206802F0F5FD4021206802F0FD -:10396000E8FD09E000BF00BF00BF2968206802F041 -:10397000E0FD01E0012700BF00BF012084F83D0009 -:1039800000BF002084F83C0000BF384684E7704741 -:1039900070B504462068C5682068066906F0020014 -:1039A000022819D105F00200022815D1401F216814 -:1039B0000861012020772068806900F0030018B1B9 -:1039C0002046FFF7E4FF05E0204600F097F8204688 -:1039D00000F095F80020207706F00400042819D1A3 -:1039E00005F00400042815D1C043216808610220B5 -:1039F00020772068806900F4407018B12046FFF7F6 -:103A0000C6FF05E0204600F079F8204600F077F880 -:103A10000020207706F00800082819D105F00800DA -:103A2000082815D1C0432168086104202077206848 -:103A3000C06900F0030018B12046FFF7A8FF05E0B9 -:103A4000204600F05BF8204600F059F8002020776F -:103A500006F01000102819D105F01000102815D11B -:103A6000C04321680861082020772068C06900F4FD -:103A7000407018B12046FFF78AFF05E0204600F0AD -:103A80003DF8204600F03BF80020207706F00100CA -:103A900048B105F0010030B16FF001002168086104 -:103AA000204600F02DF806F08000802809D105F0AE -:103AB0008000802805D1C043216808612046FFF7B7 -:103AC0005FFD06F04000402809D105F04000402885 -:103AD00005D1C04321680861204600F0A9F806F02E -:103AE0002000202809D105F02000202805D1C0435E -:103AF000216808612046FFF744FD70BD704770479C -:103B000010B5044637492068884211D136480088EC -:103B1000401C354908800846008841F288318842B7 -:103B20005EDB00203049088001203049087057E0F2 -:103B30002068B0F1804F34D12D48007898B12D48DD -:103B40000068401C2B490860084600683C2809D3DF -:103B5000002029490860264908702649086027A0E6 -:103B600003F0A8FA10BD29480078B8B922480068C7 -:103B7000401C2149086026480068401C2449086010 -:103B800024480078042809D123480068401C2249B1 -:103B9000086022480068401C2049086001F0B2FF1C -:103BA0001EE01F492068884219D11E480068401C49 -:103BB0001C4908603C2813D3002008601A4800689C -:103BC000401C194908603C2806D3002008601748AB -:103BD0000068401C15490860FDF704FD00E000BFC7 -:103BE00000BFBFE700100040100000205000002080 -:103BF0002A010020140000201C0100203F3F3F3F0D -:103C00003F3F3F3F3F3F3F3F3F3F0A0029010020EA -:103C100020010020180100201001002014010020C4 -:103C20000014004004020020080200200C020020C2 -:103C30007047F8B504460E46174694F8420020280F -:103C40002ED106B10FB90120F8BD0120206300205C -:103C500060633A463146204602F0DCFF0546EDB986 -:103C6000206B012819D100BF002000902068006857 -:103C7000009020684068009000BF00BF00BF00BFF8 -:103C800021680C3151E8001F41F0100021680C310F -:103C900041E80002002AF3D100E001252846D3E7DD -:103CA0000220D1E770B505460C46064928688842CF -:103CB00006D105480480802204490548FFF7B9FF72 -:103CC00070BD0000004400404C00002010050020A2 -:103CD00068040020704700002DE9F84F0446206872 -:103CE00005682068C668206847694FF00009CA4621 -:103CF00005F00F09B9F1000F0AD105F0200038B125 -:103D000006F0200020B1204602F0F0FDBDE8F88F5B -:103D1000B9F1000F7CD007F0010018B906F49070DB -:103D2000002875D005F0010030B106F4807018B19C -:103D3000606C40F00100606405F0040030B107F0F1 -:103D4000010018B1606C40F00200606405F00200F0 -:103D500030B107F0010018B1606C40F004006064FD -:103D600005F0080048B106F0200010B907F0010086 -:103D700018B1606C40F008006064606C002846D0A8 -:103D800005F0200028B106F0200010B1204602F016 -:103D9000ADFD20684069C0F3801A606C00F0080037 -:103DA00010B9BAF1000F2DD0204602F059FD20685D -:103DB000406900F04000402820D100BF00BF2168CA -:103DC000143151E8001F21F040002168143141E80E -:103DD0000002002AF3D100BFE06B50B17748E16BDD -:103DE0000865E06BFEF71CF988B1E06B016D884750 -:103DF0000DE02046FFF76EFF09E009E02046FFF7DF -:103E000069FF04E02046FFF765FF002060647DE75E -:103E1000206B012878D105F01000002874D006F03E -:103E200010000028FAD000BF002000902068006831 -:103E3000009020684068009000BF00BF2068406983 -:103E400000F04000402860D1E06B006840681FFA35 -:103E500080F8B8F1000F56D0A08D404553DDA4F88E -:103E60002E80E06BC069B0F5807F43D000BF00BFFB -:103E700021680C3151E8001F21F4807021680C3159 -:103E800041E80002002AF3D100BF00BF00BF216853 -:103E9000143151E8001F21F001002168143141E87C -:103EA0000002002AF3D100BF00BF00BF2168143117 -:103EB00051E8001F21F040002168143141E8000260 -:103EC000002AF3D100BF202084F8420000202063A4 -:103ED00000BF00BF21680C3151E8001F21F0100025 -:103EE00021680C3141E80002002AF3D100BFE06BE9 -:103EF000FEF740F802206063A08DE28D801A81B247 -:103F00002046FFF7CFFE01E742E0A08DE18D401A89 -:103F10001FFA80F8E08DD0B3B8F1000F37D000BFA2 -:103F200000BF21680C3151E8001F21F49070216816 -:103F30000C3141E80002002AF3D100BF00BF00BFEE -:103F40002168143151E8001F21F00100216814316B -:103F500041E80002002AF3D100BF202084F842008B -:103F60000020206300BF00BF21680C3151E8001F12 -:103F700021F0100021680C3141E80002002AF3D141 -:103F800000BF0220606341462046FFF78BFEBDE67E -:103F900005F0800030B106F0800018B1204602F034 -:103FA00059FEB3E605F0400030B106F0400018B10C -:103FB000204602F08BFCA9E600BFA7E64D6800088A -:103FC00010B504460CB9012010BDA06900B100E095 -:103FD00000BF94F8410028B9002084F84000204632 -:103FE00000F02AF8242084F841002068C06820F4FA -:103FF00000502168C860204602F0F6FC2068006985 -:1040000020F49040216808612068406920F02A006F -:10401000216848612068C06840F400502168C86089 -:1040200000206064202084F8410084F842000020D1 -:10403000606300BFC8E7000010B586B004461421D5 -:1040400001A8FCF7F7F869492068884257D100BFFA -:10405000002000906648006840F400206449086031 -:104060000846006800F40020009000BF00BF00BFB9 -:10407000002000905E481038006840F001005C4964 -:10408000103908600846006800F00100009000BF89 -:1040900000BF032001900220029000200390032023 -:1040A00004900820059001A95248FEF777F952487C -:1040B0005249086040054860002150488160C16055 -:1040C0004FF4806101610021416181614FF4807191 -:1040D000C161002101624162FEF7D6F808B1FDF727 -:1040E000ABFA00BF4548E063846300BF002211467D -:1040F0003420FEF74BFE3420FEF734FE73E04049D7 -:104100002068884233D100BF002000903848001D4D -:10411000006840F010003649091D08600846006834 -:1041200000F01000009000BF00BF00BF0020009012 -:104130002F481038006840F001002D491039086000 -:104140000846006800F00100009000BF00BF4FF477 -:10415000C060019002200290002003900320049090 -:104160000720059001A92348FEF718F93BE02549EF -:104170002068884237D100BF002000901C480068AA -:1041800040F400301A4908600846006800F4003026 -:10419000009000BF00BF00BF0020009014481038FE -:1041A000006840F0080012491039086008460068AD -:1041B00000F00800009000BF00BF602001900220C6 -:1041C000029000200390032004900720059001A98D -:1041D0000D48FEF7E3F8002202212620FEF7D6FD67 -:1041E0002620FEF7BFFD06B010BD0000004C0040C9 -:1041F000403802400000024040600240B00400200D -:104200000010014000440040000C024070B504461C -:104210000D46164694F8420020280BD105B10EB980 -:10422000012070BD0020206332462946204602F05E -:10423000F1FCF6E70220F4E770B50446FEF7B6F9A4 -:1042400005461949206888422CD118480088B0F5E5 -:10425000167F1FDA16490A7814490888411C134B47 -:10426000198014490A5418460088182815DB12488A -:104270000068281AB0F57A7F08D31846008840F401 -:104280000040194608800C48056006E000200749F8 -:10429000088002E0002005490880012204490748FF -:1042A000FFF7B4FF70BD0000004C00408401002007 -:1042B0000C000020A008002024000020D8030020CB -:1042C0002DE9F84F04460E46174699464FF0000A6E -:1042D00094F84100202850D106B117B90120BDE85B -:1042E000F88F00206064212084F84100FEF75EF919 -:1042F0008246A784E784A068B0F5805F04D1206976 -:1043000010B90025B04602E035464FF000081EE027 -:104310005346002280212046CDF8009002F0CAFCCE -:1043200020B1202084F841000320D8E745B9B8F82F -:104330000000C0F308002168486008F1020803E0AB -:104340002878216848606D1CE08C401EE084E08C79 -:104350000028DDD15346002240212046CDF80090B0 -:1043600002F0A8FC20B1202084F841000320B6E729 -:10437000202084F841000020B1E70220AFE7704719 -:1043800000BFFEE7014608684069C0F38020B0B175 -:104390006FF480600A68506100200863202081F873 -:1043A0003D00002081F83E00086C40F004000864E5 -:1043B00000BF002081F83C0000BF012070470020B2 -:1043C000FCE700002DE9F84304460F4615469946E0 -:1043D000DDE908862068006840F480602168086094 -:1043E0002068006840F4807021680860434600221D -:1043F0004FF001112046009600F037F960B12068B7 -:10440000006800F48070B0F5807F02D14FF4007036 -:1044100020640320BDE8F88307F0FE0021680861EE -:10442000334642463E49204600F07EF908B101205D -:10443000F0E700BF002000902068406900902068ED -:104440008069009000BF00BF32464146204600F020 -:104450002DFA50B1206C042805D12068006840F482 -:104460000070216808600120D4E7B9F1010F03D181 -:10447000E8B22168086117E0C5F3072021680861E8 -:1044800032464146204600F011FA50B1206C042813 -:1044900005D12068006840F40070216808600120A0 -:1044A000B8E7E8B22168086132464146204600F08C -:1044B000FDF950B1206C042805D12068006840F453 -:1044C0000070216808600120A4E72068006840F4BB -:1044D000807021680860434600224FF00111204699 -:1044E000009600F0C2F858B12068006800F48070AF -:1044F000B0F5807F02D14FF400702064032089E77B -:10450000F8B240F001002168086133464246044990 -:10451000204600F009F908B101207BE7002079E787 -:10452000020001002DE9F8430446884615469946E5 -:10453000DDE908672068006840F480702168086041 -:10454000334600224FF001112046009700F08DF80D -:1045500060B12068006800F48070B0F5807F02D1FF -:104560004FF4007020640320BDE8F88308F0FE00DB -:10457000216808613B4632462149204600F0D4F8C4 -:1045800008B10120F0E700BF0020009020684069DA -:10459000009020688069009000BF00BF3A46314615 -:1045A000204600F083F950B1206C042805D1206822 -:1045B000006840F40070216808600120D4E7B9F178 -:1045C000010F03D1E8B22168086117E0C5F30720A5 -:1045D000216808613A463146204600F067F950B13B -:1045E000206C042805D12068006840F40070216820 -:1045F00008600120B8E7E8B2216808610020B3E74D -:104600000200010070B504460D46164625E020461E -:10461000FFF7B8FE08B1012070BD681CE8B1FDF7D6 -:10462000C5FF801BA84200D8BDB920684069C0F30F -:10463000800090B900202063202084F83D000020F5 -:1046400084F83E00206C40F02000206400BF002071 -:1046500084F83C0000BF0120DEE720684069C0F319 -:1046600080000028D3D00020D6E72DE9F041044691 -:104670000D4617461E46DDF8188038E0701CA8B3BA -:10468000FDF794FFA0EB0800B04200D876BBC5F35D -:10469000074001280AD120684069A9B20840A9B2A0 -:1046A000884201D101200BE0002009E020688069E8 -:1046B000A9B20840A9B2884201D1012000E000203F -:1046C000B84214D100202063202084F83D0000204F -:1046D00084F83E00206C40F02000206400BF0020E1 -:1046E00084F83C0000BF0120BDE8F081FFE7C5F37E -:1046F000074001280AD120684069A9B20840A9B240 -:10470000884201D101200BE0002009E02068806987 -:10471000A9B20840A9B2884201D1012000E00020DE -:10472000B842ABD00020DFE72DE9F04104460D464A -:1047300016461F4658E020684069C0F38020E8B163 -:104740002068006840F40070216808606FF48060A1 -:104750002168486100202063202084F83D0000206B -:1047600084F83E00206C40F00400206400BF00206C -:1047700084F83C0000BF0120BDE8F081701C90B3BC -:10478000FDF714FFC01BB04200D866BBC5F307405D -:1047900001280AD120684069A9B20840A9B288421C -:1047A00001D101200BE0002009E020688069A9B256 -:1047B0000840A9B2884201D1012000E0002090B950 -:1047C00000202063202084F83D00002084F83E0073 -:1047D000206C40F02000206400BF002084F83C00E2 -:1047E00000BF0120C8E7FFE7C5F3074001280AD151 -:1047F00020684069A9B20840A9B2884201D10120CD -:104800000BE0002009E020688069A9B20840A9B245 -:10481000884201D1012000E0002000288BD0002038 -:10482000AAE770B504460D46164637E02068406991 -:10483000C0F30010A0B16FF01000216848610020A3 -:104840002063202084F83D00002084F83E00206C86 -:10485000206400BF002084F83C0000BF012070BD30 -:10486000FDF7A4FE801BA84200D8BDB920684069AE -:10487000C0F3801090B900202063202084F83D0010 -:10488000002084F83E00206C40F02000206400BF2F -:10489000002084F83C0000BF0120E0E72068406968 -:1048A000C0F380100028C1D00020D8E770B50446BE -:1048B0000D46164625E02046FFF764FD08B10120AD -:1048C00070BD681CE8B1FDF771FE801BA84200D8DE -:1048D000BDB920684069C0F3C01090B900202063C2 -:1048E000202084F83D00002084F83E00206C40F039 -:1048F0002000206400BF002084F83C0000BF01209D -:10490000DEE720684069C0F3C0100028D3D0002043 -:10491000D6E7000010B501F0C3F84FF480620849F3 -:104920000848FFF786F908A000F018F84FF4FA607D -:10493000FDF720FD07A000F011F8FCF763FF10BDA4 -:10494000100500206804002041542B4346554E3D7D -:10495000310D0A0041540D0A0000000070B50446F4 -:104960004FF400711A48FBF765FC002019490880D4 -:10497000194908802046FBF790FC86B24FF4FA7381 -:10498000324621461548FFF79BFC4FF47A7514E038 -:104990001148008800280DDD11A11248FBF755FCD5 -:1049A00020B911A10F48FBF750FC00B170BD0020E9 -:1049B000094908800120FDF7DDFC281EA5F1010151 -:1049C0008DB2E5D121460AA002F074FB00BFEDE7ED -:1049D000900500204E0000204C00002068040020BC -:1049E0004F4B0000100500204552524F520000006E -:1049F0004154C3FCC1EEB3ACCAB13A2025730A00DE -:104A000010B50248FDF7D8FD10BD0000640200207B -:104A1000FEB504460D4616464FF4FA6001232246C1 -:104A2000A121CDE9005602900148FDF7ADFEFEBD83 -:104A300064020020FEB504460D4616464FF4FA60A7 -:104A400001232246A021CDE9005602900348FEF73B -:104A50001FF80520FDF78EFCFEBD0000640200205B -:104A600000B5A1B021A0FFF779FF4FF49670FDF7D4 -:104A700081FC22A0FFF772FF4FF49670FDF77AFCDD -:104A800022A0FFF76BFF6420FDF774FC27A0FFF75F -:104A900065FF6420FDF76EFC2CA32EA231A101A8B6 -:104AA00002F018FB01A8FFF759FF4FF4FA60FDF779 -:104AB00061FC32A034A336A23AA1009001A802F012 -:104AC00009FB01A8FFF74AFF4FF47A70FDF752FC8B -:104AD0003CA244A101A802F0FDFA01A8FFF73EFFA5 -:104AE0004FF47A70FDF746FC21B000BD41542B51C4 -:104AF0004D54444953433D300D0A000041542B515D -:104B00004D54434C4F53453D300D0A0041542B51F9 -:104B10004D544346473D22726563762F6D6F646541 -:104B2000222C302C302C300D0A00000041542B5127 -:104B30004D544346473D226B656570616C697665EF -:104B4000222C302C36300D0A00000000313838336A -:104B5000000000003130312E3133332E3134312E0C -:104B60003136370041542B514D544F50454E3D3056 -:104B70002C222573222C25730D0A00006C646862B8 -:104B800030383133000000006C64686200000000BF -:104B90004C444D4355323032353031323041303073 -:104BA0003031000041542B514D54434F4E4E3D3057 -:104BB0002C222573222C222573222C222573220DD0 -:104BC0000A0000002F7365727665722F636F6F2F76 -:104BD0004C444D4355323032353031323041303033 -:104BE0003031000041542B514D545355423D302C2F -:104BF000312C222573222C310D0A000070B5C2B071 -:104C0000FA480088002875DDF949FAA002F052FA46 -:104C1000FEA1F748FBF719FB00286CD07B21F44874 -:104C2000FBF731FB04467D21F148FBF73DFB0546D0 -:104C3000002C7DD0002DFCD0A54279D9281B461C24 -:104C40004FF4807102A8FBF7F5FA3246214602A81C -:104C5000FBF70DFB0020019001AAEFA102A8FBF7D2 -:104C60002FFB012833D10198012804D0022810D04D -:104C700003282AD11BE0012001F0A6FAE9A002F0E6 -:104C800019FA0020D94908808021D948FBF7D2FAC7 -:104C90001CE0022001F098FAE6A002F00BFA0020D6 -:104CA000D24908808021D248FBF7C4FA0EE00320E5 -:104CB00001F08AFAE3A002F0FDF90020CB49088058 -:104CC0008021CB48FBF7B6FA00E000BF0AE301AA57 -:104CD000E0A102A8FBF7F4FA012835D1E048FEF77D -:104CE000B1FDE048007801280AD0022804D003284A -:104CF0000ED109E0FFE2F7E2DB490198086007E026 -:104D0000DA490198086003E0D9490198086000BFBA -:104D100000BF01F0E9FC0020FCF7CAFA0020FCF714 -:104D20002BFA0020FCF73AFA0020D249086000E094 -:104D3000D9E2D1490860CA490968486201F092F88D -:104D4000C748FEF72BFDCDE201AACCA102A8FBF7D4 -:104D5000B7FA01281AD1C3480078012808D00228E0 -:104D600002D003280CD107E0C7490198086007E08A -:104D7000C6490198086003E0C5490198086000BF72 -:104D800000BF01F0B1FC01F06DF8ABE201AAC1A1D6 -:104D900002A8FBF795FA01281AD1B2480078012839 -:104DA00008D0022802D003280CD107E0BC490198A2 -:104DB000086007E0BB490198086003E0BA49019820 -:104DC000086000BF00BF01F08FFC01F04BF889E2E2 -:104DD00001AAB6A102A8FBF773FA01281AD1A148CB -:104DE0000078012808D0022802D003280CD107E05F -:104DF000B1490198086007E0B0490198086003E0F4 -:104E0000AF490198086000BF00BF01F06DFC01F0E0 -:104E100029F867E201AAABA102A8FBF751FA012821 -:104E20001AD190480078012808D0022802D003281F -:104E30000CD107E0A6490198086007E0A549019850 -:104E4000086003E0A4490198086000BF00BF01F0BA -:104E50004BFC01F007F845E201AAA0A102A8FBF76C -:104E60002FFA01281AD17F480078012808D002289B -:104E700002D003280CD107E09B490198086007E0A5 -:104E80009A490198086003E099490198086000BFB9 -:104E900000BF01F029FC00F0E5FF23E201AA95A183 -:104EA00002A8FBF70DFA012815D10198012808D1B5 -:104EB00093490870002093490860012000F010FE1B -:104EC00010E201980028A4D18D4908708D4908602E -:104ED00000F006FE06E201AA8BA102A8FBF7F0F99A -:104EE000012806D18B490198086000208549086097 -:104EF000F8E101AA88A102A8FBF7E2F9012806D18E -:104F000088490198086000207E490860EAE101AA0A -:104F100085A102A8FBF7D4F9012829D1019801281D -:104F200002D00198002896D1019808B9012000E02C -:104F30000020804908700198012808D100200870DD -:104F40000120FCF7B5F97CA002F0B4F808E00120DC -:104F5000784908700020FCF7ABF97BA002F0AAF8B2 -:104F600000202249088080212148FBF763F9B9E13C -:104F700001AA79A102A8FBF7A3F9012822D101987F -:104F8000012802D00198002887D1019808B9012092 -:104F900000E00020734908700198012808D1002022 -:104FA00008700120FCF7E8F86FA002F083F899E19F -:104FB00001206C4908700020FCF7DEF86EA002F0BA -:104FC00079F88FE101AA70A102A8FBF779F901280D -:104FD0000AD10198012802D00198002888D10198AF -:104FE000012802D10020D5E0E7E0DCE04C00002001 -:104FF00010050020BDD3CAD5B5BDB5C4D4ADCABC5B -:10500000CAFDBEDD3A2025730A0000002B514D5425 -:10501000524543563A0000007B22583130223A254F -:10502000647D0000C7D0BBBBB5BDB3E5B2DEC4A391 -:10503000CABD0A00C7D0BBBBB5BDB9E0B8C8C4A3E0 -:10504000CABD0A00C7D0BBBBB5BDD6B1C5C5C4A3D8 -:10505000CABD0A007B22583234223A25647D000002 -:10506000B802002018010020D4000020B400002065 -:10507000940000201C010020200100207B225832D7 -:1050800035223A25647D0000D8000020B8000020B9 -:10509000980000207B22583534223A25647D000098 -:1050A000DC000020BC0000209C0000207B22583542 -:1050B00035223A25647D0000E0000020C000002079 -:1050C000A00000207B22583536223A25647D00005E -:1050D000EC000020C4000020A40000207B225835F2 -:1050E00037223A25647D0000F0000020C80000202F -:1050F000A80000207B22583135223A25647D00002B -:1051000040010020440100207B22583230223A2501 -:10511000647D0000480100207B22583231223A256C -:10512000647D00004C0100207B22583132223A2558 -:10513000647D000044000020CBAEB1C3C7BFD6C61B -:10514000BFAAC6F40A000000CBAEB1C3C7BFD6C623 -:10515000B9D8B1D50A0000007B22583133223A2554 -:10516000647D000045000020B7E7BBFA31C7BFD619 -:10517000C6BFAAC6F40A0000B7E7BBFA31C7BFD65C -:10518000C6B9D8B1D50A00007B22583134223A255D -:10519000647D0000594908700120FBF7FFFF58A00B -:1051A00001F088FF9EE00120544908700020FBF7C1 -:1051B000F5FF57A001F07EFF94E001AA58A102A8D4 -:1051C000FBF77EF801280AD10198012802D0019846 -:1051D0000028E7D10199C8B2FCF710F882E001AAD3 -:1051E00052A102A8FBF76CF8012807D19DED010A36 -:1051F000B8EEC00A504880ED000A73E001AA4FA142 -:1052000002A8FBF75DF8012807D19DED010AB8EE71 -:10521000C00A4D4880ED000A64E001AA4BA102A833 -:10522000FBF74EF8012809D10198012801D0019817 -:10523000F8B90199C8B2FBF773FF53E001AA46A180 -:1052400002A8FBF73DF801281CD10198012811D1D3 -:10525000444908700020444908604448007808B96F -:10526000012000E00020414908700199C8B202F015 -:1052700057FE37E00199C8B202F052FE00203949CA -:1052800008702FE001AA3AA102A8FBF719F801283B -:1052900003D1019800F032FE24E001AA37A102A850 -:1052A000FBF70EF8012803D1019800F02DFE19E05C -:1052B00001AA35A102A8FBF703F8012812D1019831 -:1052C000012803D133A001F0F5FE04E0019810B9E4 -:1052D00034A001F0EFFE00203A49088080213A48CE -:1052E000FAF7A8FF00BF00BF0020364908808021E0 -:1052F0003548FAF79FFF42B070BD0000450000201E -:10530000B7E7BBFA32C7BFD6C6BFAAC6F40A0000C9 -:10531000B7E7BBFA32C7BFD6C6B9D8B1D50A0000C5 -:105320007B22583138223A25647D00007B22583296 -:1053300032223A25647D00005C0100207B22583235 -:1053400033223A25647D0000600100207B2258351D -:1053500039223A25647D00007B22583439223A25CF -:10536000647D0000DC010020E0010020DD01002060 -:105370007B22583531223A25647D00007B22583546 -:1053800032223A25647D00007B22583538223A25A6 -:10539000647D0000C6F4B6AFC5E0BEFAC4A3CABDC2 -:1053A0000A000000CDA3D6B9C5E0BEFAC4A3CABDA9 -:1053B000A3ACC7D0BBBBB5BDD6B1C5C5C4A3CABD20 -:1053C0000A0000004C0000201005002070B50646C1 -:1053D0000C4615464FF480710E48FAF72BFF0EA2CB -:1053E00014A10C4801F076FE0A48FFF7B7FA4FF413 -:1053F0007A732A4621461648FEF762FF4FF47A7305 -:10540000012214A11248FEF75BFF6420FCF7B2FFF3 -:1054100070BD0000900700202F6465762F636F6FCA -:105420002F4C444D435532303235303132304130DB -:105430003030310041542B514D545055423D302CA9 -:10544000302C302C302C222573220D0A0000000055 -:10545000680400201A00000010B500F0AFFC0446FC -:105460005C480078844209D000205B4908605B49B1 -:10547000086001205A49087056480470002C52D127 -:105480005848007830B10020FBF712FF0020564941 -:1054900008601FE05048006854490968884206D2F5 -:1054A0000120FBF705FF01204F49086012E04F483B -:1054B00000684F490968084447490968884206D985 -:1054C0000020FBF7F5FE00204749086002E00020BD -:1054D000414908604748007818B10020FBF770FE8A -:1054E00077E03E48006844490968884203D20120B9 -:1054F000FBF766FE6DE00020FBF762FE3E480068A9 -:105500003E490968084435490968884261D8002045 -:10551000324908603A48007808B9012000E00020CC -:105520003749087055E00020FBF7C2FE00202E49E5 -:1055300008603048007818B10020FBF741FE48E0D1 -:105540002748007820B3254800682E49096888421A -:1055500003D20120FBF734FE3BE00020FBF730FED6 -:10556000284800682849096808441C490968884295 -:105570002FD80020194908602148007808B9012077 -:1055800000E000201E49087000201549087020E046 -:10559000124800681D490968884203D20120FBF7C0 -:1055A0000FFE16E00020FBF70BFE184800681849B4 -:1055B000096808440949096888420AD8002007494F -:1055C00008600F48007808B9012000E000200C496D -:1055D000087010BD310100201C01002020010020B6 -:1055E00025010020440000202C010020D4000020D0 -:1055F000D800002045000020DC000020E000002052 -:1056000024010020E4000020E8000020EC0000203D -:10561000F000002000B58DB0002009900A900B909A -:105620000C90202101A8FAF705FE214821490860C5 -:105630000020486000211F4881600161017680F8E8 -:105640002010C1621C4981620021C1600121C16139 -:10565000002180F8301001214161FCF7E5FA08B122 -:10566000FBF7EAFF0420099001200A9006200B9026 -:1056700009A91048FCF70EFA08B1FBF7DDFF04207A -:1056800001900120029005900020039008900B48A3 -:10569000079000208DF819008DF81800049001A9DA -:1056A0000448FCF7E3F808B1FBF7C6FF0DB000BDF6 -:1056B000002201401C0200200100000F01000F0029 -:1056C00008B500BF002000900A48006840F40010B0 -:1056D000084908600846006800F40010009000BF08 -:1056E00000BF002211460D20FDF750FB0D20FDF7F5 -:1056F00039FB08BD3038024000B587B0142102A83C -:10570000FAF798FD00BF002001905548006840F06E -:105710001000534908600846006800F0100001902E -:1057200000BF00BF00BF002001900846006840F0A5 -:10573000040008600846006800F00400019000BF03 -:1057400000BF00BF002001900846006840F0200024 -:1057500008600846006800F02000019000BF00BF0C -:1057600000BF002001900846006840F080000860FB -:105770000846006800F08000019000BF00BF00BF35 -:10578000002001900846006840F0010008600846CB -:10579000006800F00100019000BF00BF00BF0020C2 -:1057A00001900846006840F0400008600846006824 -:1057B00000F04000019000BF00BF00BF002001903A -:1057C0000846006840F0080008600846006800F0DD -:1057D0000800019000BF00BF00220C212148FCF707 -:1057E000DFFE002242F65E211F48FCF7D9FE0C20A6 -:1057F00002900120039000200490059002A919480E -:10580000FCF7CCFD0420029000200390049002A934 -:105810001648FCF7C3FD20200290002003900120D1 -:10582000049002A91248FCF7B9FD40F61E20029030 -:105830000120039000200490059002A90A48FCF77B -:10584000ADFD4FF401500290012003900020049020 -:105850000220059002A90448FCF7A0FD07B000BD96 -:10586000303802400010024000180240001402408C -:105870000008024010B50B480B4908600B4848600F -:10588000002109488160C1604FF48041016100211D -:1058900041618161C1610162FCF78EFE08B1FBF7D5 -:1058A000CBFE10BD0058004064020020A08601001D -:1058B00000B587B0002003900490059006900190F9 -:1058C00002904FF080401449086041F61F40486044 -:1058D0000021114881601149C1600021016181618D -:1058E000FDF7AAFE08B1FBF7A7FE4FF48050039026 -:1058F00003A90948FDF7C5FF08B1FBF79DFE00208D -:105900000190029001A90448FDF73CFE08B1FBF7A5 -:1059100093FE07B000BD0000B8020020BF270900B9 -:1059200000B587B000200390049005900690019088 -:10593000029015481549086041F61F404860002153 -:105940001248816042F20F71C160002101618161E2 -:10595000FDF772FE08B1FBF76FFE4FF48050039025 -:1059600003A90A48FDF78DFF08B1FBF765FE00208B -:105970000190029001A90548FDF704FE08B1FBF76C -:105980005BFE07B000BD00000004004000030020E3 -:105990001CB50020009001900E480F490860472078 -:1059A000486000210C48816040F2E731C16000216D -:1059B0008161FDF741FE08B1FBF73EFE002000903B -:1059C000019069460448FDF7DDFD08B1FBF734FEA0 -:1059D0001CBD000000100040480300201CB5002042 -:1059E000009001900E480F49086041F61F40486042 -:1059F00000210C48816042F20F71C1600021816179 -:105A0000FDF71AFE08B1FBF717FE00200090019089 -:105A100069460448FDF7B6FD08B1FBF70DFE1CBD55 -:105A2000001400409003002010B50D480D49086097 -:105A30004FF4965048604FF480510A48816000212D -:105A4000C1604FF4806101610C21416100218161DD -:105A5000C161FEF7B5FA08B1FBF7EEFD10BD00001D -:105A6000004C0040D803002010B50B480B490860DB -:105A70004FF4E1304860002108488160C160016155 -:105A80000C21416100218161C161FEF799FA08B1E1 -:105A9000FBF7D2FD10BD00000010014020040020E3 -:105AA00010B50B480B4908604FF4E1304860002105 -:105AB00008488160C16001610C2141610021816160 -:105AC000C161FEF77DFA08B1FBF7B6FD10BD00001D -:105AD000004400406804002000BFFEE700BFFEE76E -:105AE00010B504462CB1012240210548FCF758FDB1 -:105AF00004E0002240210248FCF752FD10BD0000E6 -:105B00000018024010B512480078E8B1114800684A -:105B100011490968884203D80120FFF7E1FF16E028 -:105B20000D4800680D49096808440A490968884217 -:105B300003D30020FFF7D4FF09E0002005490860E7 -:105B40000120FFF7CDFF02E00020FFF7C9FF10BDE5 -:105B50004001002044010020480100204C010020A9 -:105B600010B540210148FCF713FD10BD001802409C -:105B700010B5012004490870002004490860012084 -:105B8000FFF7AEFF10BD00004001002044010020DF -:105B90007047000010B500F05DF9044694B1154857 -:105BA000007878B901201349087000201249086074 -:105BB0001248007808B9012000E000200F49087061 -:105BC000FBF73EFB0B48007890B10B480068401C87 -:105BD000094908600846006809490968884207D3EE -:105BE0000020FBF71BFB00200249087002490860F7 -:105BF00010BD0000DC010020E0010020DD010020DC -:105C0000E401002010B52DED0E8B9FED4A0AF0EE59 -:105C1000408A4948FCF7E4F864214748FCF778F8E3 -:105C2000002871D14448FBF7FBFF4449088008462F -:105C3000008800EE100AB8EE400ADFED410A20EEBF -:105C4000200ADFED3C0A20EE200A3E4880ED000AE3 -:105C500090ED000ADFED3C0A20EE200AD0ED000AAC -:105C60009FED3A1A71EE600A80EE201AB0EE418A7A -:105C70009FED350AC8EE000A10EE904A2046FAF76A -:105C800069FD41EC1E0BB0EE4E0AF0EE6E0A01F01B -:105C900053FAB0EE40DAF0EE60DA9FED2D0B53ECE4 -:105CA000102B51EC1D0BFAF7E6FC41EC1C0B9FEDA1 -:105CB0002A0B53EC102BFAF7C5FB41EC1B0B53ECF2 -:105CC0001B2B9FED270B51EC100BFAF7D4FC41EC8A -:105CD0001A0B9FED250B53EC102BFAF754FC41ECFB -:105CE000190BFAF763FD22490860084690ED000A97 -:105CF0002048D0ED000AB4EEE00AF1EE10FA04D22A -:105D00000120FBF77BFA0EE00EE0194890ED000A47 -:105D10001948D0ED000AB4EEE00AF1EE10FA02DD07 -:105D20000020FBF76BFA00BF0348FCF7FFF8BDEC5F -:105D30000E8B10BD9A99193F1C02002064010020AF -:105D40003333533A6801002000401C46333353403C -:105D50000000000000DCAE40000000E0E1796B3F95 -:105D6000000000000000F03F00000060661271407B -:105D70006C0100205C0100206001002010B51021A2 -:105D80000148FCF705FC10BD0018024010B50421C5 -:105D90000148FCF7FDFB10BD0018024010B50821BA -:105DA0000148FCF7F5FB10BD0018024010B520219A -:105DB0000148FCF7EDFB10BD0008024010B5FFF7ED -:105DC000F5FF04460E480078844205D000200D49B6 -:105DD00008700B48047010E00A4800780A280CDAB2 -:105DE00008480078401C07490870084600780A28CF -:105DF00003DB05480470002008700348007810BDDC -:105E000027010020260100202801002010B54FF4B2 -:105E100000710248FCF7BCFB10BD000000180240F6 -:105E200010B504210148FCF7B3FB10BD001402407B -:105E300010B504210648FCF7ABFB20B90821044843 -:105E4000FCF7A6FB08B1012010BD0020FCE7000014 -:105E50000010024010B502210148FCF799FB10BD6B -:105E60000018024010B51B48FDF7ECFC00F082F969 -:105E70000020194908601949086019490860194942 -:105E80000860012018490870002018490860184966 -:105E900008704FF47A70FCF76DFA16480078012804 -:105EA00004D0022805D0032809D105E000F0D0F97C -:105EB00005E000F0EDF902E000F0B0F900BF00BF2E -:105EC000002005490860054908600248FDF766FCA6 -:105ED00010BD0000B80200201C010020200100209D -:105EE0001001002014010020250100202C010020B9 -:105EF00024010020180100207047000001490860BB -:105F000070470000E401002001490860704700006C -:105F1000E801002010B5FFF751FF044680480078E3 -:105F2000844207D000207F49086001207E49087024 -:105F30007B48047014BB7B4800687C490968884230 -:105F400003D20120FBF73CF963E078480068784908 -:105F50000968084473490968884203D90020FBF79F -:105F60002FF956E000206F4908607248007808B9A0 -:105F7000012000E000206F4908704AE06A4800787C -:105F800028B3684800686C490968884203D2012038 -:105F9000FBF716F93DE0684800686849096808445D -:105FA00060490968884203D90020FBF709F930E00D -:105FB00000205C4908605F48007808B9012000E0D3 -:105FC00000205C49087000205749087021E05548BE -:105FD00000685B490968884203D20120FBF7F0F8AA -:105FE00017E0574800685749096808444D4909684F -:105FF000884203D90020FBF7E3F80AE00020494972 -:1060000008604C48007808B9012000E000204949A8 -:1060100008704D48007830B1012819D0022847D0C7 -:1060200003287BD174E00020FBF742F900204749A8 -:1060300008604748006847490968884207D9012035 -:10604000414908700020424908604349086065E002 -:106050003F48006841490968884220D23E480068AC -:106060003F490968884206D20120FBF721F9012047 -:10607000364908601BE03A4800683A490968084414 -:1060800035490968884206D90020FBF711F900203C -:106090002E4908600BE000202F49086007E002202D -:1060A0002949087000202A4908602B49086035E01A -:1060B000274800682C490968884220D22648006891 -:1060C00027490968884206D20120FBF7F1F8012030 -:1060D0001E4908601BE022480068244909680844FA -:1060E0001D490968884206D90020FBF7E1F8002025 -:1060F000164908600BE000201749086007E00320FC -:106100001149087000F08AF803201949087005E069 -:1061100000F084F803201649087000BF00BF10BDCE -:106120003301002020010020250100209C000020D8 -:10613000A000002024010020AC000020B0000020BE -:10614000A4000020A80000200C0100202C01002049 -:1061500010010020F400002014010020F8000020AD -:10616000FC000020000100200401002008010020A4 -:106170001801002010B50020FBF79AF80020FAF76C -:10618000FBFF0020FBF70AF80020094908600949D5 -:106190000860094908600949086001200849087039 -:1061A0000020084908604FF47A70FCF7E3F810BD4E -:1061B0001C010020200100201001002014010020FB -:1061C000250100202C01002010B50446FFF7D2FF66 -:1061D000012C06D0022C0AD0032C0ED0042C18D18E -:1061E00011E000F035F801200B49087012E000F0D2 -:1061F0004FF80220084908700CE000F00FF8032067 -:106200000549087006E000F063F8042002490870B0 -:1062100000E000BF00BF10BD1801002010B5002035 -:106220000849086008490860FFF7C8FD0749087079 -:106230000020FBF73DF80020FAF79EFF0020FAF758 -:10624000ADFF10BD1C010020200100203001002006 -:1062500010B500200A4908600A49086001200A496F -:106260000870FFF7ABFD094908700020FBF720F824 -:106270000020FAF781FF0020FAF790FF10BD000020 -:106280001C010020200100202501002032010020F7 -:1062900010B500200A4908600A49086001200A492F -:1062A0000870FFF78BFD094908700020FBF700F824 -:1062B0000020FAF761FF0020FAF770FF10BD000020 -:1062C0001C010020200100202501002031010020B8 -:1062D00010B500200D4908600D4908700D4908608F -:1062E0000D49086001200D490870FFF767FD0C4952 -:1062F00008700020FAF7DCFF0020FAF73DFF0020CD -:10630000FAF74CFF04200749087010BD2001002057 -:106310000C010020100100201401002025010020A4 -:10632000330100201801002010B5FCF7A7FC10BDB8 -:1063300000B593B0302107A8F9F77CFF142102A81B -:10634000F9F778FF00BF002001902348006840F073 -:106350008050214908600846006800F08050019094 -:1063600000BF00BF00BF002001901C48006840F43F -:1063700080401A4908600846006800F48040019097 -:1063800000BF00BF012007900004089002200D907C -:1063900041050E9108210F91902110910221119138 -:1063A0000421129107A8FCF783FE08B1FBF744F91A -:1063B0000F20029002200390002004904FF48050A0 -:1063C000059000200690022102A8FCF731FD08B1DB -:1063D000FBF732F913B000BD4038024000700040B6 -:1063E0000348006840F470000149086070470000ED -:1063F00088ED00E010B50248FDF7CAFA10BD0000B4 -:10640000B802002010B50248FDF7C2FA10BD000026 -:106410000003002010B50248FDF7BAFA10BD0000D5 -:106420004803002010B50248FDF7B2FA10BD000085 -:106430009003002010B502682D4B98420ED0B0F1A9 -:10644000804F0BD02B4B984208D02B4B984205D055 -:106450002A4B984202D02A4B984203D122F0700274 -:106460004B681A43224B984220D0B0F1804F1DD088 -:10647000204B98421AD0204B984217D01F4B98427D -:1064800014D01F4B984211D01E4B98420ED01E4B79 -:1064900098420BD01D4B984208D01D4B984205D016 -:1064A0001C4B984202D01C4B984203D122F44072FC -:1064B000CB681A4322F080034C6943EA040202606D -:1064C0008B68C3620B688362094B984202D00C4B05 -:1064D000984201D10B69036301234361036903F00F -:1064E00001031BB1036923F00103036110BD000028 -:1064F000000001400004004000080040000C004083 -:1065000000040140004001400044014000480140B7 -:1065100000180040001C00400020004030B50C4630 -:10652000816821F47F4142EA0325254329438160A4 -:1065300030BD0A46816821F0700142F0070319431B -:106540008160704730B50B461446026A056A25F033 -:1065500001050562816921F0F00141EA041122F090 -:106560000A021A438161026230BD30B50B461446FF -:10657000026A056A25F010050562816921F47041FF -:1065800041EA043122F0A00242EA03128161026270 -:1065900030BD000010B504223B490020FEF738FA58 -:1065A00004223A491046FEF733FA042238490820FB -:1065B000FEF72EFA042237490C20FEF729FA0422AE -:1065C00035491020FEF724FA042234491420FEF73E -:1065D0001FFA042232491820FEF71AFA0422314920 -:1065E0001C20FEF715FA04222F492020FEF710FA8E -:1065F00004222E492420FEF70BFA04222C492820DD -:10660000FEF706FA04222B492C20FEF701FA042299 -:1066100029493020FEF7FCF9042228493420FEF7EE -:10662000F7F9042226493820FEF7F2F90422254919 -:106630003C20FEF7EDF9042223494020FEF7E8F95B -:10664000042222494420FEF7E3F90422204948208D -:10665000FEF7DEF904221F494C20FEF7D9F9042287 -:106660001D495020FEF7D4F904221C495420FEF79E -:10667000CFF904221A495820FEF7CAF90422194911 -:106680005C20FEF7C5F910BD9400002098000020A2 -:106690009C000020A0000020A4000020A8000020F2 -:1066A000AC000020B0000020B4000020B8000020A2 -:1066B000BC000020C0000020C4000020C800002052 -:1066C000CC000020D0000020D4000020D800002002 -:1066D000DC000020E0000020EC000020F0000020A2 -:1066E000E4000020E800002010B504223B4900200F -:1066F000FEF7A0F904223A491046FEF79BF904225E -:1067000038490820FEF796F9042237490C20FEF795 -:1067100091F9042235491020FEF78CF904223449FE -:106720001420FEF787F9042232491820FEF782F977 -:10673000042231491C20FEF77DF904222F49202034 -:10674000FEF778F904222E492420FEF773F904227B -:106750002C492820FEF76EF904222B492C20FEF745 -:1067600069F9042229493020FEF764F904222849F6 -:106770003420FEF75FF9042226493820FEF75AF943 -:10678000042225493C20FEF755F9042223494020E4 -:10679000FEF750F9042222494420FEF74BF9042267 -:1067A00020494820FEF746F904221F494C20FEF7F5 -:1067B00041F904221D495020FEF73CF904221C49EE -:1067C0005420FEF737F904221A495820FEF732F90F -:1067D000042219495C20FEF72DF910BD9400002019 -:1067E000980000209C000020A0000020A4000020B1 -:1067F000A8000020AC000020B0000020B400002061 -:10680000B8000020BC000020C0000020C400002010 -:10681000C8000020CC000020D0000020D4000020C0 -:10682000D8000020DC000020E0000020EC00002068 -:10683000F0000020E4000020E800002010B502482D -:10684000FDF74AFA10BD0000D803002070B50546D8 -:10685000AC6B0020E085E0842046FDF73BFA70BD7C -:1068600000BF00BF02680C3252E8002F22F4907182 -:1068700002680C3242E80013002BF3D100BF00BFC6 -:1068800000BF0268143252E8002F22F001010268B2 -:10689000143242E80013002BF3D100BF016B012931 -:1068A0000ED100BF00BF02680C3252E8002F22F068 -:1068B000100102680C3242E80013002BF3D100BF34 -:1068C000202180F8421000210163704710B5044672 -:1068D0002068C06820F040002168C860202084F84B -:1068E00041002046FDF74BFD002010BDF8B50446E1 -:1068F00094F84200222875D1A068B0F5805F0CD1D1 -:10690000206950B90025A66A20684068C0F30800D5 -:106910003080A06A801CA06215E0A56A0026A068ED -:10692000B0F5805F03D0A06828B9206918B9206845 -:106930004068287004E02068406800F07F002870FC -:10694000A06A401CA062E08D401E80B2E085002855 -:1069500046D12068C06820F020002168C860206807 -:10696000C06820F480702168C8602068406920F009 -:10697000010021684861202084F842000020606303 -:10698000206B012826D10020206300BF00BF2168B2 -:106990000C3151E8001F21F0100021680C3141E852 -:1069A0000002002AF3D100BF2068006800F0100048 -:1069B00010280AD100BF00200090206800680090D5 -:1069C00020684068009000BF00BFA18D2046FDF701 -:1069D00069F902E02046FDF72FFC0020F8BD01E038 -:1069E0000020FBE70220F9E72DE9F84F0446206874 -:1069F000006920F44050E16808432168086121697A -:106A0000A068084361690843E16908430090206871 -:106A1000C06849F20C618843009908432168C86046 -:106A20002068406920F44070A169084321684861EA -:106A300076492068884203D075492068884203D18E -:106A4000FCF7CEFA814602E0FCF7BAFA8146E0692B -:106A5000B0F5004F6CD102206168A0FB01500346E5 -:106A60001920A9FB007001462A463846F9F7AAFB0F -:106A70006421B0FBF1F04FEA001A02206168A0FB2C -:106A800001510B461920A9FB00712A463846F9F737 -:106A900099FB834602206168A0FB01500346192040 -:106AA000A9FB00712A463846F9F78CFB6421B0FB3C -:106AB000F1F000EBC00101EB0010ABEB80003221E4 -:106AC00001EBC0006421B0FBF1F000F0F8000AEB2C -:106AD000400A02206168A0FB015003461920A9FB6F -:106AE000007001462A463846F9F76CFB83460220BF -:106AF0006168A0FB015003461920A9FB00712A46DA -:106B00003846F9F75FFB6421B0FBF1F000EBC00100 -:106B100001EB0010ABEB8000322101EBC0006421DF -:106B2000B0FBF1F000F007005044216888606AE093 -:106B300004206168A0FB015003461920A9FB0070E6 -:106B400001462A463846F9F73DFB82460420616833 -:106B5000A0FB015003461920A9FB007001462A46FC -:106B60003846F9F72FFB6421B0FBF1F000EBC001D0 -:106B700001EB0010AAEB8000322101EB0010642130 -:106B8000B0FBF1F000F0F00A04206168A0FB017096 -:106B900003461920A9FB00513A462846F9F712FB93 -:106BA0006421B0FBF1F00AEB001A04206168A0FB3D -:106BB00001510B461920A9FB00712A463846F9F706 -:106BC00001FB834604206168A0FB015003461920A5 -:106BD000A9FB007001462A463846F9F7F3FA64210A -:106BE000B0FBF1F000EBC00101EB0010ABEB80005B -:106BF000322101EB00106421B0FBF1F000F00F0036 -:106C0000504421688860BDE8F88F00000010014002 -:106C10000014014010B5034699629A85DA85002078 -:106C20005864222083F84200186928B11868C068A7 -:106C300040F480701C68E0601868406940F0010012 -:106C40001C6860611868C06840F020001C68E06043 -:106C5000002010BD014691F84100212828D1886804 -:106C6000B0F5805F0BD1086948B90A6A1088C0F393 -:106C700008000B685860086A801C086205E00B6A0F -:106C8000581C086218780B685860C88C401E80B287 -:106C9000C88458B90868C06820F080000B68D860C4 -:106CA0000868C06840F040000B68D860002070475A -:106CB0000220FCE72DE9F84304460D4617469846A6 -:106CC000089E31E0701C70B3FBF770FCA0EB08006D -:106CD000B04200D816B90320BDE8F8832068C06828 -:106CE00000F00400F8B1802D1ED0402D1CD020688B -:106CF0000068C0F3C000B0B100BF00200090206861 -:106D00000068009020684068009000BF00BF2046E7 -:106D1000FFF7A6FD0820606400BF002084F8400053 -:106D200000BF0120D8E7FFE7206800682840A8429C -:106D300001D1012000E00020B842C3D00020CBE701 -:106D400010B50248FCF7C8FF10BD00006804002021 -:106D500010B51448007814490870FFF77BF8124901 -:106D60004870FFF713F810498870FFF717F80E49BD -:106D7000C870FEF7F5FE0C490871FFF717F80A49CD -:106D80004871FFF743F80849C871FFF749F8064909 -:106D90000872FFF74DF804494872FEF7EFFF024909 -:106DA000887210BD68000020900800202DE9F0478F -:106DB0002DED068BE2B0FFF7CBFFFAF77FF9FEF778 -:106DC00021FFFAF71FFD002500260027A846A94647 -:106DD000AA4671480078012816D0022804D003285A -:106DE00022D0042860D12FE06C4805686C48066802 -:106DF0006C4807686C48D0F800806C48D0F8009068 -:106E00006B48D0F800A04FE06A4805686A480668F9 -:106E10006A4807686A48D0F800806A48D0F800904D -:106E20006948D0F800A03FE06848056868480668EF -:106E3000684807686848D0F800806848D0F8009033 -:106E40006748D0F800A02FE0624807686248D0F891 -:106E500000806248D0F800906148D0F800A06148F6 -:106E6000007820B1012809D0022817D10EE05EA0D9 -:106E700000F020F900256448066813E063A000F0E4 -:106E800019F96A4805686A4806680BE069A000F0CD -:106E900011F9664805686F48066803E06EA000F0C7 -:106EA00009F900BF00BF00BF00BF72480068F9F7D2 -:106EB00051FC41EC180B70480068F9F74BFC41ECB1 -:106EC000190B6E480068F9F745FC41EC1A0B6C4849 -:106ED00090ED000B8DED200B2F480078042801D198 -:106EE000012000E00020CDE91D9ACDF870801F90B0 -:106EF0006448807A64490968644A1268CDE91A07CF -:106F0000CDE918215F48407A61490A7861490B78D8 -:106F10005C49097ACDE915321491179059484079A6 -:106F20005D4989785C4A52785B4B1B78CDE90E56F7 -:106F3000CDE91032CDE912108DED0C8B8DED0A9B51 -:106F40008DED08AB55480168554802684D48C07939 -:106F5000544B1B78CDE90330CDE905214948C07871 -:106F600048498978474A5278CDE9002102900A4879 -:106F700003784D4890F900204C4922A800F0AAF867 -:106F800084B2224622A90020FEF720FA62B0BDECAE -:106F9000068BBDE8F087000018010020D400002017 -:106FA000D8000020DC000020E0000020EC000020E1 -:106FB000F0000020B4000020B8000020BC00002039 -:106FC000C0000020C4000020C80000209400002061 -:106FD000980000209C000020A0000020A4000020B9 -:106FE000A80000200C010020CCD8CAE2C4A3CABD6E -:106FF000B3F5CABCBDD7B6CE202D203234D0A1CA3D -:10700000B1CDA3D6B90A0000F4000020CCD8CAE262 -:10701000C4A3CABDB5DAD2BBBDD7B6CE202D2036AB -:10702000D0A1CAB1D1ADBBB70A000000FC0000205E -:1070300000010020CCD8CAE2C4A3CABDB5DAB6FEAE -:10704000BDD7B6CE202D2034D0A1CAB1D1ADBBB7AB -:107050000A00000008010020B4EDCEF3A3BACEDE92 -:10706000D0A7B5C4CCD8CAE2C4A3CABDBDD7B6CEDA -:107070000A000000600100205C0100206C0100207B -:10708000B801002090080020E8010020E401002061 -:10709000EC010020FC0100207D0000204C010020BC -:1070A00048010020400100205100002078810008A4 -:1070B00000BFFEE70FB4054B10B503A9044A0298C0 -:1070C00000F0A6FB10BC5DF814FB0000497F00082F -:1070D000140200200FB4084B10B504A902AA0398AB -:1070E00000F096FB044602A9002000F014FF2046A1 -:1070F00010BC5DF814FB0000177F00080248006810 -:10710000C0F30220704700000CED00E010B500282D -:1071100004DB0A07130E054A135406E00A07140E8F -:10712000034A00F00F031B1FD45410BD00E400E01D -:1071300018ED00E00000000070B5D94B00242DEDE3 -:10714000020B2DED108BDDE91010984205DA20F0CE -:1071500000429A4201D809D141B19DED100BBDEC1E -:10716000108B02B0BDE8704000F05EBAB0F5801F31 -:1071700026DA11430BD0002813DA012000F080FA40 -:10718000BDEC108B02B0BDE8704000F059BA02208F -:1071900000F076FA00F030FA51EC100B81F000416B -:1071A0009EE06FF035049FEDC00B53EC102B9DED6E -:1071B000100B51EC100BF9F7ECF9CDE91001084672 -:1071C00004EB2051C0F31304B948A1F2FF3120446D -:1071D00000F4801080F07F6282F04052224301EB85 -:1071E00020559FEDB50B119253EC102B9DED100B1C -:1071F00051EC100BF9F7C7F941EC180BA01CC0F3C8 -:1072000013009FEDAFDB9FEDB0EBB14E7E44032842 -:107210006CD296ED000B51EC180B53EC102BF9F7D8 -:1072200029FC1DD1002D01BF96ED000BBDEC108B8C -:1072300002B070BD2846F9F7F3FB41EC180B53EC94 -:107240001D2BF9F7A6F941EC190B53EC1E2B51EC51 -:10725000180BF9F79EF953EC192BF9F7F3F83FE007 -:107260009FED9D0B51EC180B53EC102BF9F791F996 -:107270009FED9B1B53EC112BF9F788F941EC190B8F -:1072800053EC182B51EC180BF9F783F953EC192B2D -:10729000F9F77FF941EC190B002D04BF53EC192BC2 -:1072A00051EC180B1AD02846F9F7BAFB41EC1A0B2F -:1072B00053EC1D2BF9F76DF953EC192BF9F766F91F -:1072C00053EC182BF9F75FF941EC180B53EC1E2B1C -:1072D00051EC1A0BF9F75DF953EC182BF9F753F948 -:1072E000BDEC108B02B041EC100B70BD9FED7E0B1E -:1072F00051EC180B53EC102BF9F7A4F841EC100BE0 -:1073000051EC180B53EC102BF9F7B5F941EC190BB4 -:107310002846F9F785FB41EC1B0B53EC192B51EC7C -:10732000190BF9F736F941EC1A0B714853EC1A2B8B -:10733000261851EC1A0BF9F72CF941EC1F0B6D488C -:10734000C4F1510404F5D724B0EE4F0AF0EE6F0AF1 -:107350000321784400F0D2F853EC1F2B51EC100BB2 -:10736000F9F717F941EC1C0B6348B0EE4F0AF0EE49 -:107370006F0A0421784400F0C1F853EC1A2B51EC49 -:10738000100BF9F706F9344353EC1C2BF9F75AF8B4 -:1073900041EC1C0B002C4CDD9FED510B51EC180BFC -:1073A00053EC102BF9F7F5F853EC182BF9F7F1F82B -:1073B00041EC1A0B55B353EC1D2B51EC1B0BF9F799 -:1073C000E8F841EC1D0B53EC1C2B51EC1A0BF9F7B0 -:1073D00039F853EC192BF9F7DCF853EC1D2BF9F7BE -:1073E00031F853EC1A2BF9F7D1F853EC182BF9F7C5 -:1073F000CAF841EC180B53EC1E2B51EC1B0BF9F7A0 -:10740000C8F853EC182BF9F7BEF869E753EC1C2BBE -:1074100051EC1A0BF9F716F853EC192BF9F7B9F8E8 -:1074200053EC1A2BF9F7B2F853EC182BF9F7AEF826 -:1074300056E735B353EC1D2B51EC1B0BF9F7A9F8AC -:1074400041EC1A0B53EC1C2B51EC180BF9F79BF881 -:1074500053EC192BF9F79DF853EC1A2BF9F793F825 -:1074600053EC182BF9F78FF841EC180B53EC1E2B4B -:1074700051EC1B0BF9F78DF853EC182BF9F783F847 -:107480002EE753EC1C2B51EC180BF9F77CF853EC5E -:10749000192BF9F77EF853EC182BF9F777F81FE75B -:1074A0000000F07F000000000000000000005043DA -:1074B000645F090000000000000000000000F03FD1 -:1074C000763C7935EF39EA3D0000E0FE422EE63F9A -:1074D000200F000000000000555555555555D53F6B -:1074E000000000000000E03F00000000000000403D -:1074F00086EBF9FFA20D0000980D000070B5044660 -:107500002DED028B4D1E00EBC500B0EE408AF0EE73 -:10751000608A90ED000B35F0060017D053EC182B65 -:1075200051EC100BF9F735F841EC100B6D1E04EB24 -:10753000C50090ED001B51EC100B53EC112BF8F72C -:1075400081FF41EC100B35F00600E7D1022D36D05B -:10755000042D1CD0062D1CBFBDEC028B70BD53EC5E -:10756000182B51EC100BF9F714F894ED0A1B53EC9F -:10757000112BF8F767FF53EC182BF9F70AF894ED85 -:10758000081B53EC112BF8F75DFF41EC100B53EC8B -:10759000182B51EC100BF8F7FCFF94ED061B53EC85 -:1075A000112BF8F74FFF53EC182BF8F7F2FF94ED7F -:1075B000040B53EC102BF8F745FF41EC100B53EC88 -:1075C000182B51EC100BF8F7E4FF94ED021B53EC71 -:1075D000112BF8F737FF53EC182BF8F7DAFF94ED7F -:1075E000001B53EC112BF8F72DFFBDEC028B41EC87 -:1075F000100B70BD000000009FED070B10B553ECA1 -:10760000102B9FED070B51EC100BF9F734F841EC00 -:10761000100B10BD00000000000000000000000082 -:10762000000000000000F03F10B553EC102B51ECAF -:10763000100BF8F707FF41EC100B10BD0000000025 -:107640009FED050B10B553EC102B51EC100BF9F717 -:1076500012F841EC100B10BD00000000000000000B -:1076600002E008C8121F08C1002AFAD1704770470B -:10767000002001E001C1121F002AFBD17047000069 -:107680000149086070470000180200202DE9FF5FE3 -:1076900082B00021DDE90430020DDDF840B0034383 -:1076A00018D044F61050A2F2FF324243151411983C -:1076B00001281FD0A5EB0B00401C5FEA000A4FF029 -:1076C00000064E4FDFF83891B046504615D5CAF146 -:1076D000000413E0119801244AA3012801D16FEAA4 -:1076E0000B010298119AC0E90031C0E9024206B0CC -:1076F000BDE8F09FCBF10000DFE704460021404ADF -:10770000491842EB0450CDE9001012E0E00707D021 -:1077100032463B4640464946F8F73BFF804689469D -:1077200032463B4610461946F8F733FF06460F46E9 -:107730006410002CEAD1DDE90401DDE90023BAF18F -:10774000000F06DAF8F725FF42464B46F8F721FF0F -:1077500005E0F8F790FF42464B46F8F78CFF0446E9 -:107760000E460022284BF9F709F803D84FF0FF30F6 -:10777000014607E00022254B20463146F8F762FE1D -:10778000F9F75FF9102409E0002C0ADB0A22002334 -:10779000F8F718FD039B30321A55641E50EA0102B7 -:1077A000F2D1641C039AC4F111031444119A012A02 -:1077B00003D0012208430DD10AE0084304D0002081 -:1077C0004FF0110B119072E7A3EB0B056D1E0DE04E -:1077D0005B4504DD4FF0000205F1010504E003DA2A -:1077E0004FF00002A5F10105002AECD00298119992 -:1077F000C0E90231C0E9004579E70000000014400B -:107800000000F03F300000000000F0430000E03FC7 -:107810002DE9FF4F95B09A46884606460025EEE1D1 -:10782000252877D100242746F94A0121039400E056 -:10783000044316F8013F203B01FA03F01042F7D150 -:1078400030782A2811D06FF02F033078A0F1300261 -:10785000092A16D8039A44F0020402EB820203EBD1 -:1078600042021044761C0390EFE758F8042B039271 -:10787000002A03DA504244F40054039044F0020416 -:10788000761C30782E2816D116F8010F44F0040427 -:107890002A280DD06FF02F023078A0F13003092B89 -:1078A00009D807EB870302EB4303C718761CF3E7FD -:1078B00058F8047B761C30786C280FD006DC4C28F6 -:1078C00017D068280DD06A2814D104E0742810D08D -:1078D0007A280FD10DE044F400140AE044F4801437 -:1078E00001E044F440147278824202D104F580141D -:1078F000761C761C307866280BD013DC582877D09D -:1079000009DC002875D04528F6D04628F4D0472851 -:107910001AD193E118E0632835D0642879D065281E -:1079200012D18BE1702873D008DC6728F1D0692868 -:107930006FD06E280DD06F2806D1ACE073282CD004 -:10794000752874D0782853D05246179990476D1CEB -:1079500054E1C4F30250022809D003280DD0D8F80E -:10796000001004280DD00D6008F1040846E1D8F895 -:107970000010EA17C1E90052F6E7D8F800100D80B0 -:10798000F2E70D70F0E718F8041B8DF800100020E6 -:107990008DF80100EB46012003E058F804BB4FF0DE -:1079A000FF3061074FF0000102D40DE009F1010141 -:1079B0008946B9420FDA8145F8DB1BF80910002926 -:1079C000F4D108E009F1010189468142FADB1BF894 -:1079D00009100029F6D103985346A0EB0907214668 -:1079E0003846179A00F080FA284400EB090507E0B2 -:1079F00044E008E10DE01BF8010B5246179990474F -:107A0000B9F10109F7D2534621463846179AF2E0F8 -:107A100039E00A21C4F302524FF0000B0091022A10 -:107A200006D058F8040BC117032A09D00AE023E056 -:107A300008F1070020F00702F2E80201904605E095 -:107A400000B2C117042A01D140B2C117002906DAD9 -:107A50000A460021404261EB02012D2202E022058C -:107A600004D52B228DF80420012203E0E20701D087 -:107A70002022F7E7914657E00A2100E010214FF05D -:107A8000000B00910BE010214FF0000B44F00404B8 -:107A90000827009103E008204FF0000B0090C4F38A -:107AA0000252022A05D058F8040B0021032A08D0FC -:107AB00008E008F1070020F00702F2E80201904612 -:107AC00003E080B2042A00D1C0B24FF000092207BF -:107AD0002AD53278702A07D0DDF800C08CF0100C5F -:107AE0005CEA0B0C05D00EE040228DF80420012248 -:107AF00008E050EA010306D030238DF804308DF8F9 -:107B0000052002229146009B83F0080353EA0B03F1 -:107B10000AD150EA010201D1620705D530228DF861 -:107B200004204FF001097F1E3278582A04D039A270 -:107B30000C920CAA02920BE03BA2F9E75B46009A7A -:107B4000F8F740FB0C9B9B5C029A521E029213704A -:107B500050EA0102F2D1029804A9081A00F1200BA0 -:107B6000600702D524F4803400E001275F4502DD80 -:107B7000A7EB0B0000E0002000EB0B010090039846 -:107B80004944401A0390E00306D453462146179A0D -:107B9000039800F0A9F90544002706E001A8524621 -:107BA000C05D179990476D1C7F1C4F45F6DBE003C5 -:107BB0000CD553462146179A039800F095F90544D1 -:107BC00004E030205246179990476D1C0099481EDA -:107BD00000900029F5DC08E00298029952460078EE -:107BE000491C0291179990476D1CBBF10001ABF144 -:107BF000010BF1DC5BE100F065F90544761C30789F -:107C000000287FF40DAE19B02846BDE8F08F0000C3 -:107C10000928010030313233343536373839616262 -:107C20006364656600000000303132333435363726 -:107C3000383941424344454600000000600700D403 -:107C4000062708F1070020F00700F0E8022380462D -:107C500003F0004C5FEA0C0001D097A009E020057A -:107C600001D596A005E0E00701D095A001E0AFF2B4 -:107C70004C001390307823F0004365280CD006DCCC -:107C8000452809D046281DD047287FD13BE06628EB -:107C900018D067287AD136E00021112F01DB11209E -:107CA00000E0781CCDE9000104A90CA8FFF7EEFC68 -:107CB000DDE90D010C9A4FF0000B07F1010910925C -:107CC00000914EE04FF000400097CDE9011004A96B -:107CD0000CA8FFF7DBFCDDE90D020C9B0F994FF0C0 -:107CE000000B91461093009211B9791C00EB010929 -:107CF000B7EB090003D4C0F1FF3B07F10109A9EB81 -:107D00000700019042E0012F00DA01270021112F26 -:107D100001DD112000E03846CDE9000104A90CA8DE -:107D2000FFF7B4FCDDE90D010C9A00914FF0000B58 -:107D3000B946109221070FD4009A4A4503DA9146BA -:107D400001E0A9F10109B9F1010F05DD109AA9F1CE -:107D50000101515C3029F4D0B84202DA10F1040F6D -:107D600003DA0121CDE9011010E0002803DC83448F -:107D7000A9EB000102E0411C494500DD8946A0EB6A -:107D80000B00401C01904FF000400290200705D4EA -:107D90000198484502DB4FF0FF30019000208DF83C -:107DA0004B0002980DF14B07B0F1004F25D0022097 -:107DB0000C902B200D90029800280CDA4042029083 -:107DC0002D200D9007E00A210298F8F70BFD3031C5 -:107DD000029007F8011D0C99481E0C900029F2DC56 -:107DE00002980028EFD1791E0D980870307800F0C5 -:107DF000200040F0450007F8020D11A8C01BC01D6F -:107E000002901398007800B1012000EB090101985D -:107E100001EBE071029801440398401A401E039060 -:107E2000E00306D453462146179A039800F05CF805 -:107E300005441398007818B15246179990476D1C65 -:107E4000E00323D553462146179A039800F04CF8D7 -:107E500005441BE0BBF1000F07DB0098584504DD2B -:107E60001098179910F80B0001E01799302052462E -:107E7000904701980BF1010B401E05F1010501909F -:107E800004D12E205246179990476D1CB9F100017C -:107E9000A9F10109DEDC05E017F8010B524617993C -:107EA00090476D1C0299481E02900029F4DC53464D -:107EB0002146179A03989EE62D0000002B00000033 -:107EC000200000002DE9F041044600251E4617461B -:107ED000880404D405E039462020B0476D1C641E98 -:107EE000F9D52846BDE8F0812DE9F041044600258A -:107EF0001E469046C80301D5302700E0202788049D -:107F000004D505E041463846B0476D1C641EF9D5DE -:107F10002846BDE8F0810A68531C0B60107070475A -:107F200010B504462CB1FDF735FE01200549087057 -:107F300010BD0020F9F772F900200249087000BF57 -:107F4000F6E70000EC01002013B50C464FF47A73FD -:107F5000012269460248FCF7B3F900981CBD0000F5 -:107F600020040020FAF796FEFEF7E2F9FDF7C4FBC5 -:107F7000FDF7A6FBFDF778FDFDF792FDFDF708FD87 -:107F8000FDF796FCFDF72AFDFDF744FBFDF74CFDE0 -:107F9000FDF770FCFDF7C4FC00202E4908602E4957 -:107FA00008602E490860002210212D48FAF7F8FADF -:107FB000F9F718F8FCF7AEFCFCF752FDF9F702FAF6 -:107FC000FDF7D6FD27A0FFF775F8FDF7D1FD0020DE -:107FD0002C4908702C490860FDF782FD2BA0FFF7A3 -:107FE00069F83648FBF7DAFB3548FBF7D7FB35482D -:107FF000FBF7D4FB3448FBF7D1FB2AE0FCF7FEFD8E -:10800000F9F714F83148007801280CD0022807D07D -:10801000032802D004280CD108E0F9F705FA0CE097 -:10802000FDF71AFA09E0F9F70BFB06E0FDF772FF1E -:1080300003E003202549087000BF00BF24480078F2 -:1080400020B1FEF7B3FE0020214908700A20FAF79C -:1080500091F9D3E704020020080200200C0200205E -:1080600000180240496E697469616C697A696E67CB -:10807000206F7A6F6E6520636F6E74726F6C2E2E38 -:108080002E0A000040010020440100204F7A6F6E4C -:108090006520696E697469616C697A65642C207702 -:1080A000616974696E6720666F722072656D6F74A6 -:1080B0006520636F6E74726F6C0A000048030020C5 -:1080C00090030020B80200200003002018010020C7 -:1080D00050000020000610160006101600000000D8 -:1080E0000000000001020304060708090000000068 -:1080F000010203040000000004FA97999999D93FFE -:10810000AF788E1DC571CC3F9FC678D0099AC33F0A -:10811000935555555555E53F599322942449D23FDF -:10812000DE03CB966446C73F44523EDF12F1C23FA6 -:108130000000000000000000DDDDDDDDDCBBBBDD9C -:10814000DDDDDDDDDDDDDDDD9888888888888888F7 -:108150007777777777888888855555566666666617 -:1081600066666666666888888333333222222222F6 -:10817000222222222228888D7B225834223A25640A -:108180002C22583130223A25642C22583132223A9E -:1081900025642C22583133223A25642C225831345C -:1081A000223A25642C22583135223A25642C225853 -:1081B0003138223A25642C22583230223A25642C58 -:1081C00022583231223A25642C225835223A252E63 -:1081D00032662C22583232223A252E31662C225811 -:1081E0003233223A252E31662C22583234223A2557 -:1081F000642C22583235223A25642C2258333522F9 -:108200003A25642C22583337223A25642C225833DD -:1082100038223A25642C22583434223A25642C2200 -:10822000583436223A25642C22583437223A2564B1 -:108230002C22583439223A25642C22583530223ADF -:1082400025642C22583531223A25642C22583532A7 -:10825000223A25642C22583533223A25642C2258A0 -:108260003534223A25642C22583535223A25642C9F -:1082700022583536223A25642C22583537223A25A1 -:10828000642C22583538223A25642C225833303059 -:10829000223A252E36667D00B882000800000020B4 -:1082A0001C0200002C0E0008008300081C020020A5 -:1082B000440F000070760008012C32104201035D6B -:1082C00024F45A03685A020C2904290CA9046924CD -:1082D0009A042029106930A94009120C9A093469BE -:1082E0000C01194A01F7390B19010914234904E15A -:1082F0002370411AA004091657016632140233286C +:1007500000F02FB90EB540F2334102910021CDE9EE +:1007600000110A460B4600F033F903B000BDC1F397 +:100770000A5210B5C1F3130140F2FF3341F4801166 +:100780009A4201DA002010BD40F233439A42A2F2AD +:10079000334203DC524200F070F810BD904010BDAF +:1007A00000F0004230F000400AD0C10D01F5607148 +:1007B000C0F3160042EA0151C208400711437047D6 +:1007C000002001467047000030B5041E71F100049E +:1007D00004DB4FF00044404264EB0101141E73F14E +:1007E000000405DB1C464FF00043524263EB040358 +:1007F000994208BF904230BD01F0004330B421F06F +:10080000004150EA010206D00A0DA2F56072C1F360 +:100810001301002A02DC30BC00207047440F44EA78 +:10082000C104C100E01830BC00EBC25000F08AB82F +:1008300030B50B46014600202022012409E021FAB0 +:1008400002F59D4205D303FA02F5491B04FA02F5AD +:100850002844151EA2F10102F1DC30BD202A04DB80 +:10086000203A00FA02F1002070479140C2F12003C3 +:1008700020FA03F3194390407047202A04DB203A02 +:1008800021FA02F00021704721FA02F3D040C2F1B0 +:1008900020029140084319467047202A06DBCB17F7 +:1008A000203A41FA02F043EAE07306E041FA02F32B +:1008B000D040C2F1200291400843194670473A28BF +:1008C00000D2303820F02002412A01D3A2F13700B3 +:1008D000884201D34FF0FF30704700000268114496 +:1008E0001378016018467047D1600449516104498A +:1008F000116200211161114600F012B9DD080008F3 +:10090000150B0008426842B1016811F8013B23B1A0 +:10091000521EC0E90012184670470121C160881EAE +:10092000704742685AB1C368016843B983688B4213 +:1009300005D0491E521CC0E90012002070474FF03C +:10094000FF3070470029A8BF7047401C490008BF0E +:1009500020F00100704710B4B0FA80FC00FA0CF0EF +:1009600050EA010404BF10BC704749B1CCF1200427 +:1009700021FA04F411FA0CF118BF012121430843B4 +:10098000A3EB0C01CB1D4FEA00614FEA102042BFE0 +:10099000002010BC704700EBC35010440029A4BFD6 +:1009A00010BC7047401C490008BF20F0010010BC7B +:1009B000704710B5141E73F1000408DA401C41F1B1 +:1009C000000192185B411A4301D120F0010010BDD3 +:1009D0002DE9F04D92469B4611B1B1FA81F202E049 +:1009E000B0FA80F220329046FFF738FF04460F46F7 +:1009F00040EA0A0041EA0B0153465A46084313D025 +:100A0000114653EA010019D0C8F140025046FFF7E1 +:100A100034FF05460E46504659464246FFF71EFF34 +:100A2000084305D0012004E020463946BDE8F08D9A +:100A30000020054346EAE0762C4337430A986305D5 +:100A4000E40AA0EB08000022FD0A44EA47540A30F9 +:100A500002D500200146E9E7010510196941DDE9E9 +:100A6000084500196941BDE8F04DA2E70EB5C10F78 +:100A700080EAE0700844CA07002140F233438DE861 +:100A80000E000A460B46FFF7A3FF03B000BDC1F3FB +:100A90000A52C1F3130140F2FF3341F480119A422C +:100AA00002DA00200146704740F233439A42A2F234 +:100AB000334202DC5242FFF7E0BEFFF7CFBE000038 +:100AC00030B5041E71F1000404DB4FF000444042D5 +:100AD00064EB0101141E73F1000405DB1C464FF0AA +:100AE0000043524263EB04038B4208BF824230BD95 +:100AF000064C074D06E0E06840F0010394E807006B +:100B000098471034AC42F6D3FFF742FBF08B000855 +:100B1000108C0008C0B24FF4F05100F099B90000F9 +:100B20002DE9F34F8BB04FF0000801F10C000C469B +:100B30004FF0010B46460DF1080A01906269012150 +:100B400001989047051E2DD0252D2CD0216A88476D +:100B5000C0B16269012101989047216A8847002845 +:100B6000F7D1411E62690198904700E0761CA169A7 +:100B70000B988847216A88470028F7D1E1690B98CC +:100B80008847DBE7A1690B9888470746A84201D14F +:100B9000761CD3E7E1690B9888477F1C02D1B8F136 +:100BA000000F6FD047E1002762693D463946019842 +:100BB00090472A2804D162690121019890470125B4 +:100BC000DFF888926269012101989047A0F1300115 +:100BD0000A290AD24F45E5DC07EB870100EB410704 +:100BE000303FDFD445F01005ECE7E90601D46FF0A3 +:100BF00000476C280AD04C2814D0682815D06A28E1 +:100C00000DD074281CD07A281AD01DE06269012109 +:100C1000019890476C2802D045F0040514E045F097 +:100C200002050DE045F020050AE062690121019806 +:100C30009047682802D045F0080505E045F40065B6 +:100C40006269012101989047C4E9015765283DD0A8 +:100C500019DC58287AD00CDC452837D004DC25284C +:100C600026D0412831D131E046282FD047282CD139 +:100C70002CE05B2877D0612828D063287CD06428BA +:100C800023D15AE0D1E06F2848D008DC66281DD077 +:100C900067281BD0692821D06E2816D127E070283C +:100CA00045D0732868D0752847D078280DD14DE0FD +:100CB000A1690B988847054625283FF469AFE1698B +:100CC0000B9888476D1C3FF46AAFB4E023466A4630 +:100CD0006FF001000B99AFF300809FE045F04000FA +:100CE0006060A80723464FF0000236D43EE0E807D4 +:100CF0007FF447AF2068011D21600068290501D5F8 +:100D000006701BE7290701D5068017E7A90703D559 +:100D1000F117C0E9006111E706600FE745F04000F8 +:100D20006060A80723464FF0080216D41EE040F684 +:100D30000E0125EA0100606016E045F040006060A9 +:100D4000A80723464FF00A0207D40FE045F0400001 +:100D50006060A80708D5234610226FF001000B99A8 +:100D6000AFF300805AE007E0234610226FF0010045 +:100D70000B99FFF7C1FA51E04FF000094F464B467F +:100D8000632802D05B2807D041E02079C00601D457 +:100D90000120A06001273AE0626901210198904793 +:100DA0005E2805D14FF001096269494601989047D4 +:100DB000216939B900210A46534643F82120491CCC +:100DC0000829FADBB0B3216969B9C11700EBD16218 +:100DD00053110AEB830122F01F02821A01200B68D3 +:100DE000904003430B6062690121019890475D28A0 +:100DF000E8D1B9F1000F09D00020514651F8202068 +:100E0000D24341F82020401C0828F7DB02AB2246E1 +:100E100000976FF001000B99AFF3008000280CDA07 +:100E2000401C08D1BBF1000F05D04FF0FF300DB0D2 +:100E3000BDE8F08FFFE74046F9E7E90701D108F187 +:100E4000010806444FF0000B78E60000CCCCCC0C37 +:100E50007F2801D9002208E0064A02EB5002C007B1 +:100E6000127800D1120902F00F02012090400840D0 +:100E700070470000788A000870B58C1810F8015B84 +:100E800015F0070301D110F8013B2A1106D110F823 +:100E9000012B03E010F8016B01F8016B5B1EF9D127 +:100EA0002B0705D40023521E0DD401F8013BFAE7AD +:100EB00010F8013BCB1A921C03E013F8015B01F818 +:100EC000015B521EF9D5A142D8D3002070BD70B588 +:100ED0000546AC6B206C00F0500050BB206C40F419 +:100EE000007020642068806800F04050E8B9207EDF +:100EF000D8B92068C06A00F4700020B1206880680A +:100F000000F4806088B92068406820F020002168E3 +:100F10004860206C20F480702064206C00F48050C5 +:100F200018B9206C40F001002064204601F09AF8C6 +:100F30000BE0206C00F0100018B1204601F094F88E +:100F400003E0A06BC16C2846884770BD70B50546AC +:100F5000AC6B40202064606C40F00400606420466C +:100F600001F082F870BD70B50446A56B284601F00B +:100F70007AF870BD55494A6822F440324A604A689E +:100F800043681A434A600268526822F48072036818 +:100F90005A6002685368026943EA022203685A6091 +:100FA0000268526822F0407203685A600268526810 +:100FB00083681A4303685A600268926822F40062E8 +:100FC00003689A6002689268C3681A4303689A606B +:100FD0003F4B826A9A4218D00268926822F070628F +:100FE00003689A6002689268836A1A4303689A6089 +:100FF0000268926822F0405203689A600268926820 +:10100000C36A1A4303689A600BE00268926822F090 +:10101000706203689A600268926822F04052036826 +:101020009A600268926822F0020203689A6002687D +:101030009368027E43EA420203689A602022125CAF +:10104000A2B10268526842F4006203685A60026802 +:10105000526822F4604203685A6002685368426A28 +:10106000521E43EA423203685A6005E00268526841 +:1010700022F4006203685A600268D26A22F47002A5 +:101080000368DA620268D36A828B521E43EA025214 +:101090000368DA620268926822F4007203689A6058 +:1010A0000268936890F8302043EA422203689A600D +:1010B0000268926822F4806203689A60026893680A +:1010C000426943EA822203689A6070470023014024 +:1010D0000100000F10B505F08BF8012211491248EC +:1010E00003F014FB04F0D2FD10EE104A2046FFF787 +:1010F00057FB0E4A03C20D4890ED000B51EC100B4C +:10110000FFF77AFB00EE100A094880ED010A9FED17 +:10111000090A094880ED000A9FED060A074880ED9C +:10112000000A10BD0C000020A0040020C80100200F +:101130002C0E002000000000D0010020D40100206F +:1011400000BFFEE710B501F09DFC0446154800689D +:10115000201A4EF66021884222D312480460802172 +:101160001148FFF767F800201049088010A003F02D +:1011700077FE642001F06AFB11A10B48FFF765F8C8 +:1011800058B91348007803280ADA11480078401C3F +:101190000F49087003F014FF02E000200C490870AA +:1011A00010BD000058000020EC0500205000002079 +:1011B00041542B514D54434F4E4E3F0D0A000000F9 +:1011C0002B514D54434F4E4E3A20302C33000000EB +:1011D0005C00002010B505F001FA044612480078C2 +:1011E000844206D011480078401C104908700E480F +:1011F00004700F480068401C0D49086008460068EC +:1012000064280FD309480078052803DB0120094929 +:10121000087002E0022007490870002003490870A6 +:101220000349086010BD00001102002012020020D6 +:1012300014020020100200200448408803498988D5 +:10124000884201DD012070470020FCE710000020EB +:1012500070B50446012C08D10020134908701349C9 +:1012600008700120124908701CE0DCB90020104908 +:10127000087010480578002000F0D8F8002000F031 +:101280002DF8002000F03CF8002000F069F8002064 +:1012900005F00AF80120044908700449087005485F +:1012A000057000BF70BD000048000020490000200C +:1012B000810000202C01002010B504462CB1012231 +:1012C0001021054801F0D8FB04E00022102102485B +:1012D00001F0D2FB10BD00000018024010B504461A +:1012E0002CB101220421054801F0C6FB04E00022D4 +:1012F0000421024801F0C0FB10BD000000180240AC +:1013000010B504462CB101220821054801F0B4FBB8 +:1013100004E000220821024801F0AEFB10BD0000ED +:101320000018024010B5044684B10C48007830B96A +:101330000120FFF7D3FF0020FFF7E2FF0CE00020C1 +:10134000FFF7CCFF0120FFF7DBFF05E00020FFF7F0 +:10135000C5FF0020FFF7D4FF10BD000038010020BA +:1013600010B504460CB1012000E0002002464FF405 +:101370000071024801F080FB10BD0000001802401F +:1013800010B5044684B10C48007830B1012000F05B +:1013900029F8002000F038F80CE0002000F022F8D6 +:1013A000012000F031F805E0002000F01BF80020DB +:1013B00000F02AF810BD00000002002010B5084817 +:1013C000007830B1012000F00DF8002000F01CF88A +:1013D00005E0002000F006F8012000F015F810BD2F +:1013E0000002002010B504460CB1012000E00020EE +:1013F00002460421024801F03FFB0248447210BD3E +:10140000001002406C09002010B504460CB1012008 +:1014100000E0002002460821024801F02DFB0248AE +:10142000847210BD001002406C09002010B5044603 +:101430002CB101220221054801F01EFB04E000222C +:101440000221024801F018FB10BD00000018024004 +:1014500010B5024801F01AF810BD00007805002010 +:101460000146087810381823B0FBF3F20848805C76 +:10147000C865032A05D908686FF30900001D88654F +:1014800003E008686FF309008865886D7047000005 +:10149000148A0008014600208A6A8B69CBB932B1F0 +:1014A000012A0DD0022A03D0032A10D10EE000BF7A +:1014B000CB6A03F08073B3F1807F00D1012007E095 +:1014C000CB6AB3F1C07F00D1012001E000E000BF92 +:1014D00034E08B69B3F5005F1AD132B1012A07D02D +:1014E000022A03D0032A11D10AE000BF01200EE036 +:1014F000CB6A03F08073B3F1807F00D1012006E056 +:10150000CB6AB3F1C07F00D1012000E000BF15E03D +:1015100032B1012A05D0022A04D0032A0CD103E0FB +:1015200000BF00BF012008E0CB6A03F08073B3F175 +:10153000807F00D1012000E000BF00BF704730B5C0 +:101540000468246824F4802405682C6004686360BF +:101550008468402C04D10468A2600468E16003E060 +:101560000468A1600468E26030BD00002DE9F04F1E +:101570002DED0A8B83B001F085FA0446D748006848 +:10158000201AB0F57A7F07D20020D549088003B031 +:10159000BDEC0A8BBDE8F08FD148008800F4004014 +:1015A00000287CD04FF0000B0026002002908146DE +:1015B00000258246019000900027022004E0C949DE +:1015C000095C0F44411CC8B21728F8DBF8B2C549C2 +:1015D000C97D88427DD1C34880780104C148C07864 +:1015E00001EB0020BF49097900EB010BBD484079B0 +:1015F0000104BC48807901EB0020BA49C97946183A +:1016000076B1BBFBF6F84046FFF7A4F841EC180BA7 +:101610009FEDB50B53EC102BFEF7BBFFB44A03C292 +:10162000B048007A0104AF48407A01EB0020AD4990 +:10163000897A08440290AB48C07A0104A948007B2B +:1016400001EB0020A749497B00EB0109B9F1000F2C +:101650001FD04846FFF77EF841EC190B0298FFF7C0 +:1016600079F841EC1B0B9FEDA30B53EC102BFEF70D +:1016700090FF41EC1A0B53EC192BFEF7FCFF41ECE9 +:10168000180B9FED9C0B53EC102BFEF7F4FF9B4ABD +:1016900003C29448807B01049248C07B00E015E1BE +:1016A00001EB00208F49097C45188E48407C0104DD +:1016B0008C48807C01EB00208A49C97C00EB010A40 +:1016C000BAF1000F10D0B5FBFAF84046FFF742F828 +:1016D00000E0B1E041EC180B9FED830B53EC102BB5 +:1016E000FEF757FF864A03C27E48007D00F0800067 +:1016F0008449098888420AD083480078401C82497E +:1017000008707848007D00F080007E4908807E489F +:10171000007801047348407D01EB00207149897D08 +:10172000084401909FED790B53EC102B744890ED19 +:10173000000B51EC100BFFF747F87DD8002D7BD044 +:101740002846FFF707F841EC1B0B9FED670B53ECA6 +:10175000102BFEF71EFF41EC1A0B53EC1A2B9FEDDA +:101760006D0B51EC100BFEF786FF41EC190B9FED52 +:101770006B0B53EC102BFEF70CFF41EC180BFEF734 +:10178000F6FF00900098FEF7E5FF41EC1A0B019878 +:10179000FEF7E0FF41EC1C0B9FED600B53EC102BB0 +:1017A000FEF7F7FE41EC1B0B53EC1A2BFEF763FF21 +:1017B00041EC190B9FED590B53EC102BFEF75BFF1F +:1017C00041EC180BFFF718F85649086001F05AF978 +:1017D000804655480068A8EB00004EF6602188421C +:1017E00072D3504890ED000A5048D0ED000A30EE18 +:1017F000600AB0EE408AB5EEC08AF1EE10FA59DD0B +:10180000B7EE000AB4EEC08AF1EE10FA52D218EE2A +:10181000100AFEF7C5FF41EC190B454890ED000B8F +:1018200053EC102B51EC190BFEF70CFE404A03C28F +:101830003F4890ED000B00E047E051EC100BFEF745 +:10184000DBFF00EE100A3B4880ED010A3A480068D1 +:10185000FEF780FF41EC1A0B354890ED000B53EC7E +:10186000102B51EC1A0BFEF791FE41EC190B9FED7A +:10187000330B53EC102BFEF7A7FF05D93148006856 +:10188000201A3149884215D9294890ED000B51ECB6 +:10189000100BFEF7B1FF08EE900AB0EE680A04F0F4 +:1018A0000AFF234890ED000B51EC100BFEF75FFF91 +:1018B000214908601B4890ED000A1C4880ED000A91 +:1018C0001948C0F8008000BF00BF00BF0348046093 +:1018D00000200349088000BF59E60000D80100201D +:1018E000940100207C09002014AE47E17A14FE3FE9 +:1018F000A80100200000000000005940B0010020B5 +:10190000B80100209E0100209D0100200000000081 +:1019100000000000000000002A75B5410000000032 +:101920000088C340D4010020E4010020D001002041 +:10193000C80100202C0E0020E0010020000000A0C3 +:101940009999B93FDC010020E09304007047000042 +:1019500010B503F0D7FA05F03BFA0020FFF766FD5B +:101960000020FFF7BBFC0020FFF7CAFC00200A495B +:1019700008600A4908600A4908700120094908708E +:1019800000200949087004F0E3FD08490870084682 +:1019900000780749087010BD300100203401002094 +:1019A00038010020390100203A0100203B010020CD +:1019B0003C01002010B504F0D3FD04465C480078DB +:1019C000844209D000205B4908605B49086001201F +:1019D0005A49087056480470002C52D15848007873 +:1019E00030B10020FFF722FD0020564908601FE0BB +:1019F0005048006854490968884206D20120FFF720 +:101A000015FD01204F49086012E04F4800684F491A +:101A10000968084447490968884206D90020FFF749 +:101A200005FD00204749086002E0002041490860A8 +:101A30004748007818B10020FFF774FC77E03E4873 +:101A4000006844490968884203D20120FFF76AFC14 +:101A50006DE00020FFF766FC3E4800683E490968DB +:101A6000084435490968884261D800203249086035 +:101A70003A48007808B9012000E000203749087092 +:101A800055E00020FFF7D2FC00202E4908603048C6 +:101A9000007818B10020FFF745FC48E0274800789F +:101AA00020B3254800682E490968884203D20120E6 +:101AB000FFF738FC3BE00020FFF734FC28480068C3 +:101AC0002849096808441C49096888422FD8002021 +:101AD000194908602148007808B9012000E0002079 +:101AE0001E49087000201549087020E0124800685F +:101AF0001D490968884203D20120FFF713FC16E054 +:101B00000020FFF70FFC18480068184909680844CE +:101B10000949096888420AD80020074908600F4827 +:101B2000007808B9012000E000200C49087010BDC1 +:101B30004401002030010020340100203901002040 +:101B40004800002040010020A8000020AC00002038 +:101B500049000020B0000020B4000020380100201F +:101B6000C0000020C4000020B8000020BC000020FD +:101B700010B50E48007858B10D480068052807D305 +:101B80000020FFF799FB0020084908700849086009 +:101B900008480068482808D300200649086001204A +:101BA000FFF78AFB01200149087010BD30020020B8 +:101BB000280200202C02002072B600BFFEE70000C1 +:101BC00010B504F0CDFC04465E480078844209D08C +:101BD00000205D4908605D49086001205C4908708B +:101BE00058480470002C53D15A48007830B1002076 +:101BF000FFF71CFC0020584908601FE052480068AD +:101C000056490968884206D20120FFF70FFC0120DF +:101C10005149086012E05148006851490968084478 +:101C200049490968884206D90020FFF7FFFB0020D8 +:101C30004949086002E000204349086049480078AB +:101C400018B10020FFF76EFB7AE040480068464973 +:101C50000968884203D20120FFF764FB70E0424824 +:101C6000006842490968084438490968884203D92C +:101C70000020FFF757FB63E00020344908603C4830 +:101C8000007808B9012000E000203949087057E0C9 +:101C90000020FFF7CBFB00202F4908603148007877 +:101CA00018B10020FFF73EFB4AE02948007828B32E +:101CB000264800682F490968884203D20120FFF7AF +:101CC00031FB3DE02B4800682B49096808441F4957 +:101CD0000968884203D90020FFF724FB30E0002088 +:101CE0001A4908602248007808B9012000E0002065 +:101CF0001F49087000201649087021E01348006849 +:101D00001E490968884203D20120FFF70BFB17E048 +:101D10001A4800681A49096808440C490968884249 +:101D200003D90020FFF7FEFA0AE000200749086007 +:101D30000F48007808B9012000E000200C49087025 +:101D400010BD0000460100203001002034010020B9 +:101D5000390100204800002040010020C800002078 +:101D6000CC00002049000020D0000020D40000203A +:101D700038010020E0000020E4000020D80000200E +:101D8000DC00002010B580211048FEF753FA002037 +:101D90000F4908800FA003F063F8642000F056FD9F +:101DA0000FA10A48FEF751FA04466CB1083400E06E +:101DB000641C20782028FBD0132221460A48FEF715 +:101DC00056FA00200849C87410BD0000EC05002038 +:101DD0005000002041542B51434349440D0A000058 +:101DE0002B51434349443A00D805002010B50B4815 +:101DF0000078012804D10AA005F0FCFD012010BDE7 +:101E0000FFF71AFA20B10DA005F0F4FD0220F6E765 +:101E100012A005F0EFFD0020F1E700001002002005 +:101E2000E5BD93E5898DE4BDBFE794A8E5B882E7F9 +:101E300094B5E4BE9BE794B50D0A0000E5BD93E5BB +:101E4000898DE4BDBFE794A8E5A4AAE998B3E88327 +:101E5000BDE4BE9BE794B55C720A0000E5BD93E566 +:101E6000898DE697A0E4BE9BE794B55C720A0000FA +:101E700038B580210D48FEF7DDF900200C490880B7 +:101E80000CA002F0EDFF0EA10848FEF7DEF90446B3 +:101E90005CB16A460CA12046FEF712FA012803D174 +:101EA000009840B20B49087000BF38BDEC05002017 +:101EB0005000002041542B4353510D0A00000000F4 +:101EC0002B4353513A0000002B4353513A202564D1 +:101ED000000000005500002038B5024600200090A8 +:101EE00000BF92F83C00012801D1022038BD01203A +:101EF00082F83C0000BF0868092816D91068C0683D +:101F00000C780A3C04EB44050724AC40A043146859 +:101F1000E0600C780A3C04EB44048868A040146834 +:101F2000E46820431468E06013E0106800690C78EE +:101F300004EB44050724AC40A043146820610C78EE +:101F400004EB44048868A0401468246920431468A2 +:101F500020614868072817D21068406B0C79641E0E +:101F600004EB84051F24AC40A04314686063088818 +:101F700080B20C79641E04EB8404A0401468646B86 +:101F800020431468606331E048680D2817D2106858 +:101F9000006B0C79E41F04EB84051F24AC40A043C4 +:101FA00014682063088880B20C79E41F04EB840471 +:101FB000A0401468246B20431468206316E0106866 +:101FC000C06A0C790D3C04EB84051F24AC40A0438F +:101FD0001468E062088880B20C790D3C04EB84043C +:101FE000A0401468E46A20431468E062194B1A4C5C +:101FF0001068A04206D10868122803D1586840F43E +:1020000080005860144C1068A0421CD10868102849 +:1020100002D00868112816D1586840F400005860B2 +:10202000086810280FD10D4800680D4CB0FBF4F083 +:1020300000EB80004000009002E00098401E0090FD +:1020400000980028F9D100BF002082F83C0000BFB2 +:1020500000BF4BE700230140002001403800002072 +:1020600040420F00704770477047000070B504464B +:1020700000250CB9012070BD1549A06A884200D026 +:1020800000BF206C30B9204600F024F800206064C6 +:1020900084F83C00206C00F0100088B9206C20F41B +:1020A000885040F0020020642046FEF763FF0020C5 +:1020B0006064206C20F0020040F00100206400E029 +:1020C000012500BF002084F83C0000BF2846D2E76D +:1020D0000100000F10B586B00446142101A8FEF7D8 +:1020E000A9F84149206888422CD100BF0020009007 +:1020F0003E48006840F480703C490860084600682B +:1021000000F48070009000BF00BF00BF002000906E +:1021100036481438006840F001003449143908602A +:102120000846006800F00100009000BF00BF0120D9 +:102130000190032002900020039001A92C4800F098 +:1021400099FB4FE02B49206888424BD100BF00200B +:1021500000902648006840F48060244908600846E2 +:10216000006800F48060009000BF00BF00BF002046 +:1021700000901E481438006840F020001B491439B4 +:1021800008600846006800F02000009000BF00BF13 +:102190004FF4AC700190032002900020039001A93D +:1021A000154800F067FB1548154908608005486030 +:1021B000002113488160C1604FF4806101614900D2 +:1021C0004161890081614911C1610021016241625F +:1021D00000F07CFA08B1FFF7EFFC00BF0848A063ED +:1021E000846300BF06B010BD0020014044380240A7 +:1021F000000002400022014000140240106402402E +:10220000CC020020F8B504460D461646002000908A +:1022100000BF94F83C00012801D10220F8BD012044 +:1022200084F83C0000BF2068806800F00100A0B97D +:102230002068806840F00100216888605548006887 +:102240005549B0FBF1F000EB4000009002E000982F +:10225000401E009000980028F9D12068806800F4A2 +:102260008070B0F5807F05D12068806820F4807090 +:10227000216888602068806800F0010000287ED016 +:10228000206C40F20161884340F480702064206833 +:10229000406800F4806028B1206C20F4005040F4C5 +:1022A00080502064206C00F48050B0F5805F04D131 +:1022B000606C20F00600606401E00020606400BFF4 +:1022C000002084F83C0000BF344F3548A16BC86340 +:1022D0003448A16B08643448A16BC8646FF02200D5 +:1022E000216808602068406840F08060216848608C +:1022F0002068806840F4807021688860226802F15C +:102300004C0133462A46A06B00F056FA786800F07C +:102310001F0018BB25492068884213D02449206833 +:10232000884204D1381D006800F01F0050B12149D7 +:10233000206888422BD11948001D006800F01F005A +:10234000102824D22068806800F04050F8B9206836 +:10235000806840F080402168886018E01349206858 +:10236000884214D12068806800F0405078B9206815 +:10237000806840F080402168886008E0FFE7206CBA +:1023800040F010002064606C40F0010060640020A8 +:1023900044E700003800002040420F0000230140C5 +:1023A000CF0E0008670F00084D0F00080020014005 +:1023B000002101400022014070B50446A56D00F0E7 +:1023C00061FB064694F83500022808D0802060653D +:1023D00000BF002084F8340000BF012070BD2068D9 +:1023E000006820F01600216808602068406920F02D +:1023F000800021684861206C08B9A06C28B1206871 +:10240000006820F00800216808602068006820F05B +:1024100001002168086010E000F034FB801B0528F3 +:102420000BD920206065032084F8350000BF002010 +:1024300084F8340000BF0320D0E72068006800F073 +:1024400001000028E8D194F85C103F208840A86083 +:10245000012084F8350000BF002084F8340000BF5C +:1024600000BFBBE7014691F83500022803D0802069 +:10247000486501207047052081F83500086800682C +:1024800020F001000A6810600020F3E7F8B5044668 +:10249000002000908C4800684FF41651B0FBF1F713 +:1024A000A56D2E6894F85C1008208840304098B1E3 +:1024B0002068006800F0040070B12068006820F017 +:1024C00004002168086094F85C1008208840A86027 +:1024D000606D40F00100606594F85C100120884058 +:1024E000304068B12068406900F0800040B194F845 +:1024F0005C1001208840A860606D40F002006065BB +:1025000094F85C1004208840304068B1206800686E +:1025100000F0020040B194F85C1004208840A860EC +:10252000606D40F00400606594F85C1010208840F5 +:10253000304078B32068006800F0080050B394F889 +:102540005C1010208840A8602068006800F480209B +:1025500080B12068006800F4002028B9206CC8B160 +:102560002046216C884715E0A06C98B12046A16CEC +:1025700088470FE02068006800F4807028B9206860 +:10258000006820F0080021680860206C10B1204627 +:10259000216C884794F85C10202088403040002847 +:1025A00065D02068006800F0100000285FD094F823 +:1025B0005C1020208840A86094F83500052828D1B8 +:1025C0002068006820F016002168086020684069D3 +:1025D00020F0800021684861206C08B9A06C28B107 +:1025E0002068006820F008002168086094F85C10FA +:1025F0003F208840A860012084F8350000BF0020FB +:1026000084F8340000BF206D10B12046216D88474A +:10261000F8BD2068006800F4802080B12068006860 +:1026200000F4002028B9606C10B12046616C884726 +:102630001DE0E06BD8B12046E16B884717E02068C9 +:10264000006800F4807068B92068006820F010000D +:1026500021680860012084F8350000BF002084F85C +:10266000340000BFE06B10B12046E16B8847606D1D +:1026700038B3606D00F00100F0B1052084F835003A +:102680002068006820F001002168086000BF009801 +:10269000401C0090B84200D905E02068006800F0B6 +:1026A00001000028F3D100BF012084F8350000BFED +:1026B000002084F8340000BFE06C10B12046E16CCB +:1026C000884700BFA4E70000380000202DE9F04152 +:1026D0000446002500F0D6F9074614B90120BDE8EC +:1026E000F081606A00B100BF022084F8350000BFAD +:1026F000002084F8340000BF2068006820F001004A +:10270000216808600AE000F0BDF9C01B052805D962 +:1027100020206065032084F83500E0E72068006829 +:1027200000F001000028EED120680568214805402E +:10273000D4E901010843E16808432169084361695C +:102740000843A1690843E1690843216A0843054336 +:10275000606A042803D1D4E90B01084305432068CB +:1027600005602068456925F00705606A0543606AD1 +:1027700004280DD1A06A0543E06A48B12046FEF75F +:1027800089FE28B140206065012084F83500A6E765 +:10279000206845612046FEF763FE064694F85C100B +:1027A0003F208840B06000206065012084F835003B +:1027B000002094E73F8010F02DE9F04704460D46D5 +:1027C00016461F464FF00008D4F8589000BF94F802 +:1027D0003400012802D10220BDE8F087012084F8EE +:1027E000340000BF94F83500012825D1022084F878 +:1027F0003500002060653B46324629462046FEF7FC +:102800009EFE94F85C103F208840C9F808002068BC +:10281000006840F0160021680860206C28B120682C +:10282000006840F00800216808602068006840F0F7 +:1028300001002168086006E000BF002084F8340031 +:1028400000BF4FF002084046C6E7000070B50446DE +:1028500000F018F906462546681C10B104480078B7 +:10286000054400BF00F00EF9801BA842FAD370BDEA +:1028700034000020F8B502460B4600250024002055 +:102880000021D6E0012606FA01F51E6806EA0504D5 +:10289000AC4274D11E7906F00306012E04D01E79D5 +:1028A00006F00306022E13D190684F000326BE40A7 +:1028B000B0434F00DE68BE40304390605068012650 +:1028C0008E40B0431E79C6F300168E4030435060F0 +:1028D0001E7906F00306032E09D0D0684F000326A8 +:1028E000BE40B0434F009E68BE403043D0601E796A +:1028F00006F00306022E13D1CF0802F1200656F887 +:1029000027004E07F70E0F26BE40B0434F07FF0EBD +:102910001E69BE403043CF0802F1200646F827006A +:1029200010684F000326BE40B0431E7906F0030630 +:102930004F00BE40304310605E6806F44036002E03 +:1029400076D000BF002600963C4E366846F480469E +:102950003A4F3E603E46366806F48046009600BF19 +:1029600000BF374E8F0856F827008E07370F0F2607 +:10297000BE40B043334EB24202D1002624E057E0BD +:10298000314EB24201D101261EE0304EB24201D199 +:10299000022619E02E4EB24201D1032614E02D4E3C +:1029A000B24201D104260FE02B4EB24201D10526DE +:1029B0000AE02A4EB24201D1062605E0284EB24274 +:1029C00001D1072600E008268F073F0FBE403043A5 +:1029D0001B4E8F0846F82700224E3068A0435E68E1 +:1029E00006F4801606B120431E4E3060361D306856 +:1029F000A0435E6806F4001606B12043194E361D4A +:102A00003060184E361F3068A0435E6806F400360A +:102A100006B12043134E361F3060361F3068A04386 +:102A20005E6806F4803606B120430E4E083E3060E4 +:102A3000491C1029FFF426AFF8BD000044380240BD +:102A40000838014000000240000402400008024033 +:102A5000000C024000100240001402400018024026 +:102A6000001C0240083C0140024613690B400BB1B8 +:102A7000012000E0002070470AB1816101E00B04F1 +:102A80008361704701480068704700002C000020F7 +:102A900070B504460CB9012070BD94F83D0028B90A +:102AA000002084F83C00204600F010FB242084F82D +:102AB0003D002068006820F001002168086020685F +:102AC000006840F40040216808602068006820F435 +:102AD00000402168086000F0DFFC05465C49606842 +:102AE000884206D85B48854201D2012007E00020D9 +:102AF00005E05948854201D2012000E0002001286C +:102B000000D1C9E75548B5FBF0F62068406820F0D1 +:102B10003F003043216848604D496068884201D8D1 +:102B2000701C07E04FF4967070434FF47A71B0FB5D +:102B3000F1F0401C2168096A21F03F010843216837 +:102B4000086243496068884214D8681E6168490079 +:102B5000B0FBF1F0401CC0F30B00042801D20420AC +:102B60003DE0681E61684900B0FBF1F0401CC0F315 +:102B70000B0034E0A06838B9681E616801EB4101C0 +:102B8000B0FBF1F0401C0AE0681E616801EBC10275 +:102B900002EB0111B0FBF1F0401C40F48040C0F3A7 +:102BA0000B0008B901201AE0A06848B9681E6168E6 +:102BB00001EB4101B0FBF1F0401CC0F30B000CE055 +:102BC000681E616801EBC10202EB0111B0FBF1F07C +:102BD000401CC0F30B0040F4804040F400402168EA +:102BE000C9694CF6FF72914308432168C861D4E972 +:102BF000070108432168096821F0C00108432168E2 +:102C00000860D4E9031008432168896848F2FF325C +:102C10009143084321688860D4E90501084321688D +:102C2000C96821F0FF0108432168C8602068006876 +:102C300040F001002168086000202064202084F812 +:102C40003D000020206384F83E0000BF24E7000020 +:102C5000A086010080841E0000093D0040420F0054 +:102C60002DE9FC5F04460F4690469946DDE90CAB22 +:102C70000E9EFFF707FF054694F83D00202870D10F +:102C800019230122B5492046009501F06EFF10B1CD +:102C90000220BDE8FC9F00BF94F83C00012801D150 +:102CA0000220F6E7012084F83C0000BF206800689D +:102CB00000F0010028B92068006840F00100216898 +:102CC00008602068006820F4006021680860222005 +:102CD00084F83D00402084F83E0000202064C4F8C1 +:102CE00024A0A4F82AB0608D20859D48E0624B4660 +:102CF000424639462046CDE9006501F0E3FD08B1C2 +:102D00000120C6E7208D88B900BF0020019020680F +:102D10004069019020688069019000BF00BF206871 +:102D2000006840F400702168086040E0208D0128B0 +:102D300018D12068006820F480602168086000BF16 +:102D4000002001902068406901902068806901900E +:102D500000BF00BF2068006840F400702168086070 +:102D600025E0F8E0208D022816D12068006820F4C4 +:102D70008060216808602068006840F40060216875 +:102D8000086000BF00200190206840690190206821 +:102D90008069019000BF0AE000BF00200190206818 +:102DA0004069019020688069019000BF00BFC3E0C6 +:102DB000208D03287ED8208D012815D12A46314642 +:102DC000204601F0AEFF08B1012062E720680069EB +:102DD000616A0870606A401C6062208D401E208518 +:102DE000608D401E6085A7E0208D02282AD13346E1 +:102DF00000225C492046009501F0B7FE08B1012091 +:102E000047E72068006840F4007021680860206887 +:102E10000069616A0870606A401C6062208D401E13 +:102E20002085608D401E608520680069616A087099 +:102E3000606A401C6062208D401E2085608D401EAF +:102E4000608579E03346002246492046009501F02E +:102E50008CFE08B101201CE72068006820F4806027 +:102E60002168086020680069616A0870606A401C17 +:102E70006062208D401E2085608D401E6085334637 +:102E8000002238492046009501F06FFE08B101206C +:102E9000FFE62068006840F4007021680860206840 +:102EA0000069616A0870606A401C6062208D401E83 +:102EB000208500E010E0608D401E6085206800697C +:102EC000616A0870606A401C6062208D401E208527 +:102ED000608D401E60852FE02A463146204601F075 +:102EE00020FF08B10120D4E620680069616A0870FB +:102EF000606A401C6062208D401E2085608D401EEF +:102F0000608520684069C0F38000A8B1208D032847 +:102F100005D12068006820F480602168086020687E +:102F20000069616A0870606A401C6062208D401E02 +:102F30002085608D401E6085208D00287FF438AF8D +:102F4000202084F83D00002084F83E0000BF84F873 +:102F50003C0000BF9DE602209BE60000020010003E +:102F60000000FFFF040001002DE9FC5F04460F464E +:102F700090469946DDE90CAB0E9EFFF783FD0546B2 +:102F800094F83D0020287DD1192301224D49204687 +:102F9000009501F0EAFD10B10220BDE8FC9F00BFE2 +:102FA00094F83C00012801D10220F6E7012084F8C2 +:102FB0003C0000BF2068006800F0010028B92068CC +:102FC000006840F00100216808602068006820F473 +:102FD000006021680860212084F83D00402084F8CA +:102FE0003E0000202064C4F824A0A4F82AB0608D1C +:102FF00020853548E0624B46424639462046CDE9B9 +:10300000006501F00FFD08B10120C6E731E02A4656 +:103010003146204601F0CAFE50B1206C042805D18B +:103020002068006840F40070216808600120B4E75F +:10303000606A007821680861606A401C6062208DC7 +:10304000401E2085608D401E608520684069C0F369 +:10305000800070B1208D60B1606A007821680861DD +:10306000606A401C6062208D401E2085608D401E7D +:103070006085208D0028CAD12A463146204601F0BD +:1030800041FD00E01CE050B1206C042805D120680F +:10309000006840F400702168086001207DE7206826 +:1030A000006840F4007021680860202084F83D002A +:1030B000002084F83E0000BF84F83C0000BF6CE7AD +:1030C00002206AE7020010000000FFFF10B586B082 +:1030D0000446142101A8FDF7ADF81B492068884279 +:1030E0002FD100BF002000901848006840F0200059 +:1030F000164908600846006800F02000009000BFF4 +:1031000000BF0320019012200290002003900320B2 +:1031100004900420059001A90D48FFF7ABFB00BF08 +:103120000020009009481030006840F480000749F2 +:10313000103108600846006800F48000009000BF6D +:1031400000BF06B010BD00000058004030380240FB +:103150000014024003480068034909780844014903 +:10316000086070472C0000203400002010B50D4886 +:10317000006840F400700B4908600846006840F49D +:10318000806008600846006840F480700860032092 +:1031900000F0A6F80F2000F007F800F02BF8002050 +:1031A00010BD0000003C024070B504460E48007897 +:1031B0004FF47A71B1FBF0F00C490968B1FBF0F5FE +:1031C000284600F02FFC08B1012070BD102C07D25A +:1031D00000222146501E00F045F80548046001E039 +:1031E0000120F2E70020F0E7340000203800002042 +:1031F0003000002008B500BF002000900E48006895 +:1032000040F480400C4908600846006800F48040A3 +:10321000009000BF00BF00BF00200090081F0068A2 +:1032200040F08050091F08600846006800F0805098 +:10323000009000BF00BF08BD443802400146084668 +:1032400000280DDB00BF00BF00F01F0301229A40E1 +:1032500043099B0003F1E023C3F8002100BF00BF36 +:1032600000BF70472DE9F05F80460D4616460027E7 +:1032700004F0E4FB074639462A46334601F00700CE +:10328000C0F1070ABAF1040F02D94FF0040A01E0B5 +:10329000C0F1070AD14600F1040ABAF1070F02D2C1 +:1032A0004FF0000A01E0A0F1030AD4464FF0010AF2 +:1032B0000AFA09FAAAF1010A0AEA020A0AFA0CFA57 +:1032C0004FF0010B0BFA0CFBABF1010B0BEA030BFC +:1032D0004AEA0B042146404604F0B8FBBDE8F09FE3 +:1032E00000BF00F00702064B19684FF6FF031940B4 +:1032F000044B0B4343EA0221014B196000BF7047A6 +:103300000CED00E00000FA0570B504460D460CB95E +:10331000012070BD5848006800F00700A84209D29B +:1033200055490D700846006800F00700A84201D01A +:103330000120EEE7207800F0020002281DD120785D +:1033400000F00400042805D14C48006840F4E05027 +:103350004A490860207800F00800082805D147484D +:10336000006840F46040454908604448006820F027 +:10337000F000A168084341490860207800F001008E +:10338000A8B36068012807D13C4808380068C0F33A +:103390004040B8B90120BCE76068022802D06068EC +:1033A000032807D1354808380068C0F3406048B9A1 +:1033B0000120AEE7314808380068C0F3400008B982 +:1033C0000120A6E72D48006820F00300616808434B +:1033D0002A490860FFF756FB064609E0FFF752FB53 +:1033E000801B41F28831884202D9032091E707E02F +:1033F0002248006800F00C006168B0EB810FEDD14D +:103400001D48006800F00700A84209D91A490D704C +:103410000846006800F00700A84201D0012078E7C4 +:10342000207800F00400042807D11448006820F434 +:10343000E050E168084311490860207800F0080076 +:10344000082808D10D48006820F46040216940EA4E +:10345000C1000A49086000F03FF808490968C1F353 +:103460000311074A515CC8400649086006480068D5 +:10347000FFF79AFE00204CE7003C0240083802406B +:103480001C8A000838000020300000200148006835 +:10349000704700003800002000B5FFF7F7FF04492F +:1034A0000968C1F38221034A515CC84000BD000095 +:1034B000083802402C8A000800B5FFF7E7FF0449EE +:1034C0000968C1F34231034A515CC84000BD0000A5 +:1034D000083802402C8A00082DE9F0470024002516 +:1034E0000026A1462548006800F00C0020B1042801 +:1034F00005D008283AD105E0DFF8849039E0DFF8FC +:10350000849036E01D48001F006800F03F041B480F +:10351000001F006800F4800078B11A481749091F9D +:103520000968C1F38811A0FB0170014622460023FF +:103530003846FCF747FE05460EE011480F49091FC3 +:103540000968C1F38811A0FB0170014622460023DF +:103550003846FCF737FE05460848001F0068C0F3F0 +:103560000140401C4600B5FBF6F902E0DFF8109080 +:1035700000BF00BF4846BDE8F087000008380240A1 +:103580000024F40000127A00F8B504460CB90120BA +:10359000F8BD207800F00100002874D0F9480068D8 +:1035A00000F00C0004280DD0F648006800F00C0074 +:1035B000082813D1F348001F006800F48000B0F51C +:1035C000800F0BD1EF4808380068C0F34040002856 +:1035D00059D06068002856D10120D9E700BF606843 +:1035E000B0F5803F08D1E7480838006840F48030E3 +:1035F000E449083908601EE06068B0F5A02F0DD1DD +:10360000E0480838006840F48020DE490839086046 +:103610000846006840F4803008600CE0D94808385B +:10362000006820F48030D7490839086008460068EF +:1036300020F48020086000BF606890B1FFF722FA94 +:10364000054606E0FFF71EFA401B642801D9032057 +:103650009EE7CC4808380068C0F340400028F1D00D +:1036600011E0FFF70FFA054606E0FFF70BFA401BE3 +:10367000642801D903208BE7C24808380068C0F3EA +:1036800040400028F1D1207800F0020002285FD1EC +:10369000BC48006800F00C0058B1BA48006800F05F +:1036A0000C0008281CD1B748001F006800F48000F7 +:1036B000B0B9B44808380068C0F3400020B1E068F1 +:1036C000012801D0012063E7AE480838006820F0E7 +:1036D000F800216940EAC100AA490839086037E0CA +:1036E000E06800B30120A8490860FFF7CBF9054660 +:1036F00006E0FFF7C7F9401B022801D9032047E77E +:10370000A04808380068C0F340000028F1D09D4868 +:103710000838006820F0F800216940EAC1009949A2 +:103720000839086014E0002097490860FFF7AAF9FB +:10373000054606E0FFF7A6F9401B022801D9032041 +:1037400026E7904808380068C0F340000028F1D10F +:10375000207800F0080008282CD16069A8B1012069 +:103760008A490860FFF78EF9054606E0FFF78AF9F7 +:10377000401B022801D903200AE782486C30006808 +:10378000C0F340000028F1D014E000207F49086019 +:10379000FFF778F9054606E0FFF774F9401B0228A9 +:1037A00001D90320F4E677486C300068C0F340008C +:1037B0000028F1D1207800F00400042870D10027FF +:1037C00070483830006800F0805090B900BF002089 +:1037D00000906C483830006840F0805069493831BA +:1037E00008600846006800F08050009000BF00BFED +:1037F00001276748006800F48070B0B96448006829 +:1038000040F4807062490860FFF73CF9054606E025 +:10381000FFF738F9401B022801D90320B8E65C48BD +:10382000006800F480700028F2D000BFA068012872 +:1038300008D154486830006840F0010051496831AF +:1038400008601DE0A06805280DD14E48683000686A +:1038500040F004004B49683108600846006840F0B9 +:10386000010008600CE047486830006820F0010063 +:103870004449683108600846006820F00400086088 +:1038800000BFA068A8B1FFF7FDF8054609E0FFF703 +:10389000F9F8401B41F28831884202D9032077E6CB +:1038A00026E0384868300068C0F340000028EED0B9 +:1038B00013E0FFF7E7F8054608E0FFF7E3F8401BE1 +:1038C00041F28831884201D9032061E62D486830F1 +:1038D0000068C0F340000028EFD1012F07D129482C +:1038E0003830006820F0805026493831086000BF29 +:1038F000A069002845D02348006800F00C00082883 +:103900005DD0A069022845D100201F490866FFF755 +:10391000B9F8054606E0FFF7B5F8401B022801D9C3 +:10392000032035E6174808380068C0F340600028D7 +:10393000F1D1D4E907010843616A40EA811101220B +:10394000A06AC2EB500041EA00412C20005D41EA30 +:1039500000600C49091F086001200B490866FFF749 +:1039600091F8054606E0FFF78DF8401B022801D9C3 +:1039700003200DE6034808380068C0F340600028C3 +:10398000F1D049E00838024000004742800E47422B +:1039900000700040002021490866FFF773F80546D3 +:1039A00006E0FFF76FF8401B022801D90320EFE57E +:1039B0001B480068C0F340600028F2D12CE0A069E9 +:1039C000012800D1E4E51648001D0668A069012819 +:1039D00020D006F48001E06981421BD106F03F014E +:1039E000206A814216D147F6C0703040616AB0EB60 +:1039F000811F0FD106F440310122A06AC2EB5000B2 +:103A0000B1EB004F06D106F070612C20005DB1EBE8 +:103A1000006F01D00120BBE50020B9E5000047425E +:103A20000038024070B504462546681EB0F1807F1C +:103A300001D301200FE0681E4FF0E02148610F2103 +:103A40004FF0FF3004F002F800204FF0E0218861D1 +:103A500007200861002070BD7047704730B50246EE +:103A60000B4600BF92F83C00012801D1022030BD76 +:103A7000012082F83C0000BF022082F83D0010685F +:103A800044681068816824F0700418680443106862 +:103A90004460184D1068A8421BD01068B0F1804FE8 +:103AA00017D0154D1068A84213D0144D1068A842C5 +:103AB0000FD0134D1068A8420BD0124D1068A842C9 +:103AC00007D0114D1068A84203D0104D1068A842CD +:103AD00005D121F080015868014310688160012000 +:103AE00082F83D0000BF002082F83C0000BF00BF0C +:103AF000BDE7000000000140000400400008004055 +:103B0000000C00400004014000400140001800404B +:103B100010B504460CB9012010BD94F83D0028B939 +:103B2000002084F83C00204600F026F8022084F8AB +:103B30003D00211D206803F09BF8012084F8460019 +:103B400000BF84F83E0001213F200155402001556F +:103B50004120015500BF00BF012084F842004320EE +:103B60000155442001554520015500BF012084F82E +:103B70003D000020D0E7000038B504462068B0F1D1 +:103B8000804F18D100BF002000903648006840F0F8 +:103B90000100344908600846006800F00100009008 +:103BA00000BF00BF002203211C20FFF75BFB1C208D +:103BB000FFF744FB55E02C492068884218D100BF2C +:103BC000002000902748006840F002002549086066 +:103BD0000846006800F00200009000BF00BF00220D +:103BE00011461D20FFF73EFB1D20FFF727FB38E0A5 +:103BF0001E492068884218D100BF00200090194853 +:103C0000006840F01000174908600846006800F09E +:103C10001000009000BF00BF002211463620FFF7C1 +:103C200021FB3620FFF70AFB1BE011492068884280 +:103C300017D100BF002000900A48006840F0200023 +:103C4000084908600846006800F02000009000BFA6 +:103C500000BF002211463720FFF704FB3720FFF793 +:103C6000EDFA38BD4038024000040040001000402A +:103C700000140040014691F83D00012801D00120C8 +:103C80007047022081F83D000868C06840F00100DC +:103C90000B68D8601A4B086898421BD00868B0F1CE +:103CA000804F17D0174B0868984213D0164B0868FE +:103CB00098420FD0154B086898420BD0144B0868F7 +:103CC000984207D0134B0868984203D0124B0868FB +:103CD00098420CD10868806800F00702062A0CD0D0 +:103CE0000868006840F001000B68186005E008688B +:103CF000006840F001000B6818600020C0E7000079 +:103D0000000001400004004000080040000C00409A +:103D100000040140004001400018004001460868CE +:103D2000C06820F001000A68D06000BF0868006A1F +:103D300041F21112104050B90868006A9210104008 +:103D400028B90868006820F001000A68106000BF08 +:103D5000012081F83D00002070472DE9F041044624 +:103D60000D46002700BF94F83C00012802D1022034 +:103D7000BDE8F081012084F83C0000BF022084F8F7 +:103D80003D002068866826F0770626F47F46206886 +:103D900086602868502833D00CDC202850D004DC02 +:103DA00000284BD0102851D149E0302849D0402874 +:103DB0004CD139E060282DD0702807D0B0F5805F55 +:103DC00003D0B0F5005F41D10DE041E0D5E9021329 +:103DD0006A68206802F0C0FF2068866846F07706AF +:103DE0002068866034E0D5E902136A68206802F032 +:103DF000B3FF2068806840F480402168886027E035 +:103E0000EA686968206802F0BBFF5021206802F070 +:103E1000AEFF1DE0EA686968206802F0C4FF602117 +:103E2000206802F0A4FF13E0EA686968206802F0E5 +:103E3000A7FF4021206802F09AFF09E000BF00BF01 +:103E400000BF2968206802F092FF01E0012700BF4F +:103E500000BF012084F83D0000BF002084F83C0032 +:103E600000BF384684E7704770B504462068C568CF +:103E70002068066906F00200022819D105F0020048 +:103E8000022815D1401F2168086101202077206891 +:103E9000806900F0030018B12046FFF7E4FF05E059 +:103EA000204600F097F8204600F095F80020207793 +:103EB00006F00400042819D105F00400042815D1E7 +:103EC000C04321680861022020772068806900F4DF +:103ED000407018B12046FFF7C6FF05E0204600F00D +:103EE00079F8204600F077F80020207706F00800E7 +:103EF000082819D105F00800082815D1C043216809 +:103F00000861042020772068C06900F0030018B120 +:103F10002046FFF7A8FF05E0204600F05BF82046AA +:103F200000F059F80020207706F01000102819D171 +:103F300005F01000102815D1C04321680861082041 +:103F400020772068C06900F4407018B12046FFF760 +:103F50008AFF05E0204600F03DF8204600F03BF8DF +:103F60000020207706F0010048B105F0010030B1D3 +:103F70006FF0010021680861204600F02DF806F07E +:103F80008000802809D105F08000802805D1C04339 +:103F9000216808612046FFF75FFD06F040004028D9 +:103FA00009D105F04000402805D1C04321680861CF +:103FB000204600F09DF806F02000202809D105F0E9 +:103FC0002000202805D1C043216808612046FFF762 +:103FD00044FD70BD7047704710B5044635492068F0 +:103FE000884211D134480088401C33490880084673 +:103FF000008841F2883188425ADB00202E4908802F +:1040000001202E49087053E02068B0F1804F18D18C +:104010002B480068401C2A4908602A480068401C58 +:104020002849086028480078042841D127480068BA +:10403000401C2649086026480068401C2449086046 +:1040400036E024492068884219D123480068401C82 +:10405000214908603C282BD3002008601F480068D5 +:10406000401C1E4908603C2806D3002008601C48FC +:104070000068401C1A490860FDF77AFD18E01949EC +:104080002068884214D118480078401C16490870EE +:10409000084600783C280BDB02F018F9134800684A +:1040A000401C1249086002F05BF900200E490870BC +:1040B00010BD000000100040180000205400002037 +:1040C00030010020340100202C01002024010020B8 +:1040D00028010020001400402402002028020020B3 +:1040E0002C0200200004004016000020F4010020F3 +:1040F0007047F8B504460E46174694F8420020284B +:104100002ED106B10FB90120F8BD01202063002097 +:1041100060633A463146204603F00CFA0546EDB995 +:10412000206B012819D100BF002000902068006892 +:10413000009020684068009000BF00BF00BF00BF33 +:1041400021680C3151E8001F41F0100021680C314A +:1041500041E80002002AF3D100E001252846D3E718 +:104160000220D1E770B505460C460649286888420A +:1041700006D1054804800A1504490548FFF7B9FF30 +:1041800070BD00000044004050000020EC050020FD +:1041900030050020704700002DE9F84F04462068E4 +:1041A00005682068C668206847694FF00009CA465C +:1041B00005F00F09B9F1000F0AD105F0200038B160 +:1041C00006F0200020B1204603F020F8BDE8F88F6B +:1041D000B9F1000F7CD007F0010018B906F4907017 +:1041E000002875D005F0010030B106F4807018B1D8 +:1041F000606C40F00100606405F0040030B107F02D +:10420000010018B1606C40F00200606405F002002B +:1042100030B107F0010018B1606C40F00400606438 +:1042200005F0080048B106F0200010B907F00100C1 +:1042300018B1606C40F008006064606C002846D0E3 +:1042400005F0200028B106F0200010B1204602F051 +:10425000DDFF20684069C0F3801A606C00F0080040 +:1042600010B9BAF1000F2DD0204602F089FF206866 +:10427000406900F04000402820D100BF00BF216805 +:10428000143151E8001F21F040002168143141E849 +:104290000002002AF3D100BFE06B50B17748E16B18 +:1042A0000865E06BFEF7DEF888B1E06B016D8847CA +:1042B0000DE02046FFF76EFF09E009E02046FFF71A +:1042C00069FF04E02046FFF765FF002060647DE79A +:1042D000206B012878D105F01000002874D006F07A +:1042E00010000028FAD000BF00200090206800686D +:1042F000009020684068009000BF00BF20684069BF +:1043000000F04000402860D1E06B006840681FFA70 +:1043100080F8B8F1000F56D0A08D404553DDA4F8C9 +:104320002E80E06BC069B0F5807F43D000BF00BF36 +:1043300021680C3151E8001F21F4807021680C3194 +:1043400041E80002002AF3D100BF00BF00BF21688E +:10435000143151E8001F21F001002168143141E8B7 +:104360000002002AF3D100BF00BF00BF2168143152 +:1043700051E8001F21F040002168143141E800029B +:10438000002AF3D100BF202084F8420000202063DF +:1043900000BF00BF21680C3151E8001F21F0100060 +:1043A00021680C3141E80002002AF3D100BFE06B24 +:1043B000FEF702F802206063A08DE28D801A81B2C0 +:1043C0002046FFF7CFFE01E742E0A08DE18D401AC5 +:1043D0001FFA80F8E08DD0B3B8F1000F37D000BFDE +:1043E00000BF21680C3151E8001F21F49070216852 +:1043F0000C3141E80002002AF3D100BF00BF00BF2A +:104400002168143151E8001F21F0010021681431A6 +:1044100041E80002002AF3D100BF202084F84200C6 +:104420000020206300BF00BF21680C3151E8001F4D +:1044300021F0100021680C3141E80002002AF3D17C +:1044400000BF0220606341462046FFF78BFEBDE6B9 +:1044500005F0800030B106F0800018B1204603F06E +:1044600089F8B3E605F0400030B106F0400018B11D +:10447000204602F0BBFEA9E600BFA7E66D7100086A +:1044800010B504460CB9012010BDA06900B100E0D0 +:1044900000BF94F8410028B9002084F8400020466D +:1044A00000F02AF8242084F841002068C06820F435 +:1044B00000502168C860204602F026FF206800698D +:1044C00020F49040216808612068406920F02A00AB +:1044D000216848612068C06840F400502168C860C5 +:1044E00000206064202084F8410084F8420000200D +:1044F000606300BFC8E7000010B586B00446142111 +:1045000001A8FBF797FE78492068884275D100BF63 +:10451000002000907548006840F40020734908604E +:104520000846006800F40020009000BF00BF00BFF4 +:10453000002000906D481038006840F001006B4981 +:10454000103908600846006800F00100009000BFC4 +:1045500000BF00BF002000900846006840F0040043 +:1045600008600846006800F00400009000BF00BF2B +:104570000220019002900020039003200490082064 +:10458000059001A95A48FEF775F94FF48060019033 +:104590000220029000200390032004900820059040 +:1045A00001A95448FEF766F953485449086040058C +:1045B0004860002151488160C1604FF48061016111 +:1045C0000021416181614FF48071C161002101626C +:1045D0004162FEF77BF808B1FDF7EEFA00BF4748ED +:1045E000E063846300BF002211463420FEF73AFEE8 +:1045F0003420FEF723FE74E0FFE74149206888423B +:1046000033D100BF002000903848001D006840F002 +:1046100010003649091D08600846006800F01000C7 +:10462000009000BF00BF00BF002000902F4810384E +:10463000006840F001002D49103908600846006804 +:1046400000F00100009000BF00BF4FF4C060019077 +:104650000220029000200390032004900720059080 +:1046600001A92348FEF706F93BE026492068884265 +:1046700037D100BF002000901C48006840F4003093 +:104680001A4908600846006800F40030009000BF36 +:1046900000BF00BF0020009014481038006840F0B0 +:1046A00008001249103908600846006800F0080048 +:1046B000009000BF00BF6020019002200290002007 +:1046C0000390032004900720059001A90E48FEF7EF +:1046D000D1F8002202212620FEF7C4FD2620FEF795 +:1046E000ADFD06B010BD0000004C00404038024057 +:1046F00000000240000802404060024078050020AF +:104700000010014000440040000C024070B5044617 +:104710000D46164694F8420020280BD105B10EB97B +:10472000012070BD0020206332462946204602F059 +:1047300001FFF6E70220F4E770B50446FEF7A2F9A0 +:1047400005461949206888422CD118480088B0F5E0 +:10475000167F1FDA16490A7814490888411C134B42 +:10476000198014490A5418460088182815DB124885 +:104770000068281AB0F57A7F08D31846008840F4FC +:104780000040194608800C48056006E000200749F3 +:10479000088002E0002005490880012204490748FA +:1047A000FFF7B4FF70BD0000004C004094010020F2 +:1047B0000C0000207C09002028000020A00400201C +:1047C0002DE9F84F04460E46174699464FF0000A69 +:1047D00094F84100202850D106B117B90120BDE856 +:1047E000F88F00206064212084F84100FEF74AF928 +:1047F0008246A784E784A068B0F5805F04D1206971 +:1048000010B90025B04602E035464FF000081EE022 +:104810005346002280212046CDF8009002F0DAFEB7 +:1048200020B1202084F841000320D8E745B9B8F82A +:104830000000C0F308002168486008F1020803E0A6 +:104840002878216848606D1CE08C401EE084E08C74 +:104850000028DDD15346002240212046CDF80090AB +:1048600002F0B8FE20B1202084F841000320B6E712 +:10487000202084F841000020B1E70220AFE7704714 +:1048800000BFFEE7014608684069C0F38020B0B170 +:104890006FF480600A68506100200863202081F86E +:1048A0003D00002081F83E00086C40F004000864E0 +:1048B00000BF002081F83C0000BF012070470020AD +:1048C000FCE700002DE9F84304460F4615469946DB +:1048D000DDE908862068006840F48060216808608F +:1048E0002068006840F48070216808604346002218 +:1048F0004FF001112046009600F037F960B12068B2 +:10490000006800F48070B0F5807F02D14FF4007031 +:1049100020640320BDE8F88307F0FE0021680861E9 +:10492000334642463E49204600F07EF908B1012058 +:10493000F0E700BF002000902068406900902068E8 +:104940008069009000BF00BF32464146204600F01B +:104950002DFA50B1206C042805D12068006840F47D +:104960000070216808600120D4E7B9F1010F03D17C +:10497000E8B22168086117E0C5F3072021680861E3 +:1049800032464146204600F011FA50B1206C04280E +:1049900005D12068006840F400702168086001209B +:1049A000B8E7E8B22168086132464146204600F087 +:1049B000FDF950B1206C042805D12068006840F44E +:1049C0000070216808600120A4E72068006840F4B6 +:1049D000807021680860434600224FF00111204694 +:1049E000009600F0C2F858B12068006800F48070AA +:1049F000B0F5807F02D14FF400702064032089E776 +:104A0000F8B240F00100216808613346424604498B +:104A1000204600F009F908B101207BE7002079E782 +:104A2000020001002DE9F8430446884615469946E0 +:104A3000DDE908672068006840F48070216808603C +:104A4000334600224FF001112046009700F08DF808 +:104A500060B12068006800F48070B0F5807F02D1FA +:104A60004FF4007020640320BDE8F88308F0FE00D6 +:104A7000216808613B4632462149204600F0D4F8BF +:104A800008B10120F0E700BF0020009020684069D5 +:104A9000009020688069009000BF00BF3A46314610 +:104AA000204600F083F950B1206C042805D120681D +:104AB000006840F40070216808600120D4E7B9F173 +:104AC000010F03D1E8B22168086117E0C5F30720A0 +:104AD000216808613A463146204600F067F950B136 +:104AE000206C042805D12068006840F4007021681B +:104AF00008600120B8E7E8B2216808610020B3E748 +:104B00000200010070B504460D46164625E0204619 +:104B1000FFF7B8FE08B1012070BD681CE8B1FDF7D1 +:104B2000B1FF801BA84200D8BDB920684069C0F31E +:104B3000800090B900202063202084F83D000020F0 +:104B400084F83E00206C40F02000206400BF00206C +:104B500084F83C0000BF0120DEE720684069C0F314 +:104B600080000028D3D00020D6E72DE9F04104468C +:104B70000D4617461E46DDF8188038E0701CA8B3B5 +:104B8000FDF780FFA0EB0800B04200D876BBC5F36C +:104B9000074001280AD120684069A9B20840A9B29B +:104BA000884201D101200BE0002009E020688069E3 +:104BB000A9B20840A9B2884201D1012000E000203A +:104BC000B84214D100202063202084F83D0000204A +:104BD00084F83E00206C40F02000206400BF0020DC +:104BE00084F83C0000BF0120BDE8F081FFE7C5F379 +:104BF000074001280AD120684069A9B20840A9B23B +:104C0000884201D101200BE0002009E02068806982 +:104C1000A9B20840A9B2884201D1012000E00020D9 +:104C2000B842ABD00020DFE72DE9F04104460D4645 +:104C300016461F4658E020684069C0F38020E8B15E +:104C40002068006840F40070216808606FF480609C +:104C50002168486100202063202084F83D00002066 +:104C600084F83E00206C40F00400206400BF002067 +:104C700084F83C0000BF0120BDE8F081701C90B3B7 +:104C8000FDF700FFC01BB04200D866BBC5F307406C +:104C900001280AD120684069A9B20840A9B2884217 +:104CA00001D101200BE0002009E020688069A9B251 +:104CB0000840A9B2884201D1012000E0002090B94B +:104CC00000202063202084F83D00002084F83E006E +:104CD000206C40F02000206400BF002084F83C00DD +:104CE00000BF0120C8E7FFE7C5F3074001280AD14C +:104CF00020684069A9B20840A9B2884201D10120C8 +:104D00000BE0002009E020688069A9B20840A9B240 +:104D1000884201D1012000E0002000288BD0002033 +:104D2000AAE770B504460D46164637E0206840698C +:104D3000C0F30010A0B16FF010002168486100209E +:104D40002063202084F83D00002084F83E00206C81 +:104D5000206400BF002084F83C0000BF012070BD2B +:104D6000FDF790FE801BA84200D8BDB920684069BD +:104D7000C0F3801090B900202063202084F83D000B +:104D8000002084F83E00206C40F02000206400BF2A +:104D9000002084F83C0000BF0120E0E72068406963 +:104DA000C0F380100028C1D00020D8E770B50446B9 +:104DB0000D46164625E02046FFF764FD08B10120A8 +:104DC00070BD681CE8B1FDF75DFE801BA84200D8ED +:104DD000BDB920684069C0F3C01090B900202063BD +:104DE000202084F83D00002084F83E00206C40F034 +:104DF0002000206400BF002084F83C0000BF012098 +:104E0000DEE720684069C0F3C0100028D3D000203E +:104E1000D6E7000010B501F027FA4FF48062094987 +:104E20000948FFF766F909A000F01AF84FF4FA6094 +:104E3000FDF70CFD08A000F013F8FCF7A3FFFDF749 +:104E400017F810BDEC0500203005002041542B431D +:104E500046554E3D310D0A0041540D0A0000000038 +:104E600070B504464FF400711A48FBF7E3F90020CF +:104E700019490880194908802046FBF70EFA86B2C6 +:104E80004FF4FA73324621461548FFF799FC4FF468 +:104E90007A7514E01148008800280DDD11A1124830 +:104EA000FBF7D3F920B911A10F48FBF7CEF900B1F8 +:104EB00070BD0020094908800120FDF7C7FC281EAD +:104EC000A5F101018DB2E5D121460AA002F092FDC3 +:104ED00000BFEDE76C0600205200002050000020CB +:104EE000300500204F4B0000EC0500204552524F8A +:104EF000520000004154C3FCC1EEB3ACCAB13A2029 +:104F000025730A0010B50248FDF7C2FD10BD000070 +:104F10002C0300201FB504464FF4FA60012103AAB8 +:104F20000B46CDE9002102902246A1210348FDF75E +:104F300097FE9DF80C0004B010BD00002C0300206B +:104F4000FEB504460D4616464FF4FA60012322468C +:104F5000A121CDE9005602900148FDF781FEFEBD7A +:104F60002C03002013B584B004464FF4FA600121ED +:104F700005AA0B46CDE9002102902246A021044853 +:104F8000FDF7F2FF0520FDF761FC06B010BD000043 +:104F90002C030020FEB504460D4616464FF4FA6079 +:104FA00001232246A021CDE9005602900348FDF7D7 +:104FB000DBFF0520FDF74AFCFEBD00002C030020AE +:104FC00000B5A1B021A0FFF74BFF4FF49670FDF79D +:104FD0003DFC22A0FFF744FF4FF49670FDF736FC2E +:104FE00022A0FFF73DFF6420FDF730FC27A0FFF76C +:104FF00037FF6420FDF72AFC2CA32EA231A101A8C3 +:1050000002F008FD01A8FFF72BFF4FF4FA60FDF74F +:105010001DFC32A034A336A23AA1009001A802F0F0 +:10502000F9FC01A8FFF71CFF4FF47A70FDF70EFCA6 +:105030003CA244A101A802F0EDFC01A8FFF710FF7B +:105040004FF47A70FDF702FC21B000BD41542B51A2 +:105050004D54444953433D300D0A000041542B51F7 +:105060004D54434C4F53453D300D0A0041542B5194 +:105070004D544346473D22726563762F6D6F6465DC +:10508000222C302C302C300D0A00000041542B51C2 +:105090004D544346473D226B656570616C6976658A +:1050A000222C302C36300D0A000000003138383305 +:1050B000000000003130312E34362E35322E363796 +:1050C0000000000041542B514D544F50454E3D308F +:1050D0002C222573222C25730D0A00006C64686253 +:1050E00030383133000000006C646862000000005A +:1050F0004C444D435532303235303132304130300E +:105100003031000041542B514D54434F4E4E3D30F1 +:105110002C222573222C222573222C222573220D6A +:105120000A0000002F7365727665722F636F6F2F10 +:105130004C444D43553230323530313230413030CD +:105140003031000041542B514D545355423D302CC9 +:10515000312C222573222C310D0A000070B5C2B00B +:10516000F7480088002875DDF649F7A002F042FCF8 +:10517000FBA1F448FBF769F800286CD07B21F148CB +:10518000FBF781F804467D21EE48FBF78DF80546D4 +:10519000002C7DD0002DFCD0A54279D9281B461CBF +:1051A0004FF4807102A8FBF745F83246214602A869 +:1051B000FBF75DF80020019001AAECA102A8FBF723 +:1051C0007FF8012833D10198012804D0022810D09B +:1051D00003282AD11BE0012001F014FCE6A002F014 +:1051E00009FC0020D64908808021D648FBF722F828 +:1051F0001CE0022001F006FCE3A002F0FBFB002013 +:10520000CF4908808021CF48FBF714F80EE0032037 +:1052100001F0F8FBE0A002F0EDFB0020C849088097 +:105220008021C848FBF706F800E000BF26E301AA8A +:10523000DDA102A8FBF744F8012835D1DD48FEF7CF +:105240006DFDDD48007801280AD0022804D003282B +:105250000ED109E04BE343E3D8490198086007E029 +:10526000D7490198086003E0D6490198086000BF5B +:1052700000BF01F0C9FE0020FCF7D8F80020FCF7C1 +:105280002DF80020FCF73CF80020CF49086000E032 +:1052900025E3CE490860C7490968486201F0C0F9B2 +:1052A000C448FEF7E7FCE9E201AAC9A102A8FBF79E +:1052B00007F8012831D1BF48FEF730FDBE4800781D +:1052C000012808D0022802D003280CD107E0C349E6 +:1052D0000198086007E0C2490198086003E0C149ED +:1052E0000198086000BF00BF01F08EFE0020FCF7AF +:1052F0009DF80020FBF7F2FF0020FCF701F80020EA +:10530000B1490860B1490860AA490968486201F0DA +:1053100087F9A848FEF7AEFCB0E201AAB2A102A844 +:10532000FAF7CEFF012831D1A248FEF7F7FCA248D8 +:105330000078012808D0022802D003280CD107E009 +:10534000AC490198086007E0AB490198086003E0A8 +:10535000AA490198086000BF00BF01F055FE002077 +:10536000FCF764F80020FBF7B9FF0020FBF7C8FF4B +:10537000002095490860954908608E49096848628F +:1053800001F04EF98B48FEF775FC77E201AA9CA16B +:1053900002A8FAF795FF01282ED187480078012846 +:1053A00008D0022802D003280CD107E097490198C1 +:1053B000086007E096490198086003E09549019864 +:1053C000086000BF00BF01F01FFE0020FCF72EF8B0 +:1053D0000020FBF783FF0020FBF792FF00207A49B3 +:1053E00008607A49086073490968486201F018F951 +:1053F0007048FEF73FFC41E201AA87A102A8FAF734 +:105400005FFF012831D16B48FEF788FC6A480078BD +:10541000012808D0022802D003280CD107E08149D6 +:105420000198086007E080490198086003E07F491F +:105430000198086000BF00BF01F0E6FD0020FBF707 +:10544000F5FF0020FBF74AFF0020FBF759FF002083 +:105450005D4908605D49086056490968486201F085 +:10546000DFF85448FEF706FC08E201AA70A102A882 +:10547000FAF726FF012831D14E48FEF74FFC4E487F +:105480000078012808D0022802D003280CD107E0B8 +:105490006A490198086007E069490198086003E0DB +:1054A00068490198086000BF00BF01F0ADFD002011 +:1054B000FBF7BCFF0020FBF711FF0020FBF720FFEC +:1054C000002041490860414908603A49096848623A +:1054D00001F0A6F83748FEF7CDFBCFE101AA5AA1AB +:1054E00002A8FAF7EDFE012815D10198012808D18C +:1054F00058490870002058490860012000F0D4FE87 +:10550000BCE101980028AFD15249087052490860A7 +:1055100000F0CAFEB2E101AA50A102A8FAF7D0FE3B +:1055200001280CD150490198086000204A490860C0 +:105530004E4801684C48006801F0DBF89EE197E0B6 +:1055400050000020EC050020BDD3CAD5B5BDB5C4C0 +:10555000D4ADCABCCAFDBEDD3A2025730A000000E6 +:105560002B514D54524543563A0000007B2258318E +:1055700030223A25647D0000C7D0BBBBB5BDB3E582 +:10558000B2DEC4A3CABD0A00C7D0BBBBB5BDB9E07B +:10559000B8C8C4A3CABD0A00C7D0BBBBB5BDD6B18D +:1055A000C5C5C4A3CABD0A007B22583234223A259D +:1055B000647D0000800300202C010020E800002012 +:1055C000C8000020A8000020300100203401002085 +:1055D0007B22583235223A25647D0000EC00002001 +:1055E000CC000020AC0000207B22583534223A2524 +:1055F000647D0000F0000020D0000020B0000020FA +:105600007B22583535223A25647D0000F4000020C5 +:10561000D4000020B40000207B22583536223A25E1 +:10562000647D000000010020D8000020B8000020A8 +:105630007B22583537223A25647D00000401002082 +:10564000DC000020BC0000207B22583135223A25A6 +:10565000647D000054010020580100207B22583254 +:1056600030223A25647D00005C01002060010020AA +:1056700001AAA0A102A8FAF723FE01280CD1A04993 +:105680000198086000209F4908609D4801689E4875 +:10569000006801F02EF8F1E001AA9CA102A8FAF737 +:1056A0000FFE012829D10198012802D00198002875 +:1056B000F1D1019808B9012000E000209649087056 +:1056C0000198012808D1002008700120FBF7AEFEE8 +:1056D00092A002F08FF908E001208F4908700020A5 +:1056E000FBF7A4FE91A002F085F900209349088001 +:1056F00080219348FAF79EFDC0E001AA91A102A87B +:10570000FAF7DEFD012822D10198012802D0019884 +:105710000028C0D1019808B9012000E000208C4980 +:1057200008700198012808D1002008700120FBF7BB +:10573000D5FD88A002F05EF9A0E001208449087040 +:105740000020FBF7CBFD87A002F054F996E001AAF8 +:1057500088A102A8FAF7B4FD01281CD101980128FC +:1057600002D00198002896D10198012809D1002083 +:10577000774908700120FBF7C3FD81A002F03AF9D8 +:105780007CE00120724908700020FBF7B9FD80A081 +:1057900002F030F972E001AA81A102A8FAF790FDA7 +:1057A000012809D10198012801D0019808BB01996D +:1057B000C8B2FBF7D5FD61E001AA7CA102A8FAF707 +:1057C0007FFD012807D19DED010AB8EEC00A7A4895 +:1057D00080ED000A52E001AA78A102A8FAF770FD54 +:1057E000012807D19DED010AB8EEC00A764880ED88 +:1057F000000A43E001AA75A102A8FAF761FD012899 +:1058000009D10198012801D0019808BB0199C8B2BB +:10581000FBF71EFD32E001AA6FA102A8FAF750FDC6 +:10582000012816D1019801280FD100206D49086088 +:105830006D48007808B9012000E000206A4908702E +:10584000FBF7BCFD00F08CFD18E00020FBF798FD95 +:1058500014E001AA65A102A8FAF732FD012803D1DC +:1058600065490198086009E001AA64A102A8FAF755 +:1058700027FD012802D164490198086001AA63A1AB +:1058800002A8FAF71DFD01280BD10198012802D1C9 +:10589000FBF712FD22E0019800BB0020FBF70CFD96 +:1058A0001CE001AA5CA102A8FAF70AFD012815D1A3 +:1058B0000198012803D1042001F0A4F807E0019821 +:1058C00028B9032001F09EF856A002F093F80020BA +:1058D0001A49088080211A48FAF7ACFC00BF00BFC3 +:1058E00000201649088080211548FAF7A3FC42B031 +:1058F00070BD00007B22583231223A25647D0000C1 +:1059000060010020580100205C0100207B225831FA +:1059100032223A25647D000048000020CBAEB1C39E +:10592000C7BFD6C6BFAAC6F40A000000CBAEB1C33B +:10593000C7BFD6C6B9D8B1D50A00000050000020B4 +:10594000EC0500207B22583133223A25647D00008B +:1059500049000020B7E7BBFA31C7BFD6C6BFAAC609 +:10596000F40A0000B7E7BBFA31C7BFD6C6B9D8B151 +:10597000D50A00007B22583134223A25647D00008C +:10598000B7E7BBFA32C7BFD6C6BFAAC6F40A000043 +:10599000B7E7BBFA32C7BFD6C6B9D8B1D50A00003F +:1059A0007B22583138223A25647D00007B22583210 +:1059B00032223A25647D0000700100207B2258329B +:1059C00033223A25647D0000740100207B22583583 +:1059D00039223A25647D00007B22583439223A2549 +:1059E000647D0000F4010020000200207B22583575 +:1059F00031223A25647D0000F80100207B225835D1 +:105A000032223A25647D0000FC0100207B225835BB +:105A100033223A25647D00007B22583538223A250E +:105A2000647D0000CDA3D6B9C5E0BEFAC4A3CABD4B +:105A3000A3ACC7D0BBBBB5BDD6B1C5C5C4A3CABD99 +:105A40000A00000070B506460C4615464FF48071FA +:105A50000E48FAF7EFFB0EA214A10C4801F0DAFF92 +:105A60000A48FFF7FDF94FF47A732A462146164893 +:105A7000FEF7A6FE4FF47A73012214A11248FEF736 +:105A80009FFE6420FCF7E2FE70BD00006C08002061 +:105A90002F6465762F636F6F2F4C444D4355323022 +:105AA00032353031323041303030310041542B51B9 +:105AB0004D545055423D302C302C302C302C22256A +:105AC00073220D0A00000000300500201A000000BB +:105AD00010B500F045FD04465C480078844209D0CA +:105AE00000205B4908605B49086001205A49087042 +:105AF00056480470002C52D15848007830B100202C +:105B0000FBF794FC0020564908601FE050480068ED +:105B100054490968884206D20120FBF787FC01201E +:105B20004F49086012E04F4800684F49096808442F +:105B300047490968884206D90020FBF777FC002016 +:105B40004749086002E00020414908604748007862 +:105B500018B10020FBF7E6FB77E03E4800684449B7 +:105B60000968884203D20120FBF7DCFB6DE00020CE +:105B7000FBF7D8FB3E4800683E49096808443549B0 +:105B80000968884261D80020324908603A480078A4 +:105B900008B9012000E000203749087055E00020D6 +:105BA000FBF744FC00202E4908603048007818B10B +:105BB0000020FBF7B7FB48E02748007820B32548D2 +:105BC00000682E490968884203D20120FBF7AAFB2E +:105BD0003BE00020FBF7A6FB28480068284909683D +:105BE00008441C49096888422FD8002019490860D8 +:105BF0002148007808B9012000E000201E49087003 +:105C000000201549087020E0124800681D49096805 +:105C1000884203D20120FBF785FB16E00020FBF74A +:105C200081FB18480068184909680844094909684F +:105C300088420AD80020074908600F48007808B950 +:105C4000012000E000200C49087010BD4501002033 +:105C500030010020340100203901002048000020DC +:105C600040010020E8000020EC0000204900002056 +:105C7000F0000020F400002038010020F80000208F +:105C8000FC000020000100200401002010B52DEDD3 +:105C9000028B9FED0E0AB0EE408A6420FFF73AF9BE +:105CA0000446A52C05D1602000F082FCB0EE408AAD +:105CB00007E09FED060AB0EE408AB0EE480A00F019 +:105CC000FAFCB0EE480ABDEC028B10BD00000000EB +:105CD00010B58820FFF71EF90446A72C10D18020AC +:105CE00000F066FCBCEEC00A094880ED000A842082 +:105CF00000F05EFCBCEEC00A064880ED000A05E03C +:105D0000044801680248006800F0F3FC10BD000080 +:105D10005C0100206001002010B57820FFF7FAF840 +:105D20000446A62C0CD1702000F042FC094880EDFE +:105D3000000A742000F03CFC074880ED000A07E0F0 +:105D40000548D0ED000A034890ED000A00F0E7FC9A +:105D500010BD000070010020740100201FB500205C +:105D600000900190029003901548164908600020A9 +:105D700048600021134881600161017680F820109D +:105D8000C162114981620021C1600121C16100210C +:105D900080F8301001214161FCF768F908B1FBF788 +:105DA0000BFF002000900120019000200290694626 +:105DB0000448FCF791F808B1FBF7FEFE1FBD000098 +:105DC000002001403C0200200100000F1FB5002010 +:105DD0000090019002900390204821490860002023 +:105DE000486000211E488160012101610176002187 +:105DF00080F82010C1621B4981620021C16003212B +:105E0000C161012180F830104161FCF72FF908B120 +:105E1000FBF7D2FE042000900120019007200290A1 +:105E200069460F48FCF758F808B1FBF7C5FE092092 +:105E300000900220019069460948FCF74DF808B12E +:105E4000FBF7BAFE0E20009003200190694604483B +:105E5000FCF742F808B1FBF7AFFE1FBD002201407E +:105E6000840200200100000F08B500BF0020009050 +:105E70001248006840F400101049086008460068A5 +:105E800000F40010009000BF00BF00BF0020009091 +:105E90000846006840F4800008600846006800F486 +:105EA0008000009000BF00BF002211460D20FDF7CA +:105EB000D9F90D20FDF7C2F908BD000030380240C5 +:105EC00000B587B0142102A8FAF7B4F900BF00208A +:105ED00001905548006840F010005349086008469A +:105EE000006800F01000019000BF00BF00BF00205C +:105EF00001900846006840F0040008600846006809 +:105F000000F00400019000BF00BF00BF002001901E +:105F10000846006840F0200008600846006800F06D +:105F20002000019000BF00BF00BF00200190084684 +:105F3000006840F0800008600846006800F08000BB +:105F4000019000BF00BF00BF00200190084600681C +:105F500040F0010008600846006800F00100019070 +:105F600000BF00BF00BF002001900846006840F05D +:105F7000400008600846006800F04000019000BF43 +:105F800000BF00BF002001900846006840F00800F4 +:105F900008600846006800F00800019000BF00BFDC +:105FA00000220C212148FCF767FD002242F65E2109 +:105FB0001F48FCF761FD0C20029001200390002097 +:105FC0000490059002A91948FCF754FC04200290A3 +:105FD00000200390049002A91648FCF74BFC2020F7 +:105FE0000290002003900120049002A91248FCF7BF +:105FF00041FC40F61E2002900120039000200490F6 +:10600000059002A90A48FCF735FC4FF401500290B4 +:1060100001200390002004900220059002A904486A +:10602000FCF728FC07B000BD3038024000100240E9 +:1060300000180240001402400008024010B50B484E +:106040000B4908600B484860002109488160C16025 +:106050004FF480410161002141618161C1610162B0 +:10606000FCF716FD08B1FBF7A7FD10BD0058004076 +:106070002C030020A086010000B587B0002003900B +:10608000049005900690019002904FF080401449D2 +:10609000086041F61F4048600021114881601149A5 +:1060A000C160002101618161FDF732FD08B1FBF79C +:1060B00083FD4FF48050039003A90948FDF74DFE7E +:1060C00008B1FBF779FD00200190029001A9044876 +:1060D000FDF7C4FC08B1FBF76FFD07B000BD000081 +:1060E00080030020BF27090000B587B0002003907F +:1060F000049005900690019002901548154908609B +:1061000041F61F40486000211248816042F20F7141 +:10611000C160002101618161FDF7FAFC08B1FBF764 +:106120004BFD4FF48050039003A90A48FDF715FE7C +:1061300008B1FBF741FD00200190029001A905483C +:10614000FDF78CFC08B1FBF737FD07B000BD000080 +:1061500000040040C80300201CB5002000900190FE +:106160000E480F4908604720486000210C488160B4 +:1061700040F2E731C16000218161FDF7C9FC08B13F +:10618000FBF71AFD00200090019069460448FDF7D6 +:1061900065FC08B1FBF710FD1CBD000000100040BD +:1061A000100400201CB50020009001900E480F49FB +:1061B000086041F61F40486000210C48816042F2AF +:1061C0000F71C16000218161FDF7A2FC08B1FBF7EE +:1061D000F3FC00200090019069460448FDF73EFC66 +:1061E00008B1FBF7E9FC1CBD001400405804002076 +:1061F00010B50D480D4908604FF4965048604FF4B3 +:1062000080510A4881600021C1604FF480610161C2 +:106210000C21416100218161C161FEF731F908B1B2 +:10622000FBF7CAFC10BD0000004C0040A004002099 +:1062300010B50B480B4908604FF4E130486000216D +:1062400008488160C16001610C21416100218161C8 +:10625000C161FEF715F908B1FBF7AEFC10BD0000F7 +:1062600000100140E804002010B50B480B490860FD +:106270004FF4E1304860002108488160C16001614D +:106280000C21416100218161C161FEF7F9F808B17B +:10629000FBF792FC10BD00000044004030050020D8 +:1062A00000BFFEE700BFFEE710B504462CB1012297 +:1062B00040210548FCF7E0FB04E0002240210248B1 +:1062C000FCF7DAFB10BD00000018024010B51248C0 +:1062D0000078E8B11148006811490968884203D87C +:1062E0000120FFF7E1FF16E00D4800680D4909683D +:1062F00008440A490968884203D30020FFF7D4FF05 +:1063000009E00020054908600120FFF7CDFF02E009 +:106310000020FFF7C9FF10BD5401002058010020E4 +:106320005C0100206001002010B540210148FCF70D +:106330009BFB10BD0018024010B5FFF7C9FC0120FF +:10634000044908700020044908600120FFF7ACFFF1 +:1063500010BD0000540100205801002070470000CB +:1063600010B51748006817490968884206D8012007 +:10637000FBF706F80120144908701FE01148006877 +:106380001249096808440E490968884206D300206A +:10639000FAF7F6FF00200C4908700FE000200849CA +:1063A00008600B48007808B9012000E00020084987 +:1063B0000870FBF703F80120FAF7E2FF10BD0000B8 +:1063C000F4010020F801002001020020FC0100205F +:1063D0000002002070B52DED108B04469FED400AA1 +:1063E000B0EE40FA208808EE100AB8EE480ADFED59 +:1063F0003D0A20EE200ADFED3A0A20EE200A3A4854 +:1064000080ED000A90ED000ADFED380A20EE200A48 +:10641000D0ED000A9FED361A71EE600A80EE201A68 +:10642000F0EE418A9FED310AC8EE800A10EE905AD4 +:106430002846FAF7B5F941EC1E0BB0EE4E0AF0EE25 +:106440006E0A01F019FBB0EE40DAF0EE60DA9FED73 +:10645000290B53EC102B51EC1D0BFAF70CF941EC06 +:106460001C0B9FED260B53EC102BF9F7EBFF41ECC7 +:106470001B0B53EC1B2B9FED230B51EC100BFAF76E +:10648000FAF841EC1A0B9FED210B53EC102BFAF7A5 +:106490007AF841EC190BFAF7AFF91E490860084683 +:1064A00090ED000A1C48D0ED000AB4EEE00AF1EECF +:1064B00010FA03D20120FAF753FF0DE0154890EDD2 +:1064C000000A1648D0ED000AB4EEE00AF1EE10FA28 +:1064D00002DD0020FAF744FFBDEC108B70BD000018 +:1064E0009A99193F3333533A7801002000401C46F3 +:1064F000333353400000000000DCAE40000000E0F9 +:10650000E1796B3F000000000000F03F00000060F8 +:10651000661271407C01002070010020740100208F +:1065200010B510210148FCF79FFA10BD0018024079 +:1065300010B504210148FCF797FA10BD001802407D +:1065400010B508210148FCF78FFA10BD0018024071 +:1065500010B520210148FCF787FA10BD0008024061 +:1065600010B5FFF7F5FF04460E480078844205D0C9 +:1065700000200D4908700B48047010E00A480078AC +:106580000A280CDA08480078401C074908700846B9 +:1065900000780A2803DB05480470002008700348CF +:1065A000007810BD3B0100203A0100203C01002092 +:1065B0001CB50446042201A92046FEF7C1FC01983F +:1065C00000909DED000A1CBD10B54FF4007102480B +:1065D000FCF74AFA10BD00000018024010B5042173 +:1065E0000148FCF741FA10BD0014024010B5042127 +:1065F0000648FCF739FA20B908210448FCF734FAB8 +:1066000008B1012010BD0020FCE70000001002408E +:1066100010B502210148FCF727FA10BD001802400E +:1066200010B51B48FDF77AFB00F0C2F900201949AC +:106630000860194908601949086019490860012073 +:1066400018490870002018490860184908704FF46C +:106650007A70FCF7FBF816480078012804D002286D +:1066600005D0032809D105E000F010FA05E000F09C +:106670002DFA02E000F0F0F900BF00BF002005494C +:106680000860054908600248FDF7F4FA10BD0000F3 +:10669000800300203001002034010020240100206C +:1066A000280100203901002040010020380100208D +:1066B0002C010020704710B52DED028BB0EE408A02 +:1066C000B0EE480A602000F007F8A5216420FEF72C +:1066D00049FCBDEC028B10BD11B52DED020B81B054 +:1066E000044601980090042269462046FEF752FCB9 +:1066F0001FBD70B504460D4600EE104AB8EE400AC4 +:106700008020FFF7E9FF00EE105AB8EE400A84201F +:10671000FFF7E2FFA7218820FEF724FC70BD10B52B +:106720002DED028BF0EE408AB0EE608AB0EE680A82 +:106730007020FFF7D1FFB0EE480A7420FFF7CCFFBE +:10674000A6217820FEF70EFCBDEC028B10BD0000E8 +:1067500010B5FFF705FF044680480078844207D053 +:1067600000207F49086001207E4908707B48047042 +:1067700014BB7B4800687C490968884203D2012029 +:10678000FAF7D0FD63E07848006878490968084462 +:1067900073490968884203D90020FAF7C3FD56E01F +:1067A00000206F4908607248007808B9012000E0B5 +:1067B00000206F4908704AE06A48007828B36848AA +:1067C00000686C490968884203D20120FAF7AAFDE3 +:1067D0003DE06848006868490968084460490968FC +:1067E000884203D90020FAF79DFD30E000205C4983 +:1067F00008605F48007808B9012000E000205C498B +:10680000087000205749087021E0554800685B492E +:106810000968884203D20120FAF784FD17E057483F +:1068200000685749096808444D490968884203D9F6 +:106830000020FAF777FD0AE00020494908604C483B +:10684000007808B9012000E00020494908704D484F +:10685000007830B1012819D0022847D003287BD115 +:1068600074E00020FAF7E2FD00204749086047483D +:10687000006847490968884207D9012041490870E2 +:106880000020424908604349086065E03F480068CD +:1068900041490968884220D23E4800683F4909685A +:1068A000884206D20120FAF7C1FD0120364908606E +:1068B0001BE03A4800683A490968084435490968C4 +:1068C000884206D90020FAF7B1FD00202E49086061 +:1068D0000BE000202F49086007E0022029490870DA +:1068E00000202A4908602B49086035E027480068E5 +:1068F0002C490968884220D226480068274909683F +:10690000884206D20120FAF791FD01201E49086055 +:106910001BE0224800682449096808441D490968A9 +:10692000884206D90020FAF781FD00201649086048 +:106930000BE000201749086007E0032011490870A8 +:1069400000F08AF803201949087005E000F084F887 +:1069500003201649087000BF00BF10BD470100208A +:106960003401002039010020B0000020B4000020D4 +:1069700038010020C0000020C4000020B800002022 +:10698000BC00002020010020400100202401002044 +:1069900008010020280100200C0100201001002027 +:1069A00014010020180100201C0100202C010020EF +:1069B00010B50020FAF73AFD0020FAF78FFC00200E +:1069C000FAF79EFC00200949086009490860094956 +:1069D000086009490860012008490870002008493A +:1069E00008604FF47A70FBF731FF10BD30010020D2 +:1069F000340100202401002028010020390100205A +:106A00004001002010B50446FFF7D2FF012C06D04C +:106A1000022C0AD0032C0ED0042C18D111E000F067 +:106A200035F801200B49087012E000F04FF8022001 +:106A3000084908700CE000F00FF8032005490870C1 +:106A400006E000F063F804200249087000E000BF8F +:106A500000BF10BD2C01002010B5002008490860BF +:106A600008490860FFF77CFD074908700020FAF725 +:106A7000DDFC0020FAF732FC0020FAF741FC10BDE3 +:106A800030010020340100204401002010B5002016 +:106A90000A4908600A49086001200A490870FFF79E +:106AA0005FFD094908700020FAF7C0FC0020FAF7E2 +:106AB00015FC0020FAF724FC10BD00003001002076 +:106AC00034010020390100204601002010B50020CB +:106AD0000A4908600A49086001200A490870FFF75E +:106AE0003FFD094908700020FAF7A0FC0020FAF7E2 +:106AF000F5FB0020FAF704FC10BD00003001002077 +:106B000034010020390100204501002010B500208B +:106B10000D4908600D4908700D4908600D4908606D +:106B200001200D490870FFF71BFD0C49087000207B +:106B3000FAF77CFC0020FAF7D1FB0020FAF7E0FB23 +:106B400004200749087010BD3401002020010020F6 +:106B500024010020280100203901002047010020E5 +:106B60002C01002010B5FCF7F5FA10BD00B593B06C +:106B7000302107A8F9F75EFB142102A8F9F75AFBA8 +:106B800000BF002001902348006840F08050214958 +:106B900008600846006800F08050019000BF00BF08 +:106BA00000BF002001901C48006840F480401A4952 +:106BB00008600846006800F48040019000BF00BFF4 +:106BC000012007900004089002200D9041050E91CD +:106BD00008210F919021109102211191042112910D +:106BE00007A8FCF7D1FC08B1FAF7E6FF0F200290E6 +:106BF00002200390002004904FF480500590002064 +:106C00000690022102A8FCF77FFB08B1FAF7D4FF37 +:106C100013B000BD403802400070004003480068D7 +:106C200040F47000014908607047000088ED00E002 +:106C300010B50248FDF718F910BD000080030020D0 +:106C400010B50248FDF710F910BD0000C803002080 +:106C500010B50248FDF708F910BD0000100400202F +:106C600010B50248FDF700F910BD000058040020DF +:106C700010B502682D4B98420ED0B0F1804F0BD06A +:106C80002B4B984208D02B4B984205D02A4B984268 +:106C900002D02A4B984203D122F070024B681A436B +:106CA000224B984220D0B0F1804F1DD0204B98420B +:106CB0001AD0204B984217D01F4B984214D01F4B2C +:106CC000984211D01E4B98420ED01E4B98420BD0CA +:106CD0001D4B984208D01D4B984205D01C4B984242 +:106CE00002D01C4B984203D122F44072CB681A4365 +:106CF00022F080034C6943EA040202608B68C3629D +:106D00000B688362094B984202D00C4B984201D128 +:106D10000B69036301234361036903F001031BB1A2 +:106D2000036923F00103036110BD0000000001406E +:106D30000004004000080040000C00400004014036 +:106D4000004001400044014000480140001800405C +:106D5000001C00400020004030B50C46816821F442 +:106D60007F4142EA032525432943816030BD0A461D +:106D7000816821F0700142F0070319438160704778 +:106D800030B50B461446026A056A25F00105056216 +:106D9000816921F0F00141EA041122F00A021A434C +:106DA0008161026230BD30B50B461446026A056A45 +:106DB00025F010050562816921F4704141EA043132 +:106DC00022F0A00242EA03128161026230BD00009B +:106DD00010B504226E490020FEF7B2F804226D4976 +:106DE0001046FEF7ADF804226B490820FEF7A8F81C +:106DF00004226A490C20FEF7A3F8042268491020F7 +:106E0000FEF79EF8042267491420FEF799F8042241 +:106E100065491820FEF794F8042264491C20FEF707 +:106E20008FF8042262492020FEF78AF80422614983 +:106E30002420FEF785F804225F492820FEF780F819 +:106E400004225E492C20FEF77BF804225C493020A6 +:106E5000FEF776F804225B493420FEF771F804222D +:106E600059493820FEF76CF8042258493C20FEF7B7 +:106E700067F8042256494020FEF762F8042255497B +:106E80004420FEF75DF8042253494820FEF758F8E5 +:106E9000042252494C20FEF753F804225049502056 +:106EA000FEF74EF804224F495420FEF749F8042219 +:106EB0004D495820FEF744F804224C495C20FEF767 +:106EC0003FF833480068401C18B13148006800287A +:106ED0005CD101202E49086096202E4908602820A8 +:106EE0002D49086002202D4908600A202C490860BD +:106EF00014202C49086028202B49086002202B49C7 +:106F0000086001202A49086096202A490860282044 +:106F1000294908600220294908600520284908609D +:106F2000192028490860282027490860022027499D +:106F3000086001202649086078202649086014204E +:106F4000254908600520254908600A20264908606F +:106F50002649086005202249086028202149086048 +:106F60004FF4B460224908604000224908600120C3 +:106F7000214908604FF4B47020490860012020497D +:106F80000860F0201F49086000F03EF810BD0000C6 +:106F9000A8000020AC000020B0000020B4000020B9 +:106FA000B8000020BC000020C0000020C400002069 +:106FB000C8000020CC000020D0000020D400002019 +:106FC000D8000020DC000020E0000020E4000020C9 +:106FD000E8000020EC000020F0000020F400002079 +:106FE0000001002004010020F8000020FC00002027 +:106FF000080100200C0100201001002014010020D5 +:10700000180100201C01002010B504223B4900207B +:10701000FDF7C0FF04223A491046FDF7BBFF0422EA +:1070200038490820FDF7B6FF042237490C20FDF748 +:10703000B1FF042235491020FDF7ACFF042234498A +:107040001420FDF7A7FF042232491820FDF7A2FF04 +:10705000042231491C20FDF79DFF04222F492020E6 +:10706000FDF798FF04222E492420FDF793FF042208 +:107070002C492820FDF78EFF04222B492C20FDF7F8 +:1070800089FF042229493020FDF784FF0422284982 +:107090003420FDF77FFF042226493820FDF77AFFD0 +:1070A000042225493C20FDF775FF04222349402096 +:1070B000FDF770FF042222494420FDF76BFF0422F4 +:1070C00020494820FDF766FF04221F494C20FDF7A8 +:1070D00061FF04221D495020FDF75CFF04221C497A +:1070E0005420FDF757FF04221A495820FDF752FF9C +:1070F000042219495C20FDF74DFF10BDA8000020B7 +:10710000AC000020B0000020B4000020B800002037 +:10711000BC000020C0000020C4000020C8000020E7 +:10712000CC000020D0000020D4000020D800002097 +:10713000DC000020E0000020E4000020E800002047 +:10714000EC000020F0000020F400002000010020EE +:1071500004010020F8000020FC00002010B50248C7 +:10716000FDF71AF810BD0000A004002070B5054618 +:10717000AC6B0020E085E0842046FDF70BF870BD85 +:1071800000BF00BF02680C3252E8002F22F4907159 +:1071900002680C3242E80013002BF3D100BF00BF9D +:1071A00000BF0268143252E8002F22F00101026889 +:1071B000143242E80013002BF3D100BF016B012908 +:1071C0000ED100BF00BF02680C3252E8002F22F03F +:1071D000100102680C3242E80013002BF3D100BF0B +:1071E000202180F8421000210163704710B5044649 +:1071F0002068C06820F040002168C860202084F822 +:1072000041002046FDF73BFB002010BDF8B50446C9 +:1072100094F84200222875D1A068B0F5805F0CD1A7 +:10722000206950B90025A66A20684068C0F30800AC +:107230003080A06A801CA06215E0A56A0026A068C4 +:10724000B0F5805F03D0A06828B9206918B920681C +:107250004068287004E02068406800F07F002870D3 +:10726000A06A401CA062E08D401E80B2E08500282C +:1072700046D12068C06820F020002168C8602068DE +:10728000C06820F480702168C8602068406920F0E0 +:10729000010021684861202084F8420000206063DA +:1072A000206B012826D10020206300BF00BF216889 +:1072B0000C3151E8001F21F0100021680C3141E829 +:1072C0000002002AF3D100BF2068006800F010001F +:1072D00010280AD100BF00200090206800680090AC +:1072E00020684068009000BF00BFA18D2046FCF7D9 +:1072F00039FF02E02046FDF71FFA0020F8BD01E04B +:107300000020FBE70220F9E72DE9F84F044620684A +:10731000006920F44050E168084321680861216950 +:10732000A068084361690843E16908430090206848 +:10733000C06849F20C618843009908432168C8601D +:107340002068406920F44070A169084321684861C1 +:1073500076492068884203D075492068884203D165 +:10736000FCF7AAF8814602E0FCF796F88146E0694E +:10737000B0F5004F6CD102206168A0FB01500346BC +:107380001920A9FB007001462A463846F8F71AFF73 +:107390006421B0FBF1F04FEA001A02206168A0FB03 +:1073A00001510B461920A9FB00712A463846F8F70F +:1073B00009FF834602206168A0FB015003461920A3 +:1073C000A9FB00712A463846F8F7FCFE6421B0FBA1 +:1073D000F1F000EBC00101EB0010ABEB80003221BB +:1073E00001EBC0006421B0FBF1F000F0F8000AEB03 +:1073F000400A02206168A0FB015003461920A9FB46 +:10740000007001462A463846F8F7DCFE8346022023 +:107410006168A0FB015003461920A9FB00712A46B0 +:107420003846F8F7CFFE6421B0FBF1F000EBC00165 +:1074300001EB0010ABEB8000322101EBC0006421B6 +:10744000B0FBF1F000F007005044216888606AE06A +:1074500004206168A0FB015003461920A9FB0070BD +:1074600001462A463846F8F7ADFE82460420616898 +:10747000A0FB015003461920A9FB007001462A46D3 +:107480003846F8F79FFE6421B0FBF1F000EBC00135 +:1074900001EB0010AAEB8000322101EB0010642107 +:1074A000B0FBF1F000F0F00A04206168A0FB01706D +:1074B00003461920A9FB00513A462846F8F782FEF8 +:1074C0006421B0FBF1F00AEB001A04206168A0FB14 +:1074D00001510B461920A9FB00712A463846F8F7DE +:1074E00071FE834604206168A0FB01500346192009 +:1074F000A9FB007001462A463846F8F763FE64216E +:10750000B0FBF1F000EBC00101EB0010ABEB800031 +:10751000322101EB00106421B0FBF1F000F00F000C +:10752000504421688860BDE8F88F000000100140D9 +:107530000014014010B5034699629A85DA8500204F +:107540005864222083F84200186928B11868C0687E +:1075500040F480701C68E0601868406940F00100E9 +:107560001C6860611868C06840F020001C68E0601A +:10757000002010BD014691F84100212828D18868DB +:10758000B0F5805F0BD1086948B90A6A1088C0F36A +:1075900008000B685860086A801C086205E00B6AE6 +:1075A000581C086218780B685860C88C401E80B25E +:1075B000C88458B90868C06820F080000B68D8609B +:1075C0000868C06840F040000B68D8600020704731 +:1075D0000220FCE72DE9F84304460D46174698467D +:1075E000089E31E0701C70B3FBF74CFAA0EB08006A +:1075F000B04200D816B90320BDE8F8832068C068FF +:1076000000F00400F8B1802D1ED0402D1CD0206861 +:107610000068C0F3C000B0B100BF00200090206837 +:107620000068009020684068009000BF00BF2046BE +:10763000FFF7A6FD0820606400BF002084F840002A +:1076400000BF0120D8E7FFE7206800682840A84273 +:1076500001D1012000E00020B842C3D00020CBE7D8 +:1076600010B50248FCF798FD10BD00003005002061 +:1076700010B51648007816490870FEF7C9FF14497E +:107680004870FEF755FF12498870FEF759FF104900 +:10769000C870FEF749FE0E490871FEF759FF0C4904 +:1076A0004871FEF791FF0A49C871FEF797FF084934 +:1076B0000872FEF79BFF06494872FEF731FF044946 +:1076C000887204480078C87210BD00006C00002069 +:1076D0006C090020810000202DE9F04F2DED068B74 +:1076E000E5B0FFF7C5FFF9F775FDFAF77FFB054633 +:1076F0007848FEF76FFEFAF7BBFB00260027B0467E +:10770000B146B246B34674480078012817D0022823 +:1077100004D0032824D0042864D132E06F480668DE +:107720006F4807686F48D0F800806F48D0F8009025 +:107730006E48D0F800A06E48D0F800B052E06D4816 +:1077400006686D4807686D48D0F800806C48D0F82E +:1077500000906C48D0F800A06B48D0F800B041E031 +:107760006A4806686A4807686A48D0F800806A482C +:10777000D0F800906948D0F800A06948D0F800B06F +:1077800030E06448D0F800806348D0F80090634847 +:10779000D0F800A06248D0F800B06248007820B16C +:1077A000012809D0022817D10EE05FA000F022F9CD +:1077B00000266548076813E064A000F01BF96B48D9 +:1077C00006686B4807680BE06AA000F013F9674889 +:1077D00006687048076803E06FA000F00BF900BF6F +:1077E00000BF00BF00BF73480068F8F7D9FF41EC45 +:1077F000180B71480068F8F7D3FF41EC190B6F487C +:107800000068F8F7CDFF41EC1A0B6D4824906D48E5 +:1078100090ED000B8DED220B6B48C07A2E49097854 +:10782000042901D1012100E00021CDE91DABCDE902 +:107830001F106548807A65490968CDE91B89CDE943 +:107840001910634801686048407A624A1278CDE9AD +:107850001552CDE917015C48007A5B4949795E4AC7 +:1078600092785D4B5B78CDE91132CDE913105A481F +:107870000078CDE90E6710908DED0C8B8DED0A9B95 +:107880008DED08AB55480168554802684E48C079EF +:10789000544B1B78CDE90330CDE905214A48C17826 +:1078A0008078494A5278CDE9002002910A4803784D +:1078B0004D4890F900204D4925A800F0ABF884B25E +:1078C000224625A90020FEF7BDF865B0BDEC068B69 +:1078D000BDE8F08F100000202C010020E8000020FF +:1078E000EC000020F0000020F40000200001002047 +:1078F00004010020C8000020CC000020D00000209F +:10790000D4000020D8000020DC000020A8000020C7 +:10791000AC000020B0000020B4000020B80000201F +:10792000BC00002020010020CCD8CAE2C4A3CABDFC +:10793000B3F5CABCBDD7B6CE202D203234D0A1CAF3 +:10794000B1CDA3D6B90A000008010020CCD8CAE204 +:10795000C4A3CABDB5DAD2BBBDD7B6CE202D203662 +:10796000D0A1CAB1D1ADBBB70A0000001001002000 +:1079700014010020CCD8CAE2C4A3CABDB5DAB6FE51 +:10798000BDD7B6CE202D2034D0A1CAB1D1ADBBB762 +:107990000A0000001C010020B4EDCEF3A3BACEDE35 +:1079A000D0A7B5C4CCD8CAE2C4A3CABDBDD7B6CE91 +:1079B0000A00000074010020700100207C010020FA +:1079C000D8050020C80100206C090020FC0100201F +:1079D000F801002001020020820000206001002048 +:1079E0005C0100205401002055000020B88A0008E6 +:1079F00000BFFEE70FB4054B10B503A9044A029877 +:107A000000F0A6FB10BC5DF814FB000061880008C4 +:107A1000340200200FB4084B10B504A902AA039841 +:107A200000F096FB044602A9002000F014FF204657 +:107A300010BC5DF814FB000057880008024800687D +:107A4000C0F30220704700000CED00E010B50028E4 +:107A500004DB0A07130E054A135406E00A07140E46 +:107A6000034A00F00F031B1FD45410BD00E400E0D4 +:107A700018ED00E00000000070B5D94B00242DED9A +:107A8000020B2DED108BDDE91010984205DA20F085 +:107A900000429A4201D809D141B19DED100BBDECD5 +:107AA000108B02B0BDE8704000F05EBAB0F5801FE8 +:107AB00026DA11430BD0002813DA012000F080FAF7 +:107AC000BDEC108B02B0BDE8704000F059BA022046 +:107AD00000F076FA00F030FA51EC100B81F0004122 +:107AE0009EE06FF035049FEDC00B53EC102B9DED25 +:107AF000100B51EC100BF8F74CFDCDE910010846C6 +:107B000004EB2051C0F31304B948A1F2FF31204423 +:107B100000F4801080F07F6282F04052224301EB3B +:107B200020559FEDB50B119253EC102B9DED100BD2 +:107B300051EC100BF8F727FD41EC180BA01CC0F31B +:107B400013009FEDAFDB9FEDB0EBB14E7E440328F9 +:107B50006CD296ED000B51EC180B53EC102BF8F790 +:107B6000AFFF1DD1002D01BF96ED000BBDEC108BBA +:107B700002B070BD2846F8F779FF41EC180B53ECC2 +:107B80001D2BF8F706FD41EC190B53EC1E2B51ECA5 +:107B9000180BF8F7FEFC53EC192BF8F753FC3FE0F9 +:107BA0009FED9D0B51EC180B53EC102BF8F7F1FCEB +:107BB0009FED9B1B53EC112BF8F7E8FC41EC190BE4 +:107BC00053EC182B51EC180BF8F7E3FC53EC192B82 +:107BD000F8F7DFFC41EC190B002D04BF53EC192B17 +:107BE00051EC180B1AD02846F8F740FF41EC1A0B5D +:107BF00053EC1D2BF8F7CDFC53EC192BF8F7C6FC12 +:107C000053EC182BF8F7BFFC41EC180B53EC1E2B70 +:107C100051EC1A0BF8F7BDFC53EC182BF8F7B3FC3A +:107C2000BDEC108B02B041EC100B70BD9FED7E0BD4 +:107C300051EC180B53EC102BF8F704FC41EC100B33 +:107C400051EC180B53EC102BF8F715FD41EC190B08 +:107C50002846F8F70BFF41EC1B0B53EC192B51ECAA +:107C6000190BF8F796FC41EC1A0B714853EC1A2BE0 +:107C7000261851EC1A0BF8F78CFC41EC1F0B6D48E1 +:107C8000C4F1510404F5D724B0EE4F0AF0EE6F0AA8 +:107C90000321784400F0D2F853EC1F2B51EC100B69 +:107CA000F8F777FC41EC1C0B6348B0EE4F0AF0EE9E +:107CB0006F0A0421784400F0C1F853EC1A2B51EC00 +:107CC000100BF8F766FC344353EC1C2BF8F7BAFBA7 +:107CD00041EC1C0B002C4CDD9FED510B51EC180BB3 +:107CE00053EC102BF8F755FC53EC182BF8F751FC1C +:107CF00041EC1A0B55B353EC1D2B51EC1B0BF8F751 +:107D000048FC41EC1D0B53EC1C2B51EC1A0BF8F703 +:107D100099FB53EC192BF8F73CFC53EC1D2BF8F7AF +:107D200091FB53EC1A2BF8F731FC53EC182BF8F7B6 +:107D30002AFC41EC180B53EC1E2B51EC1B0BF8F7F3 +:107D400028FC53EC182BF8F71EFC69E753EC1C2BAE +:107D500051EC1A0BF8F776FB53EC192BF8F719FCDA +:107D600053EC1A2BF8F712FC53EC182BF8F70EFC17 +:107D700056E735B353EC1D2B51EC1B0BF8F709FC00 +:107D800041EC1A0B53EC1C2B51EC180BF8F7FBFBD6 +:107D900053EC192BF8F7FDFB53EC1A2BF8F7F3FB18 +:107DA00053EC182BF8F7EFFB41EC180B53EC1E2BA0 +:107DB00051EC1B0BF8F7EDFB53EC182BF8F7E3FB3A +:107DC0002EE753EC1C2B51EC180BF8F7DCFB53ECB3 +:107DD000192BF8F7DEFB53EC182BF8F7D7FB1FE74E +:107DE0000000F07F00000000000000000000504391 +:107DF000645F090000000000000000000000F03F88 +:107E0000763C7935EF39EA3D0000E0FE422EE63F50 +:107E1000200F000000000000555555555555D53F21 +:107E2000000000000000E03F0000000000000040F3 +:107E300086EBF9FFA20D0000980D000070B5044616 +:107E40002DED028B4D1E00EBC500B0EE408AF0EE2A +:107E5000608A90ED000B35F0060017D053EC182B1C +:107E600051EC100BF8F795FB41EC100B6D1E04EB79 +:107E7000C50090ED001B51EC100B53EC112BF8F7E3 +:107E8000E1FA41EC100B35F00600E7D1022D36D0B7 +:107E9000042D1CD0062D1CBFBDEC028B70BD53EC15 +:107EA000182B51EC100BF8F774FB94ED0A1B53ECF4 +:107EB000112BF8F7C7FA53EC182BF8F76AFB94ED7F +:107EC000081B53EC112BF8F7BDFA41EC100B53ECE7 +:107ED000182B51EC100BF8F75CFB94ED061B53ECE0 +:107EE000112BF8F7AFFA53EC182BF8F752FB94ED7F +:107EF000040B53EC102BF8F7A5FA41EC100B53ECE4 +:107F0000182B51EC100BF8F744FB94ED021B53ECCB +:107F1000112BF8F797FA53EC182BF8F73AFB94ED7E +:107F2000001B53EC112BF8F78DFABDEC028B41ECE2 +:107F3000100B70BD000000009FED070B10B553EC57 +:107F4000102B9FED070B51EC100BF8F794FB41EC55 +:107F5000100B10BD00000000000000000000000039 +:107F6000000000000000F03F10B553EC102B51EC66 +:107F7000100BF8F767FA41EC100B10BD0000000081 +:107F80009FED050B10B553EC102B51EC100BF8F7CF +:107F900072FB41EC100B10BD00000000000000005F +:107FA00002E008C8121F08C1002AFAD170477047C2 +:107FB000002001E001C1121F002AFBD17047000020 +:107FC0000149086070470000380200202DE9FF5F7A +:107FD00082B00021DDE90430020DDDF840B003433A +:107FE00018D044F61050A2F2FF32424315141198F3 +:107FF00001281FD0A5EB0B00401C5FEA000A4FF0E0 +:1080000000064E4FDFF83891B046504615D5CAF1FC +:10801000000413E0119801244AA3012801D16FEA5A +:108020000B010298119AC0E90031C0E9024206B082 +:10803000BDE8F09FCBF10000DFE704460021404A95 +:10804000491842EB0450CDE9001012E0E00707D0D8 +:1080500032463B4640464946F8F79BFA80468946F9 +:1080600032463B4610461946F8F793FA06460F4645 +:108070006410002CEAD1DDE90401DDE90023BAF146 +:10808000000F06DAF8F785FA42464B46F8F781FA10 +:1080900005E0F8F7F0FA42464B46F8F7ECFA0446EA +:1080A0000E460022284BF8F78FFB03D84FF0FF3025 +:1080B000014607E00022254B20463146F8F7C2F979 +:1080C000F8F7E5FC102409E0002C0ADB0A22002363 +:1080D000F8F778F8039B30321A55641E50EA010213 +:1080E000F2D1641C039AC4F111031444119A012AB9 +:1080F00003D0012208430DD10AE0084304D0002038 +:108100004FF0110B119072E7A3EB0B056D1E0DE004 +:108110005B4504DD4FF0000205F1010504E003DAE0 +:108120004FF00002A5F10105002AECD00298119948 +:10813000C0E90231C0E9004579E7000000001440C1 +:108140000000F03F300000000000F0430000E03F7E +:108150002DE9FF4F95B09A46884606460025EEE188 +:10816000252877D100242746F94A0121039400E00D +:10817000044316F8013F203B01FA03F01042F7D107 +:1081800030782A2811D06FF02F033078A0F1300218 +:10819000092A16D8039A44F0020402EB820203EB88 +:1081A00042021044761C0390EFE758F8042B039228 +:1081B000002A03DA504244F40054039044F00204CD +:1081C000761C30782E2816D116F8010F44F00404DE +:1081D0002A280DD06FF02F023078A0F13003092B40 +:1081E00009D807EB870302EB4303C718761CF3E7B4 +:1081F00058F8047B761C30786C280FD006DC4C28AD +:1082000017D068280DD06A2814D104E0742810D043 +:108210007A280FD10DE044F400140AE044F48014ED +:1082200001E044F440147278824202D104F58014D3 +:10823000761C761C307866280BD013DC582877D053 +:1082400009DC002875D04528F6D04628F4D0472808 +:108250001AD193E118E0632835D0642879D06528D5 +:1082600012D18BE1702873D008DC6728F1D069281F +:108270006FD06E280DD06F2806D1ACE073282CD0BB +:10828000752874D0782853D05246179990476D1CA2 +:1082900054E1C4F30250022809D003280DD0D8F8C5 +:1082A000001004280DD00D6008F1040846E1D8F84C +:1082B0000010EA17C1E90052F6E7D8F800100D8067 +:1082C000F2E70D70F0E718F8041B8DF8001000209D +:1082D0008DF80100EB46012003E058F804BB4FF095 +:1082E000FF3061074FF0000102D40DE009F10101F8 +:1082F0008946B9420FDA8145F8DB1BF809100029DD +:10830000F4D108E009F1010189468142FADB1BF84A +:1083100009100029F6D103985346A0EB090721461E +:108320003846179A00F080FA284400EB090507E068 +:1083300044E008E10DE01BF8010B52461799904705 +:10834000B9F10109F7D2534621463846179AF2E0AF +:1083500039E00A21C4F302524FF0000B0091022AC7 +:1083600006D058F8040BC117032A09D00AE023E00D +:1083700008F1070020F00702F2E80201904605E04C +:1083800000B2C117042A01D140B2C117002906DA90 +:108390000A460021404261EB02012D2202E0220543 +:1083A00004D52B228DF80420012203E0E20701D03E +:1083B0002022F7E7914657E00A2100E010214FF014 +:1083C000000B00910BE010214FF0000B44F004046F +:1083D0000827009103E008204FF0000B0090C4F341 +:1083E0000252022A05D058F8040B0021032A08D0B3 +:1083F00008E008F1070020F00702F2E802019046C9 +:1084000003E080B2042A00D1C0B24FF00009220775 +:108410002AD53278702A07D0DDF800C08CF0100C15 +:108420005CEA0B0C05D00EE040228DF804200122FE +:1084300008E050EA010306D030238DF804308DF8AF +:10844000052002229146009B83F0080353EA0B03A8 +:108450000AD150EA010201D1620705D530228DF818 +:1084600004204FF001097F1E3278582A04D039A227 +:108470000C920CAA02920BE03BA2F9E75B46009A31 +:10848000F7F7A0FE0C9B9B5C029A521E029213709F +:1084900050EA0102F2D1029804A9081A00F1200B57 +:1084A000600702D524F4803400E001275F4502DD37 +:1084B000A7EB0B0000E0002000EB0B0100900398FD +:1084C0004944401A0390E00306D453462146179AC4 +:1084D000039800F0A9F90544002706E001A85246D8 +:1084E000C05D179990476D1C7F1C4F45F6DBE0037C +:1084F0000CD553462146179A039800F095F9054488 +:1085000004E030205246179990476D1C0099481E90 +:1085100000900029F5DC08E00298029952460078A4 +:10852000491C0291179990476D1CBBF10001ABF1FA +:10853000010BF1DC5BE100F065F90544761C307855 +:1085400000287FF40DAE19B02846BDE8F08F00007A +:108550000928010030313233343536373839616219 +:1085600063646566000000003031323334353637DD +:10857000383941424344454600000000600700D4BA +:10858000062708F1070020F00700F0E802238046E4 +:1085900003F0004C5FEA0C0001D097A009E0200531 +:1085A00001D596A005E0E00701D095A001E0AFF26B +:1085B0004C001390307823F0004365280CD006DC83 +:1085C000452809D046281DD047287FD13BE06628A2 +:1085D00018D067287AD136E00021112F01DB112055 +:1085E00000E0781CCDE9000104A90CA8FFF7EEFC1F +:1085F000DDE90D010C9A4FF0000B07F10109109213 +:1086000000914EE04FF000400097CDE9011004A921 +:108610000CA8FFF7DBFCDDE90D020C9B0F994FF076 +:10862000000B91461093009211B9791C00EB0109DF +:10863000B7EB090003D4C0F1FF3B07F10109A9EB37 +:108640000700019042E0012F00DA01270021112FDD +:1086500001DD112000E03846CDE9000104A90CA895 +:10866000FFF7B4FCDDE90D010C9A00914FF0000B0F +:10867000B946109221070FD4009A4A4503DA914671 +:1086800001E0A9F10109B9F1010F05DD109AA9F185 +:108690000101515C3029F4D0B84202DA10F1040F24 +:1086A00003DA0121CDE9011010E0002803DC834446 +:1086B000A9EB000102E0411C494500DD8946A0EB21 +:1086C0000B00401C01904FF000400290200705D4A1 +:1086D0000198484502DB4FF0FF30019000208DF8F3 +:1086E0004B0002980DF14B07B0F1004F25D002204E +:1086F0000C902B200D90029800280CDA404202903A +:108700002D200D9007E00A210298F8F791F83031FA +:10871000029007F8011D0C99481E0C900029F2DC0C +:1087200002980028EFD1791E0D980870307800F07B +:10873000200040F0450007F8020D11A8C01BC01D25 +:1087400002901398007800B1012000EB0901019814 +:1087500001EBE071029801440398401A401E039017 +:10876000E00306D453462146179A039800F05CF8BC +:1087700005441398007818B15246179990476D1C1C +:10878000E00323D553462146179A039800F04CF88E +:1087900005441BE0BBF1000F07DB0098584504DDE2 +:1087A0001098179910F80B0001E0179930205246E5 +:1087B000904701980BF1010B401E05F10105019056 +:1087C00004D12E205246179990476D1CB9F1000133 +:1087D000A9F10109DEDC05E017F8010B52461799F3 +:1087E00090476D1C0299481E02900029F4DC534604 +:1087F0002146179A03989EE62D0000002B000000EA +:10880000200000002DE9F041044600251E461746D1 +:10881000880404D405E039462020B0476D1C641E4E +:10882000F9D52846BDE8F0812DE9F0410446002540 +:108830001E469046C80301D5302700E02027880453 +:1088400004D505E041463846B0476D1C641EF9D595 +:108850002846BDE8F0810A68531C0B601070704711 +:1088600013B50C464FF47A73012269460248FBF7B0 +:10887000A7FF00981CBD0000E8040020FAF776FC72 +:10888000FEF774F9FDF71CFBFDF7EEFAFDF7D0FCDF +:10889000FDF7EAFCFDF760FCFDF7EEFBFDF782FC5F +:1088A000FDF794FAFDF7A4FCFDF7C8FBFDF71CFCEF +:1088B000FDF754FA0020344908603449086034490F +:1088C0000860002210213348FAF7D6F8F8F702FCC6 +:1088D000032231493148F9F795FCFCF79BFAFCF784 +:1088E0006FFBF9F735F8FDF727FD2DA0FFF782F8AC +:1088F00000203349087033490860FDF7D5FC32A0E9 +:10890000FFF778F83C48FBF7B5F93C48FBF7B2F9BC +:108910003B48FBF7AFF93B48FBF7ACF9FDF7FCF937 +:1089200031E0FCF71BFCF8F70DFC3748007820B16C +:10893000FEF7D2FE00203449087034480078012840 +:108940000CD0022807D0032802D004280CD108E05C +:10895000F9F730F80CE0FDF7BBF809E0F9F730F96A +:1089600006E0FDF7F5FE03E003202849087000BF8C +:1089700000BF2748008800F4004008B1F8F7F6FD72 +:108980000A20F9F763FFCCE7240200202802002028 +:108990002C02002000180240100000208402002059 +:1089A000496E697469616C697A696E67206F7A6F64 +:1089B0006E6520636F6E74726F6C2E2E2E0A00002F +:1089C00054010020580100204F7A6F6E6520696EB7 +:1089D000697469616C697A65642C2077616974696E +:1089E0006E6720666F722072656D6F746520636FAD +:1089F0006E74726F6C0A000010040020580400208E +:108A000080030020C8030020540000202C01002017 +:108A10009401002000061016000610160000000049 +:108A2000000000000102030406070809000000001E +:108A3000010203040000000004FA97999999D93FB4 +:108A4000AF788E1DC571CC3F9FC678D0099AC33FC1 +:108A5000935555555555E53F599322942449D23F96 +:108A6000DE03CB966446C73F44523EDF12F1C23F5D +:108A70000000000000000000DDDDDDDDDCBBBBDD53 +:108A8000DDDDDDDDDDDDDDDD9888888888888888AE +:108A900077777777778888888555555666666666CE +:108AA00066666666666888888333333222222222AD +:108AB000222222222228888D7B225834223A2564C1 +:108AC0002C22583130223A25642C22583132223A55 +:108AD00025642C22583133223A25642C2258313413 +:108AE000223A25642C22583135223A25642C22580A +:108AF0003138223A25642C22583230223A25642C0F +:108B000022583231223A25642C225835223A252E19 +:108B100032662C22583232223A252E31662C2258C7 +:108B20003233223A252E31662C22583234223A250D +:108B3000642C22583235223A25642C2258333522AF +:108B40003A25642C22583337223A25642C22583394 +:108B500038223A25642C22583434223A25642C22B7 +:108B6000583436223A25642C22583437223A256468 +:108B70002C22583439223A25642C22583530223A96 +:108B800025642C22583531223A25642C225835325E +:108B9000223A25642C22583533223A25642C225857 +:108BA0003534223A25642C22583535223A25642C56 +:108BB00022583536223A25642C22583537223A2558 +:108BC000642C22583538223A25642C225835392213 +:108BD0003A25642C2258333030223A252E36662C22 +:108BE0002258303031223A222573227D00000000C5 +:108BF000108C0008000000203C020000780E0008E5 +:108C0000688C00083C020020FC0F0000B07F0008C8 +:108C1000013032104201036D24F429743296322857 +:108C20003202320A9A1410E9203205DA19205A78F1 +:108C300034291C29402904290C29241AA0094B4055 +:108C40000B281A680529080A1CF0912923490B19D9 +:108C5000010916B40910191B70416E19040914306A +:088C600001685A14F8013C0000 :040000050800018965 :00000001FF diff --git a/MDK-ARM/4G_test/4G_test.htm b/MDK-ARM/4G_test/4G_test.htm index 976c47a..89abedd 100644 --- a/MDK-ARM/4G_test/4G_test.htm +++ b/MDK-ARM/4G_test/4G_test.htm @@ -3,9 +3,9 @@ Static Call Graph - [4G_test\4G_test.axf]

Static Call Graph for image 4G_test\4G_test.axf


-

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Tue Apr 15 16:33:00 2025 +

#<CALLGRAPH># ARM Linker, 5060960: Last Updated: Mon May 19 16:37:30 2025

-

Maximum Stack Usage = 712 bytes + Unknown(Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 744 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

main ⇒ Upload_Device_Data ⇒ Print_Temperature ⇒ __hardfp_log ⇒ __kernel_poly ⇒ __aeabi_dmul ⇒ _double_epilogue ⇒ _double_round

@@ -17,6 +17,9 @@ Mutually Recursive functions

Function Pointers

@@ -126,27 +129,27 @@ Global Symbols

__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]

  • startup_stm32f407xx.o(.text)
-

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) -

_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004)) -

[Calls]

    +
  • ADC_DMAConvCplt from stm32f4xx_hal_adc.o(i.ADC_DMAConvCplt) referenced from stm32f4xx_hal_adc.o(i.HAL_ADC_Start_DMA) +
  • ADC_DMAError from stm32f4xx_hal_adc.o(i.ADC_DMAError) referenced from stm32f4xx_hal_adc.o(i.HAL_ADC_Start_DMA) +
  • ADC_DMAHalfConvCplt from stm32f4xx_hal_adc.o(i.ADC_DMAHalfConvCplt) referenced from stm32f4xx_hal_adc.o(i.HAL_ADC_Start_DMA)
  • ADC_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  • BusFault_Handler from stm32f4xx_it.o(i.BusFault_Handler) referenced from startup_stm32f407xx.o(RESET)
  • CAN1_RX0_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) @@ -103,7 +106,7 @@ Function Pointers
  • TIM8_UP_TIM13_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  • UART4_IRQHandler from stm32f4xx_it.o(i.UART4_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  • UART5_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) -
  • UART_DMAAbortOnError from stm32f4xx_hal_uart.o(i.UART_DMAAbortOnError) referenced from stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler) +
  • UART_DMAAbortOnError from stm32f4xx_hal_uart.o(i.UART_DMAAbortOnError) referenced from stm32f4xx_hal_uart.o(i.HAL_UART_IRQHandler)
  • USART1_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET)
  • USART2_IRQHandler from stm32f4xx_it.o(i.USART2_IRQHandler) referenced from startup_stm32f407xx.o(RESET)
  • USART3_IRQHandler from startup_stm32f407xx.o(.text) referenced from startup_stm32f407xx.o(RESET) @@ -114,8 +117,8 @@ Function Pointers
  • _sbackspace from _sgetc.o(.text) referenced from __0sscanf.o(.text)
  • _scanf_char_input from scanf_char.o(.text) referenced from scanf_char.o(.text)
  • _sgetc from _sgetc.o(.text) referenced from __0sscanf.o(.text) -
  • _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf) -
  • fputc from usart.o(i.fputc) referenced from printfa.o(i.__0printf) +
  • _sputc from printfa.o(i._sputc) referenced from printfa.o(i.__0sprintf) +
  • fputc from usart.o(i.fputc) referenced from printfa.o(i.__0printf)
  • isspace from isspace_c.o(.text) referenced from scanf_char.o(.text)
  • main from main.o(i.main) referenced from entry9a.o(.ARM.Collect$$$$0000000B)