diff --git a/board/BDW01-STM32L496VG/BSP/.mxproject b/board/BDW01-STM32L496VG/BSP/.mxproject
new file mode 100644
index 00000000..a3c69b4f
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/.mxproject
@@ -0,0 +1,16 @@
+[PreviousGenFiles]
+HeaderPath=D:/wml_work/TencentOS-tiny/board/bdw01OS/Inc
+HeaderFiles=stm32l4xx_it.h;stm32l4xx_hal_conf.h;main.h;usb_device.h;usbd_conf.h;usbd_desc.h;usbd_custom_hid_if.h;usb_host.h;usbh_conf.h;
+SourcePath=D:/wml_work/TencentOS-tiny/board/bdw01OS/Src
+SourceFiles=stm32l4xx_it.c;stm32l4xx_hal_msp.c;main.c;usb_device.c;usbd_conf.c;usbd_desc.c;usbd_custom_hid_if.c;usb_host.c;usbh_conf.c;
+
+[PreviousLibFiles]
+LibFiles=Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_hcd.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_usb.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_adc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_adc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_adc_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dac.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dac_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_i2c_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_iwdg.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_uart_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_sai.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_sai_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_sd.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_sd_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_ll_sdmmc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_spi_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_tim_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_def.h;Drivers/STM32L4xx_HAL_Driver/Inc/Legacy/stm32_hal_legacy.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_rcc_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_flash_ramfunc.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_gpio_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_dma_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_pwr_ex.h;Drivers/STM32L4xx_HAL_Driver/Inc/stm32l4xx_hal_cortex.h;Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_core.h;Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ctlreq.h;Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_def.h;Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_ioreq.h;Middlewares/ST/STM32_USB_Host_Library/Core/Inc/usbh_pipes.h;Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Inc/usbh_cdc.h;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_hcd.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dac.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dac_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_iwdg.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sai.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sai_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sd.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sd_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_sdmmc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c;Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c;Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c;Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c;Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c;Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l496xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/stm32l4xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Include/system_stm32l4xx.h;Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;Drivers/CMSIS/Include/cmsis_armcc.h;Drivers/CMSIS/Include/cmsis_armclang.h;Drivers/CMSIS/Include/cmsis_compiler.h;Drivers/CMSIS/Include/cmsis_gcc.h;Drivers/CMSIS/Include/cmsis_iccarm.h;Drivers/CMSIS/Include/cmsis_version.h;Drivers/CMSIS/Include/core_armv8mbl.h;Drivers/CMSIS/Include/core_armv8mml.h;Drivers/CMSIS/Include/core_cm0.h;Drivers/CMSIS/Include/core_cm0plus.h;Drivers/CMSIS/Include/core_cm1.h;Drivers/CMSIS/Include/core_cm23.h;Drivers/CMSIS/Include/core_cm3.h;Drivers/CMSIS/Include/core_cm33.h;Drivers/CMSIS/Include/core_cm4.h;Drivers/CMSIS/Include/core_cm7.h;Drivers/CMSIS/Include/core_sc000.h;Drivers/CMSIS/Include/core_sc300.h;Drivers/CMSIS/Include/mpu_armv7.h;Drivers/CMSIS/Include/mpu_armv8.h;Drivers/CMSIS/Include/tz_context.h;
+
+[PreviousUsedKeilFiles]
+SourceFiles=..\Src\main.c;..\Src\usb_host.c;..\Src\usbh_conf.c;..\Src\stm32l4xx_it.c;..\Src\stm32l4xx_hal_msp.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_hcd.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_usb.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_adc_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dac.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dac_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_i2c_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_iwdg.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_uart_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sai.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sai_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sd.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_sd_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_ll_sdmmc.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_spi_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_tim_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_rcc_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_flash_ramfunc.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_gpio.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_dma_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_pwr_ex.c;../Drivers/STM32L4xx_HAL_Driver/Src/stm32l4xx_hal_cortex.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c;../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c;../\Src/system_stm32l4xx.c;../Drivers/CMSIS/Device/ST/STM32L4xx/Source/Templates/system_stm32l4xx.c;D:/wml_work/TencentOS-tiny/board/bdw01OS//MDK-ARM/startup_stm32l496xx.s;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_core.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ctlreq.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_ioreq.c;../Middlewares/ST/STM32_USB_Host_Library/Core/Src/usbh_pipes.c;../Middlewares/ST/STM32_USB_Host_Library/Class/CDC/Src/usbh_cdc.c;
+HeaderPath=..\Drivers\STM32L4xx_HAL_Driver\Inc;..\Drivers\STM32L4xx_HAL_Driver\Inc\Legacy;..\Middlewares\ST\STM32_USB_Host_Library\Core\Inc;..\Middlewares\ST\STM32_USB_Host_Library\Class\CDC\Inc;..\Drivers\CMSIS\Device\ST\STM32L4xx\Include;..\Drivers\CMSIS\Include;..\Inc;
+
+[]
+SourceFiles=;;
+
diff --git a/board/BDW01-STM32L496VG/BSP/BDW01-STM32L496VG.ioc b/board/BDW01-STM32L496VG/BSP/BDW01-STM32L496VG.ioc
new file mode 100644
index 00000000..113ad85d
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/BDW01-STM32L496VG.ioc
@@ -0,0 +1,544 @@
+#MicroXplorer Configuration settings - do not modify
+ADC1.Channel-0\#ChannelRegularConversion=ADC_CHANNEL_3
+ADC1.IPParameters=Rank-0\#ChannelRegularConversion,Channel-0\#ChannelRegularConversion,SamplingTime-0\#ChannelRegularConversion,OffsetNumber-0\#ChannelRegularConversion,NbrOfConversionFlag,master
+ADC1.NbrOfConversionFlag=1
+ADC1.OffsetNumber-0\#ChannelRegularConversion=ADC_OFFSET_NONE
+ADC1.Rank-0\#ChannelRegularConversion=1
+ADC1.SamplingTime-0\#ChannelRegularConversion=ADC_SAMPLETIME_2CYCLES_5
+ADC1.master=1
+Dma.Request0=SDMMC1_RX
+Dma.Request1=SDMMC1_TX
+Dma.RequestsNb=2
+Dma.SDMMC1_RX.0.Direction=DMA_PERIPH_TO_MEMORY
+Dma.SDMMC1_RX.0.Instance=DMA2_Channel4
+Dma.SDMMC1_RX.0.MemDataAlignment=DMA_MDATAALIGN_WORD
+Dma.SDMMC1_RX.0.MemInc=DMA_MINC_ENABLE
+Dma.SDMMC1_RX.0.Mode=DMA_NORMAL
+Dma.SDMMC1_RX.0.PeriphDataAlignment=DMA_PDATAALIGN_WORD
+Dma.SDMMC1_RX.0.PeriphInc=DMA_PINC_DISABLE
+Dma.SDMMC1_RX.0.Priority=DMA_PRIORITY_LOW
+Dma.SDMMC1_RX.0.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
+Dma.SDMMC1_TX.1.Direction=DMA_MEMORY_TO_PERIPH
+Dma.SDMMC1_TX.1.Instance=DMA2_Channel5
+Dma.SDMMC1_TX.1.MemDataAlignment=DMA_MDATAALIGN_WORD
+Dma.SDMMC1_TX.1.MemInc=DMA_MINC_ENABLE
+Dma.SDMMC1_TX.1.Mode=DMA_NORMAL
+Dma.SDMMC1_TX.1.PeriphDataAlignment=DMA_PDATAALIGN_WORD
+Dma.SDMMC1_TX.1.PeriphInc=DMA_PINC_DISABLE
+Dma.SDMMC1_TX.1.Priority=DMA_PRIORITY_LOW
+Dma.SDMMC1_TX.1.RequestParameters=Instance,Direction,PeriphInc,MemInc,PeriphDataAlignment,MemDataAlignment,Mode,Priority
+File.Version=6
+I2C2.IPParameters=Timing
+I2C2.Timing=0x20303E5D
+I2C3.I2C_Speed_Mode=I2C_Fast
+I2C3.IPParameters=Timing,I2C_Speed_Mode
+I2C3.Timing=0x2010091A
+IWDG.IPParameters=Prescaler,Reload
+IWDG.Prescaler=IWDG_PRESCALER_256
+IWDG.Reload=3999
+KeepUserPlacement=false
+Mcu.Family=STM32L4
+Mcu.IP0=ADC1
+Mcu.IP1=DAC1
+Mcu.IP10=SDMMC1
+Mcu.IP11=SPI2
+Mcu.IP12=SYS
+Mcu.IP13=TIM2
+Mcu.IP14=UART4
+Mcu.IP15=USART1
+Mcu.IP16=USART2
+Mcu.IP17=USART3
+Mcu.IP18=USB_HOST
+Mcu.IP19=USB_OTG_FS
+Mcu.IP2=DMA
+Mcu.IP3=I2C2
+Mcu.IP4=I2C3
+Mcu.IP5=IWDG
+Mcu.IP6=LPUART1
+Mcu.IP7=NVIC
+Mcu.IP8=RCC
+Mcu.IP9=SAI2
+Mcu.IPNb=20
+Mcu.Name=STM32L496V(E-G)Tx
+Mcu.Package=LQFP100
+Mcu.Pin0=PE2
+Mcu.Pin1=PE3
+Mcu.Pin10=PC1
+Mcu.Pin11=PC2
+Mcu.Pin12=PA0
+Mcu.Pin13=PA1
+Mcu.Pin14=PA2
+Mcu.Pin15=PA3
+Mcu.Pin16=PA4
+Mcu.Pin17=PA5
+Mcu.Pin18=PA6
+Mcu.Pin19=PC4
+Mcu.Pin2=PE5
+Mcu.Pin20=PC5
+Mcu.Pin21=PB0
+Mcu.Pin22=PB1
+Mcu.Pin23=PB2
+Mcu.Pin24=PE7
+Mcu.Pin25=PE8
+Mcu.Pin26=PE9
+Mcu.Pin27=PE11
+Mcu.Pin28=PE12
+Mcu.Pin29=PE13
+Mcu.Pin3=PE6
+Mcu.Pin30=PE14
+Mcu.Pin31=PE15
+Mcu.Pin32=PB10
+Mcu.Pin33=PB11
+Mcu.Pin34=PB12
+Mcu.Pin35=PB13
+Mcu.Pin36=PB14
+Mcu.Pin37=PB15
+Mcu.Pin38=PD8
+Mcu.Pin39=PD9
+Mcu.Pin4=PC13
+Mcu.Pin40=PD10
+Mcu.Pin41=PD11
+Mcu.Pin42=PD12
+Mcu.Pin43=PD13
+Mcu.Pin44=PD15
+Mcu.Pin45=PC6
+Mcu.Pin46=PC7
+Mcu.Pin47=PC8
+Mcu.Pin48=PC9
+Mcu.Pin49=PA8
+Mcu.Pin5=PC14-OSC32_IN (PC14)
+Mcu.Pin50=PA9
+Mcu.Pin51=PA11
+Mcu.Pin52=PA12
+Mcu.Pin53=PC10
+Mcu.Pin54=PC11
+Mcu.Pin55=PC12
+Mcu.Pin56=PD0
+Mcu.Pin57=PD1
+Mcu.Pin58=PD2
+Mcu.Pin59=PD3
+Mcu.Pin6=PC15-OSC32_OUT (PC15)
+Mcu.Pin60=PD4
+Mcu.Pin61=PD5
+Mcu.Pin62=PD6
+Mcu.Pin63=PD7
+Mcu.Pin64=PB5
+Mcu.Pin65=PB6
+Mcu.Pin66=PB7
+Mcu.Pin67=PB8
+Mcu.Pin68=PB9
+Mcu.Pin69=PE0
+Mcu.Pin7=PH0-OSC_IN (PH0)
+Mcu.Pin70=PE1
+Mcu.Pin71=VP_IWDG_VS_IWDG
+Mcu.Pin72=VP_SAI2_VP_$IpInstance_SAIA_SAI_BASIC
+Mcu.Pin73=VP_SYS_VS_Systick
+Mcu.Pin74=VP_TIM2_VS_ClockSourceINT
+Mcu.Pin75=VP_USB_HOST_VS_USB_HOST_CDC_FS
+Mcu.Pin8=PH1-OSC_OUT (PH1)
+Mcu.Pin9=PC0
+Mcu.PinsNb=76
+Mcu.ThirdPartyNb=0
+Mcu.UserConstants=
+Mcu.UserName=STM32L496VGTx
+MxCube.Version=4.26.0
+MxDb.Version=DB.4.0.260
+NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.DMA2_Channel4_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.DMA2_Channel5_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.OTG_FS_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.PendSV_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
+NVIC.SDMMC1_IRQn=true\:0\:0\:false\:false\:true\:true
+NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false
+NVIC.TIM2_IRQn=true\:0\:0\:false\:false\:true\:true
+NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true
+NVIC.USART3_IRQn=true\:0\:0\:false\:false\:true\:true
+NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false
+PA0.Locked=true
+PA0.Mode=Asynchronous
+PA0.Signal=UART4_TX
+PA1.Locked=true
+PA1.Mode=Asynchronous
+PA1.Signal=UART4_RX
+PA11.Mode=Host_Only
+PA11.Signal=USB_OTG_FS_DM
+PA12.Mode=Host_Only
+PA12.Signal=USB_OTG_FS_DP
+PA2.Locked=true
+PA2.Mode=Asynchronous
+PA2.Signal=USART2_TX
+PA3.Locked=true
+PA3.Mode=Asynchronous
+PA3.Signal=USART2_RX
+PA4.Locked=true
+PA4.Signal=COMP_DAC11_group
+PA5.Locked=true
+PA5.Signal=SPI1_SCK
+PA6.Locked=true
+PA6.Signal=SPI1_MISO
+PA8.GPIOParameters=PinState,GPIO_Label
+PA8.GPIO_Label=PCIE_RST
+PA8.Locked=true
+PA8.PinState=GPIO_PIN_SET
+PA8.Signal=GPIO_Output
+PA9.GPIOParameters=GPIO_Label
+PA9.GPIO_Label=PCIE_EN
+PA9.Locked=true
+PA9.Signal=GPIO_Output
+PB0.Locked=true
+PB0.Signal=SPI1_NSS
+PB1.GPIOParameters=GPIO_Label
+PB1.GPIO_Label=GPS_ON
+PB1.Locked=true
+PB1.Signal=GPIO_Output
+PB10.Locked=true
+PB10.Mode=Asynchronous
+PB10.Signal=LPUART1_RX
+PB11.Locked=true
+PB11.Mode=Asynchronous
+PB11.Signal=LPUART1_TX
+PB12.GPIOParameters=GPIO_Label
+PB12.GPIO_Label=OLED_RST
+PB12.Locked=true
+PB12.Signal=GPIO_Output
+PB13.Locked=true
+PB13.Mode=I2C
+PB13.Signal=I2C2_SCL
+PB14.Mode=I2C
+PB14.Signal=I2C2_SDA
+PB15.GPIOParameters=GPIO_Label
+PB15.GPIO_Label=OLED_EN
+PB15.Locked=true
+PB15.Signal=GPIO_Output
+PB2.GPIOParameters=GPIO_Label
+PB2.GPIO_Label=BD_EN
+PB2.Locked=true
+PB2.Signal=GPIO_Output
+PB5.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
+PB5.GPIO_Label=LED4
+PB5.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PB5.Locked=true
+PB5.PinState=GPIO_PIN_SET
+PB5.Signal=GPIO_Output
+PB6.Locked=true
+PB6.Mode=Asynchronous
+PB6.Signal=USART1_TX
+PB7.Mode=Asynchronous
+PB7.Signal=USART1_RX
+PB8.GPIOParameters=GPIO_Label
+PB8.GPIO_Label=LED3
+PB8.Locked=true
+PB8.Signal=GPIO_Output
+PB9.GPIOParameters=GPIO_Label
+PB9.GPIO_Label=IR_OUT
+PB9.Locked=true
+PB9.Signal=GPIO_Output
+PC0.Mode=I2C
+PC0.Signal=I2C3_SCL
+PC1.Mode=I2C
+PC1.Signal=I2C3_SDA
+PC10.Mode=SD_4_bits_Wide_bus
+PC10.Signal=SDMMC1_D2
+PC11.Mode=SD_4_bits_Wide_bus
+PC11.Signal=SDMMC1_D3
+PC12.Mode=SD_4_bits_Wide_bus
+PC12.Signal=SDMMC1_CK
+PC13.GPIOParameters=GPIO_Label
+PC13.GPIO_Label=SENSOR_INT2
+PC13.Locked=true
+PC13.Signal=GPXTI13
+PC14-OSC32_IN\ (PC14).Locked=true
+PC14-OSC32_IN\ (PC14).Mode=LSE-External-Oscillator
+PC14-OSC32_IN\ (PC14).Signal=RCC_OSC32_IN
+PC15-OSC32_OUT\ (PC15).Locked=true
+PC15-OSC32_OUT\ (PC15).Mode=LSE-External-Oscillator
+PC15-OSC32_OUT\ (PC15).Signal=RCC_OSC32_OUT
+PC2.Locked=true
+PC2.Signal=ADCx_IN3
+PC4.Locked=true
+PC4.Mode=Asynchronous
+PC4.Signal=USART3_TX
+PC5.Mode=Asynchronous
+PC5.Signal=USART3_RX
+PC6.GPIOParameters=GPIO_Label
+PC6.GPIO_Label=CHARGE_STATE
+PC6.Locked=true
+PC6.Signal=GPIO_Input
+PC7.GPIOParameters=GPIO_Label
+PC7.GPIO_Label=CARD_EN
+PC7.Locked=true
+PC7.Signal=GPIO_Output
+PC8.Mode=SD_4_bits_Wide_bus
+PC8.Signal=SDMMC1_D0
+PC9.Mode=SD_4_bits_Wide_bus
+PC9.Signal=SDMMC1_D1
+PCC.Checker=true
+PCC.Line=STM32L4x6
+PCC.MCU=STM32L496V(E-G)Tx
+PCC.PartNumber=STM32L496VGTx
+PCC.Seq0=0
+PCC.Series=STM32L4
+PCC.Temperature=25
+PCC.Vdd=null
+PD0.Locked=true
+PD0.Mode=NSS_Signal_Hard_Output
+PD0.Signal=SPI2_NSS
+PD1.Locked=true
+PD1.Mode=Full_Duplex_Master
+PD1.Signal=SPI2_SCK
+PD10.Locked=true
+PD10.Mode=SAI_A_MasterWithClock
+PD10.Signal=SAI2_SCK_A
+PD11.Locked=true
+PD11.Mode=SAI_A_MasterWithClock
+PD11.Signal=SAI2_SD_A
+PD12.Locked=true
+PD12.Mode=SAI_A_MasterWithClock
+PD12.Signal=SAI2_FS_A
+PD13.GPIOParameters=GPIO_Label
+PD13.GPIO_Label=AU_RST
+PD13.Locked=true
+PD13.Signal=GPIO_Output
+PD15.GPIOParameters=GPIO_Label
+PD15.GPIO_Label=AU_EN
+PD15.Locked=true
+PD15.Signal=GPIO_Output
+PD2.Mode=SD_4_bits_Wide_bus
+PD2.Signal=SDMMC1_CMD
+PD3.Mode=Full_Duplex_Master
+PD3.Signal=SPI2_MISO
+PD4.Locked=true
+PD4.Mode=Full_Duplex_Master
+PD4.Signal=SPI2_MOSI
+PD5.GPIOParameters=GPIO_Label
+PD5.GPIO_Label=CARD_EN
+PD5.Locked=true
+PD5.Signal=GPIO_Output
+PD6.GPIOParameters=GPIO_Label
+PD6.GPIO_Label=KEY3
+PD6.Locked=true
+PD6.Signal=GPIO_Input
+PD7.GPIOParameters=GPIO_Label
+PD7.GPIO_Label=KEY2
+PD7.Locked=true
+PD7.Signal=GPIO_Input
+PD8.GPIOParameters=GPIO_Label
+PD8.GPIO_Label=AU_CTR
+PD8.Locked=true
+PD8.Signal=GPIO_Output
+PD9.Locked=true
+PD9.Mode=SAI_A_MasterWithClock
+PD9.Signal=SAI2_MCLK_A
+PE0.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
+PE0.GPIO_Label=LED2
+PE0.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PE0.Locked=true
+PE0.PinState=GPIO_PIN_SET
+PE0.Signal=GPIO_Output
+PE1.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
+PE1.GPIO_Label=LED1
+PE1.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PE1.Locked=true
+PE1.PinState=GPIO_PIN_SET
+PE1.Signal=GPIO_Output
+PE11.GPIOParameters=GPIO_Label
+PE11.GPIO_Label=NB_EN
+PE11.Locked=true
+PE11.Signal=GPIO_Output
+PE12.GPIOParameters=GPIO_Label
+PE12.GPIO_Label=SEL1
+PE12.Locked=true
+PE12.Signal=GPIO_Input
+PE13.GPIOParameters=GPIO_Label
+PE13.GPIO_Label=SEL2
+PE13.Locked=true
+PE13.Signal=GPIO_Input
+PE14.GPIOParameters=GPIO_Label
+PE14.GPIO_Label=SEL3
+PE14.Locked=true
+PE14.Signal=GPIO_Input
+PE15.GPIOParameters=GPIO_Label
+PE15.GPIO_Label=KEY4
+PE15.Locked=true
+PE15.Signal=GPIO_Input
+PE2.GPIOParameters=GPIO_Label
+PE2.GPIO_Label=KEY1
+PE2.Locked=true
+PE2.Signal=GPIO_Input
+PE3.GPIOParameters=GPIO_Speed,PinState,GPIO_Label
+PE3.GPIO_Label=LED5
+PE3.GPIO_Speed=GPIO_SPEED_FREQ_LOW
+PE3.Locked=true
+PE3.PinState=GPIO_PIN_SET
+PE3.Signal=GPIO_Output
+PE5.GPIOParameters=GPIO_Label
+PE5.GPIO_Label=SENSOR_EN
+PE5.Locked=true
+PE5.Signal=GPIO_Output
+PE6.GPIOParameters=GPIO_Label
+PE6.GPIO_Label=SENSOR_INT1
+PE6.Locked=true
+PE6.Signal=GPXTI6
+PE7.GPIOParameters=GPIO_Label
+PE7.GPIO_Label=GPS_RST
+PE7.Locked=true
+PE7.Signal=GPIO_Output
+PE8.GPIOParameters=GPIO_Label
+PE8.GPIO_Label=NB_RST
+PE8.Locked=true
+PE8.Signal=GPIO_Output
+PE9.GPIOParameters=GPIO_Label
+PE9.GPIO_Label=NB_WKUP
+PE9.Locked=true
+PE9.Signal=GPIO_Output
+PH0-OSC_IN\ (PH0).Mode=HSE-External-Oscillator
+PH0-OSC_IN\ (PH0).Signal=RCC_OSC_IN
+PH1-OSC_OUT\ (PH1).Mode=HSE-External-Oscillator
+PH1-OSC_OUT\ (PH1).Signal=RCC_OSC_OUT
+PinOutPanel.RotationAngle=0
+ProjectManager.AskForMigrate=true
+ProjectManager.BackupPrevious=false
+ProjectManager.CompilerOptimize=3
+ProjectManager.ComputerToolchain=false
+ProjectManager.CoupleFile=false
+ProjectManager.CustomerFirmwarePackage=
+ProjectManager.DefaultFWLocation=false
+ProjectManager.DeletePrevious=true
+ProjectManager.DeviceId=STM32L496VGTx
+ProjectManager.FirmwarePackage=STM32Cube FW_L4 V1.12.0
+ProjectManager.FreePins=false
+ProjectManager.HalAssertFull=false
+ProjectManager.HeapSize=0x8000
+ProjectManager.KeepUserCode=true
+ProjectManager.LastFirmware=true
+ProjectManager.LibraryCopy=0
+ProjectManager.MainLocation=Src
+ProjectManager.PreviousToolchain=
+ProjectManager.ProjectBuild=false
+ProjectManager.ProjectFileName=bdw01OS.ioc
+ProjectManager.ProjectName=bdw01OS
+ProjectManager.StackSize=0x8000
+ProjectManager.TargetToolchain=MDK-ARM V5
+ProjectManager.ToolChainLocation=
+ProjectManager.UnderRoot=false
+ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-MX_DMA_Init-DMA-false-HAL-true,3-SystemClock_Config-RCC-false-HAL-false,4-MX_SPI2_Init-SPI2-false-HAL-true,5-MX_DAC1_Init-DAC1-false-HAL-true,6-MX_ADC1_Init-ADC1-false-HAL-true,7-MX_I2C2_Init-I2C2-false-HAL-true,8-MX_I2C3_Init-I2C3-false-HAL-true,9-MX_SAI2_Init-SAI2-false-HAL-true,10-MX_SDMMC1_SD_Init-SDMMC1-false-HAL-true,11-MX_USB_HOST_Init-USB_HOST-false-HAL-true,12-MX_TIM2_Init-TIM2-false-HAL-true,13-MX_IWDG_Init-IWDG-false-HAL-true,14-MX_LPUART1_UART_Init-LPUART1-false-HAL-true,15-MX_UART4_Init-UART4-false-HAL-true,16-MX_USART3_UART_Init-USART3-false-HAL-true,17-MX_USART2_UART_Init-USART2-false-HAL-true,18-MX_USART1_UART_Init-USART1-false-HAL-true
+RCC.ADCFreq_Value=48000000
+RCC.AHBFreq_Value=48000000
+RCC.APB1Freq_Value=48000000
+RCC.APB1TimFreq_Value=48000000
+RCC.APB2Freq_Value=48000000
+RCC.APB2TimFreq_Value=48000000
+RCC.CortexFreq_Value=48000000
+RCC.DFSDMFreq_Value=48000000
+RCC.FCLKCortexFreq_Value=48000000
+RCC.FamilyName=M
+RCC.HCLKFreq_Value=48000000
+RCC.HSE_VALUE=16000000
+RCC.HSI48_VALUE=48000000
+RCC.HSI_VALUE=16000000
+RCC.I2C1Freq_Value=48000000
+RCC.I2C2Freq_Value=48000000
+RCC.I2C3Freq_Value=48000000
+RCC.I2C4Freq_Value=48000000
+RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,DFSDMFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C2Freq_Value,I2C3Freq_Value,I2C4Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSI_VALUE,MCO1PinFreq_Value,MSIClockRange,MSI_VALUE,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSAI1N,PLLSAI1P,PLLSAI1PoutputFreq_Value,PLLSAI1Q,PLLSAI1QoutputFreq_Value,PLLSAI1R,PLLSAI1RoutputFreq_Value,PLLSAI2PoutputFreq_Value,PLLSAI2RoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SAI1Freq_Value,SAI2Freq_Value,SDMMCFreq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,UART4Freq_Value,UART5Freq_Value,USART1Freq_Value,USART2Freq_Value,USART3Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAI1OutputFreq_Value,VCOSAI2OutputFreq_Value
+RCC.LPTIM1Freq_Value=48000000
+RCC.LPTIM2Freq_Value=48000000
+RCC.LPUART1Freq_Value=48000000
+RCC.LSCOPinFreq_Value=32000
+RCC.LSI_VALUE=32000
+RCC.MCO1PinFreq_Value=48000000
+RCC.MSIClockRange=RCC_MSIRANGE_11
+RCC.MSI_VALUE=48000000
+RCC.PLLN=40
+RCC.PLLPoutputFreq_Value=320000000
+RCC.PLLQoutputFreq_Value=320000000
+RCC.PLLRCLKFreq_Value=320000000
+RCC.PLLSAI1N=12
+RCC.PLLSAI1P=RCC_PLLP_DIV4
+RCC.PLLSAI1PoutputFreq_Value=48000000
+RCC.PLLSAI1Q=RCC_PLLQ_DIV4
+RCC.PLLSAI1QoutputFreq_Value=48000000
+RCC.PLLSAI1R=RCC_PLLR_DIV4
+RCC.PLLSAI1RoutputFreq_Value=48000000
+RCC.PLLSAI2PoutputFreq_Value=64000000
+RCC.PLLSAI2RoutputFreq_Value=64000000
+RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSE
+RCC.PWRFreq_Value=48000000
+RCC.RNGFreq_Value=48000000
+RCC.SAI1Freq_Value=48000000
+RCC.SAI2Freq_Value=48000000
+RCC.SDMMCFreq_Value=48000000
+RCC.SWPMI1Freq_Value=48000000
+RCC.SYSCLKFreq_VALUE=48000000
+RCC.UART4Freq_Value=48000000
+RCC.UART5Freq_Value=48000000
+RCC.USART1Freq_Value=48000000
+RCC.USART2Freq_Value=48000000
+RCC.USART3Freq_Value=48000000
+RCC.USBFreq_Value=48000000
+RCC.VCOInputFreq_Value=16000000
+RCC.VCOOutputFreq_Value=640000000
+RCC.VCOSAI1OutputFreq_Value=192000000
+RCC.VCOSAI2OutputFreq_Value=128000000
+SAI2.IPParameters=Instance-SAI_A_MasterWithClock,VirtualMode-SAI_A_MasterWithClock,Synchro-SAI_A_MasterWithClock,MClockEnable-SAI_A_MasterWithClock,InitProtocol-SAI_A_MasterWithClock,VirtualProtocol-SAI_A_BASIC
+SAI2.InitProtocol-SAI_A_MasterWithClock=Enable
+SAI2.Instance-SAI_A_MasterWithClock=SAI$Index_Block_A
+SAI2.MClockEnable-SAI_A_MasterWithClock=SAI_MASTERCLOCK_ENABLE
+SAI2.Synchro-SAI_A_MasterWithClock=SAI_ASYNCHRONOUS
+SAI2.VirtualMode-SAI_A_MasterWithClock=VM_MASTER
+SAI2.VirtualProtocol-SAI_A_BASIC=VM_BASIC_PROTOCOL
+SDMMC1.ClockDiv=4
+SDMMC1.IPParameters=ClockDiv
+SH.ADCx_IN3.0=ADC1_IN3,IN3-Single-Ended
+SH.ADCx_IN3.ConfNb=1
+SH.COMP_DAC11_group.0=DAC1_OUT1,DAC_OUT1
+SH.COMP_DAC11_group.ConfNb=1
+SH.GPXTI13.0=GPIO_EXTI13
+SH.GPXTI13.ConfNb=1
+SH.GPXTI6.0=GPIO_EXTI6
+SH.GPXTI6.ConfNb=1
+SPI2.BaudRatePrescaler=SPI_BAUDRATEPRESCALER_2
+SPI2.CalculateBaudRate=24.0 MBits/s
+SPI2.Direction=SPI_DIRECTION_2LINES
+SPI2.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,VirtualNSS,BaudRatePrescaler
+SPI2.Mode=SPI_MODE_MASTER
+SPI2.VirtualNSS=VM_NSSHARD
+SPI2.VirtualType=VM_MASTER
+TIM2.IPParameters=Prescaler,Period
+TIM2.Period=10
+TIM2.Prescaler=13260
+USART1.BaudRate=115200
+USART1.IPParameters=VirtualMode-Asynchronous,BaudRate
+USART1.VirtualMode-Asynchronous=VM_ASYNC
+USART2.BaudRate=57600
+USART2.IPParameters=VirtualMode-Asynchronous,BaudRate
+USART2.VirtualMode-Asynchronous=VM_ASYNC
+USART3.BaudRate=9600
+USART3.IPParameters=VirtualMode-Asynchronous,BaudRate
+USART3.VirtualMode-Asynchronous=VM_ASYNC
+USB_HOST.IPParameters=VirtualModeFS,USBH_HandleTypeDef,USBH_MAX_NUM_ENDPOINTS,USBH_MAX_NUM_INTERFACES,USBH_DEBUG_LEVEL
+USB_HOST.USBH_DEBUG_LEVEL=3
+USB_HOST.USBH_HandleTypeDef=hUsbHostFS
+USB_HOST.USBH_MAX_NUM_ENDPOINTS=3
+USB_HOST.USBH_MAX_NUM_INTERFACES=5
+USB_HOST.VirtualModeFS=Cdc
+USB_OTG_FS.IPParameters=VirtualMode,phy_itface
+USB_OTG_FS.VirtualMode=Host_Only
+USB_OTG_FS.phy_itface=HCD_PHY_EMBEDDED
+VP_IWDG_VS_IWDG.Mode=IWDG_Activate
+VP_IWDG_VS_IWDG.Signal=IWDG_VS_IWDG
+VP_SAI2_VP_$IpInstance_SAIA_SAI_BASIC.Mode=SAI_A_BASIC
+VP_SAI2_VP_$IpInstance_SAIA_SAI_BASIC.Signal=SAI2_VP_$IpInstance_SAIA_SAI_BASIC
+VP_SYS_VS_Systick.Mode=SysTick
+VP_SYS_VS_Systick.Signal=SYS_VS_Systick
+VP_TIM2_VS_ClockSourceINT.Mode=Internal
+VP_TIM2_VS_ClockSourceINT.Signal=TIM2_VS_ClockSourceINT
+VP_USB_HOST_VS_USB_HOST_CDC_FS.Mode=CDC_FS
+VP_USB_HOST_VS_USB_HOST_CDC_FS.Signal=USB_HOST_VS_USB_HOST_CDC_FS
+board=custom
diff --git a/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash.c b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash.c
new file mode 100644
index 00000000..be6320f9
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash.c
@@ -0,0 +1,58 @@
+#include "tos_k.h"
+#include "stm32l4xx.h"
+
+#define SECTOR_SIZE 2048 // sector size for stm32l431RCTX
+
+int stm32l4_norflash_onchip_read(uint32_t addr, void *buf, size_t len)
+{
+ memcpy(buf, (void *)addr, len);
+ return 0;
+}
+
+int stm32l4_norflash_onchip_write(uint32_t addr, const void *buf, size_t len)
+{
+ int i = 0;
+ uint8_t *array = (uint8_t *)buf;
+ HAL_StatusTypeDef hal_status;
+
+ HAL_FLASH_Unlock();
+ tos_cpu_int_disable();
+
+ for (i = 0; i < len; i += 8) {
+ hal_status = HAL_FLASH_Program(FLASH_TYPEPROGRAM_DOUBLEWORD,
+ addr + i,
+ *(uint64_t *)&array[i]);
+ if (hal_status != HAL_OK) {
+ return -1;
+ }
+ }
+
+ HAL_FLASH_Lock();
+ tos_cpu_int_enable();
+
+ return 0;
+}
+
+int stm32l4_norflash_onchip_erase(uint32_t addr, size_t size)
+{
+ uint32_t page_err = 0;
+ HAL_StatusTypeDef hal_status;
+ FLASH_EraseInitTypeDef erase_para;
+
+ erase_para.TypeErase = FLASH_TYPEERASE_PAGES;
+ erase_para.Banks = FLASH_BANK_1;
+ erase_para.Page = addr / SECTOR_SIZE;
+ erase_para.NbPages = size / SECTOR_SIZE;
+ HAL_FLASH_Unlock();
+ tos_cpu_int_disable();
+ hal_status = HAL_FLASHEx_Erase(&erase_para, &page_err);
+ HAL_FLASH_Lock();
+ tos_cpu_int_enable();
+
+ if (hal_status != HAL_OK) {
+ return -1;
+ }
+
+ return 0;
+}
+
diff --git a/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash.h b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash.h
new file mode 100644
index 00000000..a718d31e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash.h
@@ -0,0 +1,13 @@
+#ifndef __ONCHIP_FLASH_H__
+#define __ONCHIP_FLASH_H__
+
+#include "stdint.h"
+
+int stm32l4_norflash_onchip_read(uint32_t addr, void *buf, size_t len);
+
+int stm32l4_norflash_onchip_write(uint32_t addr, const void *buf, size_t len);
+
+int stm32l4_norflash_onchip_erase(uint32_t addr, size_t size);
+
+#endif /* __ONCHIP_FLASH_H__ */
+
diff --git a/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash_kv.c b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash_kv.c
new file mode 100644
index 00000000..910694cd
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash_kv.c
@@ -0,0 +1,20 @@
+#include "tos_kv.h"
+#include "onchip_flash.h"
+
+#define ONCHIP_FLASH_ADDR_START 0x08000000 // start address for onchip flash for stm32l431RCTX
+#define ONCHIP_FLASH_ADDR_MAX 0x0803FFFF // 256K flash addr for stm32l431RCTX
+
+#define SECTOR_SIZE 2048 // sector size for stm32l431RCTX
+#define SECTOR_SIZE_LOG2 11 // 2 ^ 11 = 2048
+
+kv_flash_drv_t stm32l4_norflash_onchip_drv = {
+ .write = stm32l4_norflash_onchip_write,
+ .read = stm32l4_norflash_onchip_read,
+ .erase = stm32l4_norflash_onchip_erase,
+};
+
+kv_flash_prop_t stm32l4_norflash_onchip_prop = {
+ .sector_size_log2 = SECTOR_SIZE_LOG2,
+ .pgm_type = KV_FLASH_PROGRAM_TYPE_DOUBLEWORD,
+};
+
diff --git a/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash_ota.c b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash_ota.c
new file mode 100644
index 00000000..61a1ef27
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Hardware/ONCHIP_FLASH/onchip_flash_ota.c
@@ -0,0 +1,23 @@
+#include "ota_flash.h"
+#include "onchip_flash.h"
+
+#define ONCHIP_FLASH_ADDR_START 0x08000000 // start address for onchip flash for stm32l431RCTX
+#define ONCHIP_FLASH_ADDR_MAX 0x0803FFFF // 256K flash addr for stm32l431RCTX
+
+#define SECTOR_SIZE 2048 // sector size for stm32l431RCTX
+#define SECTOR_SIZE_LOG2 11 // 2 ^ 11 = 2048
+
+#define FOR_OTA_FLASH_SIZE (2 * SECTOR_SIZE) // storage for OTA
+#define FOR_OTA_FLASH_START 0x801e000
+
+ota_flash_drv_t stm32l4_norflash_onchip_drv_ota = {
+ .write = stm32l4_norflash_onchip_write,
+ .read = stm32l4_norflash_onchip_read,
+ .erase = stm32l4_norflash_onchip_erase,
+};
+
+ota_flash_prop_t stm32l4_norflash_onchip_prop_ota = {
+ .sector_size_log2 = SECTOR_SIZE_LOG2,
+ .pgm_type = OTA_FLASH_PROGRAM_TYPE_DOUBLEWORD,
+};
+
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/gpio.h b/board/BDW01-STM32L496VG/BSP/Inc/gpio.h
new file mode 100644
index 00000000..1c7f4f49
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/gpio.h
@@ -0,0 +1,57 @@
+/**
+ ******************************************************************************
+ * File Name : gpio.h
+ * Description : This file contains all the functions prototypes for
+ * the gpio
+ ******************************************************************************
+ * @attention
+ *
+ *
© Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __gpio_H
+#define __gpio_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_GPIO_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ pinoutConfig_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/gps.h b/board/BDW01-STM32L496VG/BSP/Inc/gps.h
new file mode 100644
index 00000000..28ec5f55
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/gps.h
@@ -0,0 +1,50 @@
+/*----------------------------------------------------------------------------
+ * Tencent is pleased to support the open source community by making TencentOS
+ * available.
+ *
+ * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
+ * If you have downloaded a copy of the TencentOS binary from Tencent, please
+ * note that the TencentOS binary is licensed under the BSD 3-Clause License.
+ *
+ * If you have downloaded a copy of the TencentOS source code from Tencent,
+ * please note that TencentOS source code is licensed under the BSD 3-Clause
+ * License, except for the third-party components listed below which are
+ * subject to different license terms. Your integration of TencentOS into your
+ * own projects may require compliance with the BSD 3-Clause License, as well
+ * as the other licenses applicable to the third-party components included
+ * within TencentOS.
+ *---------------------------------------------------------------------------*/
+
+#ifndef __GPS_H__
+#define __GPS_H__
+
+#include "tos_at_gps.h"
+
+//#define DEBUG_GPS_DATA 1
+
+typedef struct
+{
+// GSV_item item[5];
+ char db1;//0-19
+ char db2;//20-29
+ char db3;//30-39
+ char db4;//40-
+}GSV_;
+
+
+typedef enum
+{
+ ATGM336H_UNITE_GPS =1,
+ ATGM336H_UNITE_BDS =2,
+ ATGM336H_UNITE_GPS_BDS =3,
+ ATGM336H_UNITE_GLONASS =4,
+ ATGM336H_UNITE_GPS_GLONASS =5,
+ ATGM336H_UNITE_BDS_GLONASS =6,
+ ATGM336H_UNITE_GPS_BDS_GLONASS =7,
+}Atgm336h_Unite;
+
+int gps_read(int channel_id, void *buf, size_t len);
+int gps_init(hal_uart_port_t uart_port);
+
+#endif /* __GPS_H__ */
+
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/i2c.h b/board/BDW01-STM32L496VG/BSP/Inc/i2c.h
new file mode 100644
index 00000000..a34e69c5
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/i2c.h
@@ -0,0 +1,60 @@
+/**
+ ******************************************************************************
+ * File Name : I2C.h
+ * Description : This file provides code for the configuration
+ * of the I2C instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __i2c_H
+#define __i2c_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern I2C_HandleTypeDef hi2c2;
+extern I2C_HandleTypeDef hi2c3;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_I2C2_Init(void);
+void MX_I2C3_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ i2c_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/main.h b/board/BDW01-STM32L496VG/BSP/Inc/main.h
new file mode 100644
index 00000000..8e22be1a
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/main.h
@@ -0,0 +1,135 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32l4xx_hal.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+void _Error_Handler(char *file, int line);
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+#define KEY1_Pin GPIO_PIN_2
+#define KEY1_GPIO_Port GPIOE
+#define LED5_Pin GPIO_PIN_3
+#define LED5_GPIO_Port GPIOE
+#define SENSOR_EN_Pin GPIO_PIN_5
+#define SENSOR_EN_GPIO_Port GPIOE
+#define SENSOR_INT1_Pin GPIO_PIN_6
+#define SENSOR_INT1_GPIO_Port GPIOE
+#define SENSOR_INT2_Pin GPIO_PIN_13
+#define SENSOR_INT2_GPIO_Port GPIOC
+#define GPS_ON_Pin GPIO_PIN_1
+#define GPS_ON_GPIO_Port GPIOB
+#define BD_EN_Pin GPIO_PIN_2
+#define BD_EN_GPIO_Port GPIOB
+#define GPS_RST_Pin GPIO_PIN_7
+#define GPS_RST_GPIO_Port GPIOE
+#define NB_RST_Pin GPIO_PIN_8
+#define NB_RST_GPIO_Port GPIOE
+#define NB_WKUP_Pin GPIO_PIN_9
+#define NB_WKUP_GPIO_Port GPIOE
+#define NB_EN_Pin GPIO_PIN_11
+#define NB_EN_GPIO_Port GPIOE
+#define SEL1_Pin GPIO_PIN_12
+#define SEL1_GPIO_Port GPIOE
+#define SEL2_Pin GPIO_PIN_13
+#define SEL2_GPIO_Port GPIOE
+#define SEL3_Pin GPIO_PIN_14
+#define SEL3_GPIO_Port GPIOE
+#define KEY4_Pin GPIO_PIN_15
+#define KEY4_GPIO_Port GPIOE
+#define OLED_RST_Pin GPIO_PIN_12
+#define OLED_RST_GPIO_Port GPIOB
+#define OLED_EN_Pin GPIO_PIN_15
+#define OLED_EN_GPIO_Port GPIOB
+#define AU_CTR_Pin GPIO_PIN_8
+#define AU_CTR_GPIO_Port GPIOD
+#define AU_RST_Pin GPIO_PIN_13
+#define AU_RST_GPIO_Port GPIOD
+#define AU_EN_Pin GPIO_PIN_15
+#define AU_EN_GPIO_Port GPIOD
+#define CHARGE_STATE_Pin GPIO_PIN_6
+#define CHARGE_STATE_GPIO_Port GPIOC
+#define CARD_EN_Pin GPIO_PIN_7
+#define CARD_EN_GPIO_Port GPIOC
+#define PCIE_RST_Pin GPIO_PIN_8
+#define PCIE_RST_GPIO_Port GPIOA
+#define PCIE_EN_Pin GPIO_PIN_9
+#define PCIE_EN_GPIO_Port GPIOA
+#define CARD_END5_Pin GPIO_PIN_5
+#define CARD_END5_GPIO_Port GPIOD
+#define KEY3_Pin GPIO_PIN_6
+#define KEY3_GPIO_Port GPIOD
+#define KEY2_Pin GPIO_PIN_7
+#define KEY2_GPIO_Port GPIOD
+#define LED4_Pin GPIO_PIN_5
+#define LED4_GPIO_Port GPIOB
+#define LED3_Pin GPIO_PIN_8
+#define LED3_GPIO_Port GPIOB
+#define IR_OUT_Pin GPIO_PIN_9
+#define IR_OUT_GPIO_Port GPIOB
+#define LED2_Pin GPIO_PIN_0
+#define LED2_GPIO_Port GPIOE
+#define LED1_Pin GPIO_PIN_1
+#define LED1_GPIO_Port GPIOE
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/mcu_init.h b/board/BDW01-STM32L496VG/BSP/Inc/mcu_init.h
new file mode 100644
index 00000000..10fee7f5
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/mcu_init.h
@@ -0,0 +1,21 @@
+#ifndef __MCU_INIT_H
+#define __MCU_INIT_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#include "main.h"
+#include "stm32l4xx_hal.h"
+#include "i2c.h"
+#include "usart.h"
+#include "gpio.h"
+#include "tos_k.h"
+
+
+void board_init(void);
+void SystemClock_Config(void);
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ __MCU_INIT_H */
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/mymath.h b/board/BDW01-STM32L496VG/BSP/Inc/mymath.h
new file mode 100644
index 00000000..aabbef69
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/mymath.h
@@ -0,0 +1,18 @@
+#ifndef __MYMATH_H
+#define __MYMATH_H
+
+
+void Ascii_to_hex_char(char *dstbuf,char*rstbuf);
+void HexStrToByte(const char* source, unsigned char* dest, int sourceLen);
+void ByteToHexStr(const unsigned char* source, char* dest, int sourceLen);
+void Hex2Str( const char *sSrc, char *sDest, int nSrcLen );
+int Myatoi(char *buf);
+char * Myitoa(int val);
+int str_to_hex(char *string, unsigned char *cbuf, int len);
+void hex_to_str(char *ptr,unsigned char *buf,int len);
+
+
+#endif
+
+
+
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/sdmmc.h b/board/BDW01-STM32L496VG/BSP/Inc/sdmmc.h
new file mode 100644
index 00000000..a52bbc60
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/sdmmc.h
@@ -0,0 +1,59 @@
+/**
+ ******************************************************************************
+ * File Name : SDMMC.h
+ * Description : This file provides code for the configuration
+ * of the SDMMC instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __sdmmc_H
+#define __sdmmc_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32l4xx_hal.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern SD_HandleTypeDef hsd1;
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_SDMMC1_SD_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ sdmmc_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/stm32l4xx_hal_conf.h b/board/BDW01-STM32L496VG/BSP/Inc/stm32l4xx_hal_conf.h
new file mode 100644
index 00000000..05e94661
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/stm32l4xx_hal_conf.h
@@ -0,0 +1,435 @@
+/**
+ ******************************************************************************
+ * @file stm32l4xx_hal_conf.h
+ * @brief HAL configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * © COPYRIGHT(c) 2020 STMicroelectronics
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32L4xx_HAL_CONF_H
+#define __STM32L4xx_HAL_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+#include "main.h"
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+
+/* ########################## Module Selection ############################## */
+/**
+ * @brief This is the list of modules to be used in the HAL driver
+ */
+
+#define HAL_MODULE_ENABLED
+#define HAL_ADC_MODULE_ENABLED
+/*#define HAL_CRYP_MODULE_ENABLED */
+/*#define HAL_CAN_MODULE_ENABLED */
+/*#define HAL_COMP_MODULE_ENABLED */
+/*#define HAL_CRC_MODULE_ENABLED */
+/*#define HAL_CRYP_MODULE_ENABLED */
+#define HAL_DAC_MODULE_ENABLED
+/*#define HAL_DCMI_MODULE_ENABLED */
+/*#define HAL_DMA2D_MODULE_ENABLED */
+/*#define HAL_DFSDM_MODULE_ENABLED */
+/*#define HAL_DSI_MODULE_ENABLED */
+/*#define HAL_FIREWALL_MODULE_ENABLED */
+/*#define HAL_GFXMMU_MODULE_ENABLED */
+#define HAL_HCD_MODULE_ENABLED
+/*#define HAL_HASH_MODULE_ENABLED */
+/*#define HAL_I2S_MODULE_ENABLED */
+/*#define HAL_IRDA_MODULE_ENABLED */
+#define HAL_IWDG_MODULE_ENABLED
+/*#define HAL_LTDC_MODULE_ENABLED */
+/*#define HAL_LCD_MODULE_ENABLED */
+/*#define HAL_LPTIM_MODULE_ENABLED */
+/*#define HAL_NAND_MODULE_ENABLED */
+/*#define HAL_NOR_MODULE_ENABLED */
+/*#define HAL_OPAMP_MODULE_ENABLED */
+/*#define HAL_OSPI_MODULE_ENABLED */
+/*#define HAL_OSPI_MODULE_ENABLED */
+/*#define HAL_PCD_MODULE_ENABLED */
+/*#define HAL_QSPI_MODULE_ENABLED */
+/*#define HAL_QSPI_MODULE_ENABLED */
+/*#define HAL_RNG_MODULE_ENABLED */
+/*#define HAL_RTC_MODULE_ENABLED */
+#define HAL_SAI_MODULE_ENABLED
+#define HAL_SD_MODULE_ENABLED
+/*#define HAL_SMBUS_MODULE_ENABLED */
+/*#define HAL_SMARTCARD_MODULE_ENABLED */
+#define HAL_SPI_MODULE_ENABLED
+/*#define HAL_SRAM_MODULE_ENABLED */
+/*#define HAL_SWPMI_MODULE_ENABLED */
+#define HAL_TIM_MODULE_ENABLED
+/*#define HAL_TSC_MODULE_ENABLED */
+#define HAL_UART_MODULE_ENABLED
+/*#define HAL_USART_MODULE_ENABLED */
+/*#define HAL_WWDG_MODULE_ENABLED */
+/*#define HAL_EXTI_MODULE_ENABLED */
+#define HAL_GPIO_MODULE_ENABLED
+#define HAL_I2C_MODULE_ENABLED
+#define HAL_DMA_MODULE_ENABLED
+#define HAL_RCC_MODULE_ENABLED
+#define HAL_FLASH_MODULE_ENABLED
+#define HAL_PWR_MODULE_ENABLED
+#define HAL_CORTEX_MODULE_ENABLED
+
+/* ########################## Oscillator Values adaptation ####################*/
+/**
+ * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSE is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE ((uint32_t)16000000U) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal Multiple Speed oscillator (MSI) default value.
+ * This value is the default MSI range value after Reset.
+ */
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE ((uint32_t)48000000U) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+/**
+ * @brief Internal High Speed oscillator (HSI) value.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSI is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief Internal High Speed oscillator (HSI48) value for USB FS, SDMMC and RNG.
+ * This internal oscillator is mainly dedicated to provide a high precision clock to
+ * the USB peripheral by means of a special Clock Recovery System (CRS) circuitry.
+ * When the CRS is not used, the HSI48 RC oscillator runs on it default frequency
+ * which is subject to manufacturing process variations.
+ */
+#if !defined (HSI48_VALUE)
+ #define HSI48_VALUE ((uint32_t)48000000U) /*!< Value of the Internal High Speed oscillator for USB FS/SDMMC/RNG in Hz.
+ The real value my vary depending on manufacturing process variations.*/
+#endif /* HSI48_VALUE */
+
+/**
+ * @brief Internal Low Speed oscillator (LSI) value.
+ */
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/
+#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+
+/**
+ * @brief External Low Speed oscillator (LSE) value.
+ * This value is used by the UART, RTC HAL module to compute the system frequency
+ */
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+ #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief External clock source for SAI1 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI1_CLOCK_VALUE)
+ #define EXTERNAL_SAI1_CLOCK_VALUE ((uint32_t)2097000U) /*!< Value of the SAI1 External clock source in Hz*/
+#endif /* EXTERNAL_SAI1_CLOCK_VALUE */
+
+/**
+ * @brief External clock source for SAI2 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI2_CLOCK_VALUE)
+ #define EXTERNAL_SAI2_CLOCK_VALUE ((uint32_t)2097000U) /*!< Value of the SAI2 External clock source in Hz*/
+#endif /* EXTERNAL_SAI2_CLOCK_VALUE */
+
+/* Tip: To avoid modifying this file each time you need to use different HSE,
+ === you can define the HSE value in your toolchain compiler preprocessor. */
+
+/* ########################### System Configuration ######################### */
+/**
+ * @brief This is the HAL system configuration section
+ */
+
+#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
+#define USE_RTOS 0U
+#define PREFETCH_ENABLE 0U
+#define INSTRUCTION_CACHE_ENABLE 1U
+#define DATA_CACHE_ENABLE 1U
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* ################## SPI peripheral configuration ########################## */
+
+/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
+ * Activated: CRC code is present inside driver
+ * Deactivated: CRC code cleaned from driver
+ */
+
+#define USE_SPI_CRC 0U
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32l4xx_hal_rcc.h"
+ #include "stm32l4xx_hal_rcc_ex.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32l4xx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32l4xx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32l4xx_hal_dma.h"
+ #include "stm32l4xx_hal_dma_ex.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_DFSDM_MODULE_ENABLED
+ #include "stm32l4xx_hal_dfsdm.h"
+#endif /* HAL_DFSDM_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32l4xx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32l4xx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_CAN_MODULE_ENABLED
+ #include "stm32l4xx_hal_can.h"
+#endif /* HAL_CAN_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32l4xx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32l4xx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32l4xx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_DAC_MODULE_ENABLED
+ #include "stm32l4xx_hal_dac.h"
+#endif /* HAL_DAC_MODULE_ENABLED */
+
+#ifdef HAL_DCMI_MODULE_ENABLED
+ #include "stm32l4xx_hal_dcmi.h"
+#endif /* HAL_DCMI_MODULE_ENABLED */
+
+#ifdef HAL_DMA2D_MODULE_ENABLED
+ #include "stm32l4xx_hal_dma2d.h"
+#endif /* HAL_DMA2D_MODULE_ENABLED */
+
+#ifdef HAL_DSI_MODULE_ENABLED
+ #include "stm32l4xx_hal_dsi.h"
+#endif /* HAL_DSI_MODULE_ENABLED */
+
+#ifdef HAL_FIREWALL_MODULE_ENABLED
+ #include "stm32l4xx_hal_firewall.h"
+#endif /* HAL_FIREWALL_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32l4xx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_HASH_MODULE_ENABLED
+ #include "stm32l4xx_hal_hash.h"
+#endif /* HAL_HASH_MODULE_ENABLED */
+
+#ifdef HAL_SRAM_MODULE_ENABLED
+ #include "stm32l4xx_hal_sram.h"
+#endif /* HAL_SRAM_MODULE_ENABLED */
+
+#ifdef HAL_NOR_MODULE_ENABLED
+ #include "stm32l4xx_hal_nor.h"
+#endif /* HAL_NOR_MODULE_ENABLED */
+
+#ifdef HAL_NAND_MODULE_ENABLED
+ #include "stm32l4xx_hal_nand.h"
+#endif /* HAL_NAND_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32l4xx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32l4xx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_LCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_lcd.h"
+#endif /* HAL_LCD_MODULE_ENABLED */
+
+#ifdef HAL_LPTIM_MODULE_ENABLED
+ #include "stm32l4xx_hal_lptim.h"
+#endif /* HAL_LPTIM_MODULE_ENABLED */
+
+#ifdef HAL_LTDC_MODULE_ENABLED
+ #include "stm32l4xx_hal_ltdc.h"
+#endif /* HAL_LTDC_MODULE_ENABLED */
+
+#ifdef HAL_OPAMP_MODULE_ENABLED
+ #include "stm32l4xx_hal_opamp.h"
+#endif /* HAL_OPAMP_MODULE_ENABLED */
+
+#ifdef HAL_OSPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_ospi.h"
+#endif /* HAL_OSPI_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32l4xx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_QSPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_qspi.h"
+#endif /* HAL_QSPI_MODULE_ENABLED */
+
+#ifdef HAL_RNG_MODULE_ENABLED
+ #include "stm32l4xx_hal_rng.h"
+#endif /* HAL_RNG_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32l4xx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SAI_MODULE_ENABLED
+ #include "stm32l4xx_hal_sai.h"
+#endif /* HAL_SAI_MODULE_ENABLED */
+
+#ifdef HAL_SD_MODULE_ENABLED
+ #include "stm32l4xx_hal_sd.h"
+#endif /* HAL_SD_MODULE_ENABLED */
+
+#ifdef HAL_SMBUS_MODULE_ENABLED
+ #include "stm32l4xx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_SWPMI_MODULE_ENABLED
+ #include "stm32l4xx_hal_swpmi.h"
+#endif /* HAL_SWPMI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32l4xx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_TSC_MODULE_ENABLED
+ #include "stm32l4xx_hal_tsc.h"
+#endif /* HAL_TSC_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32l4xx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32l4xx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32l4xx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32l4xx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32l4xx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_HCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_hcd.h"
+#endif /* HAL_HCD_MODULE_ENABLED */
+
+#ifdef HAL_GFXMMU_MODULE_ENABLED
+ #include "stm32l4xx_hal_gfxmmu.h"
+#endif /* HAL_GFXMMU_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr: If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(uint8_t* file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32L4xx_HAL_CONF_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/stm32l4xx_it.h b/board/BDW01-STM32L496VG/BSP/Inc/stm32l4xx_it.h
new file mode 100644
index 00000000..05384073
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/stm32l4xx_it.h
@@ -0,0 +1,74 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32L4xx_IT_H
+#define __STM32L4xx_IT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+void USART1_IRQHandler(void);
+void USART2_IRQHandler(void);
+void USART3_IRQHandler(void);
+void USART4_IRQHandler(void);
+void LPUART1_IRQHandler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32L4xx_IT_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/sys.h b/board/BDW01-STM32L496VG/BSP/Inc/sys.h
new file mode 100644
index 00000000..64bea532
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/sys.h
@@ -0,0 +1,56 @@
+/**
+ ******************************************************************************
+ * File Name : SYS.h
+ * Description : This file provides code for the configuration
+ * of the SYS instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __sys_H
+#define __sys_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_SYS_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ sys_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/tos_at_gps.h b/board/BDW01-STM32L496VG/BSP/Inc/tos_at_gps.h
new file mode 100644
index 00000000..4d6603f7
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/tos_at_gps.h
@@ -0,0 +1,83 @@
+/*----------------------------------------------------------------------------
+ * Tencent is pleased to support the open source community by making TencentOS
+ * available.
+ *
+ * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
+ * If you have downloaded a copy of the TencentOS binary from Tencent, please
+ * note that the TencentOS binary is licensed under the BSD 3-Clause License.
+ *
+ * If you have downloaded a copy of the TencentOS source code from Tencent,
+ * please note that TencentOS source code is licensed under the BSD 3-Clause
+ * License, except for the third-party components listed below which are
+ * subject to different license terms. Your integration of TencentOS into your
+ * own projects may require compliance with the BSD 3-Clause License, as well
+ * as the other licenses applicable to the third-party components included
+ * within TencentOS.
+ *---------------------------------------------------------------------------*/
+
+#ifndef _TOS_AT_GPS_H_
+#define _TOS_AT_GPS_H_
+
+#include "tos_k.h"
+#include "tos_hal.h"
+
+#define AT_OUTPUT_MAX 128
+#define AT_RX_BUFFER_SIZE 512
+#define AT_PARSER_TASK_STACK_SIZE 2048
+#define AT_PARSER_TASK_PRIO 0
+
+#define AT_DATA_CHANNEL_NUM 3
+#define AT_DATA_CHANNEL_FIFO_BUFFER_SIZE (2048 + 1024)
+
+
+typedef void (*at_event_callback_t)(char * str);
+
+typedef struct at_event_st {
+ const char *event_header;
+ at_event_callback_t event_callback;
+} at_event_t;
+
+typedef enum at_channel_status_en {
+ AT_CHANNEL_STATUS_NONE, /*< usually means we are try to get a channel status with invalid id */
+ AT_CHANNEL_STATUS_HANGING, /*< channel is not used */
+ AT_CHANNEL_STATUS_WORKING, /*< channel is being using */
+ AT_CHANNEL_STATUS_BROKEN, /*< channel is broken(module link to remote server is broken) */
+} at_channel_status_t;
+
+typedef struct at_data_channel_st {
+ uint8_t is_free;
+ k_chr_fifo_t rx_fifo;
+ uint8_t *rx_fifo_buffer;
+ k_mutex_t rx_lock;
+
+ at_channel_status_t status;
+
+} at_data_channel_t;
+
+
+
+typedef struct at_control_st {
+ at_data_channel_t data_channel[AT_DATA_CHANNEL_NUM];
+ k_task_t parser;
+ at_event_t *event_table;
+ size_t event_table_size;
+ char *cmd_buffer;
+ int cmd_buffer_size;
+ hal_uart_t uart;
+ k_sem_t at_rx_sem;
+ k_chr_fifo_t at_rx_fifo;
+ uint8_t *at_rx_fifo_buffer;
+} at_agent_t;
+
+#define AT_AGENT ((at_agent_t *)(&at_agent))
+
+__API__ int tos_at_gps_init(hal_uart_port_t uart_port, at_event_t *event_table, size_t event_table_size);
+
+__API__ void tos_at_gps_deinit(void);
+
+__API__ void tos_at_gps_send(const char *format, ...);
+
+__API__ void tos_at_gps_uart_input_byte(uint8_t data);
+
+#endif /* _TOS_AT_GPS_H_ */
+
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/usart.h b/board/BDW01-STM32L496VG/BSP/Inc/usart.h
new file mode 100644
index 00000000..645aa975
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/usart.h
@@ -0,0 +1,67 @@
+/**
+ ******************************************************************************
+ * File Name : USART.h
+ * Description : This file provides code for the configuration
+ * of the USART instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __usart_H
+#define __usart_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+extern UART_HandleTypeDef huart1;
+extern UART_HandleTypeDef huart2;
+extern UART_HandleTypeDef huart3;
+extern UART_HandleTypeDef huart4;
+extern UART_HandleTypeDef hlpuart1;
+
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_USART1_UART_Init(void);
+void MX_USART2_UART_Init(void);
+void MX_USART3_UART_Init(void);
+void MX_USART4_UART_Init(void);
+void MX_LPUART1_UART_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ usart_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Inc/user_usb_uart.h b/board/BDW01-STM32L496VG/BSP/Inc/user_usb_uart.h
new file mode 100644
index 00000000..10fd96d3
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Inc/user_usb_uart.h
@@ -0,0 +1,23 @@
+#ifndef __UART_H
+#define __UART_H
+
+
+#include "stm32l4xx_hal.h"
+
+
+
+#define MAX_USBRX_BUFFER_LENGTH 128
+#define CUSB_BUFFER_NUMBER 6
+
+
+void Usb_Buff_Init(void);
+uint8_t ReadUsbBuffData(uint8_t *dBuffer, uint8_t len);
+
+
+//uint8_t saveUart2Data(void);
+
+
+
+
+#endif
+
diff --git a/board/BDW01-STM32L496VG/BSP/Src/gpio.c b/board/BDW01-STM32L496VG/BSP/Src/gpio.c
new file mode 100644
index 00000000..efc114d1
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/gpio.c
@@ -0,0 +1,172 @@
+/**
+ ******************************************************************************
+ * File Name : gpio.c
+ * Description : This file provides code for the configuration
+ * of all used GPIO pins.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "gpio.h"
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure GPIO */
+/*----------------------------------------------------------------------------*/
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/** Configure pins as
+ * Analog
+ * Input
+ * Output
+ * EVENT_OUT
+ * EXTI
+*/
+void MX_GPIO_Init(void)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct;
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOE, LED5_Pin|LED2_Pin|LED1_Pin, GPIO_PIN_SET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOE, SENSOR_EN_Pin|GPS_RST_Pin|NB_RST_Pin|NB_WKUP_Pin
+ |NB_EN_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, GPS_ON_Pin|BD_EN_Pin|OLED_RST_Pin|OLED_EN_Pin
+ |LED3_Pin|IR_OUT_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOD, AU_CTR_Pin|AU_RST_Pin|AU_EN_Pin|CARD_END5_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(CARD_EN_GPIO_Port, CARD_EN_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(PCIE_RST_GPIO_Port, PCIE_RST_Pin, GPIO_PIN_SET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(PCIE_EN_GPIO_Port, PCIE_EN_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET);
+
+ /*Configure GPIO pins : KEY1_Pin SEL1_Pin SEL2_Pin SEL3_Pin
+ KEY4_Pin */
+ GPIO_InitStruct.Pin = KEY1_Pin|SEL1_Pin|SEL2_Pin|SEL3_Pin
+ |KEY4_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : LED5_Pin SENSOR_EN_Pin GPS_RST_Pin NB_RST_Pin
+ NB_WKUP_Pin NB_EN_Pin LED2_Pin LED1_Pin */
+ GPIO_InitStruct.Pin = LED5_Pin|SENSOR_EN_Pin|GPS_RST_Pin|NB_RST_Pin
+ |NB_WKUP_Pin|NB_EN_Pin|LED2_Pin|LED1_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : SENSOR_INT1_Pin */
+ GPIO_InitStruct.Pin = SENSOR_INT1_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(SENSOR_INT1_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : SENSOR_INT2_Pin */
+ GPIO_InitStruct.Pin = SENSOR_INT2_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(SENSOR_INT2_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PA5 PA6 */
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PB0 */
+ GPIO_InitStruct.Pin = GPIO_PIN_0;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : GPS_ON_Pin BD_EN_Pin OLED_RST_Pin OLED_EN_Pin
+ LED4_Pin LED3_Pin IR_OUT_Pin */
+ GPIO_InitStruct.Pin = GPS_ON_Pin|BD_EN_Pin|OLED_RST_Pin|OLED_EN_Pin
+ |LED4_Pin|LED3_Pin|IR_OUT_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : AU_CTR_Pin AU_RST_Pin AU_EN_Pin CARD_END5_Pin */
+ GPIO_InitStruct.Pin = AU_CTR_Pin|AU_RST_Pin|AU_EN_Pin|CARD_END5_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : CHARGE_STATE_Pin */
+ GPIO_InitStruct.Pin = CHARGE_STATE_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(CHARGE_STATE_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : CARD_EN_Pin */
+ GPIO_InitStruct.Pin = CARD_EN_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(CARD_EN_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PCIE_RST_Pin PCIE_EN_Pin */
+ GPIO_InitStruct.Pin = PCIE_RST_Pin|PCIE_EN_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : KEY3_Pin KEY2_Pin */
+ GPIO_InitStruct.Pin = KEY3_Pin|KEY2_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/gps.c b/board/BDW01-STM32L496VG/BSP/Src/gps.c
new file mode 100644
index 00000000..ebef604d
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/gps.c
@@ -0,0 +1,437 @@
+
+#include "tos_k.h"
+#include "tos_at_gps.h"
+#include "tos_hal.h"
+
+
+#include "stdio.h"
+#include "stdbool.h"
+#include "ctype.h"
+#include "gps.h"
+#include "mymath.h"
+
+const char ATGM336H_GPS[]="$PCAS04,1*18\r\n";
+const char ATGM336H_BDS[]="$PCAS04,2*1B\r\n";
+const char ATGM336H_GPS_BDS[]="$PCAS04,3*1A\r\n";
+const char ATGM336H_GLONASS[]="$PCAS04,4*1D\r\n";
+const char ATGM336H_GPS_GLONASS[]="$PCAS04,5*1C\r\n";
+const char ATGM336H_BDS_GLONASS[]="$PCAS04,6*1F\r\n";
+const char ATGM336H_GPS_BDS_GLONASS[]="$PCAS04,7*1E\r\n";
+const char ATGM336H_FREQ[]="$PCAS03,0,0,0,0,2,0,0,0,0,0,0,0,0,0*00\r\n";//"$PCAS03,2,0,0,2,2,0,0,0,0,0,0,0,0,0*00\r\n";
+
+
+char* get_gpsrmc (char* buf)
+{
+ char const *buff=buf;
+ char *p=NULL;
+
+ if(p= strstr(buff,"GNRMC")) //ÁªºÏ
+ {
+
+ }
+ else if(p= strstr(buff,"GBRMC")){ //BDS
+
+ }
+ else if(p= strstr(buff,"GPRMC")){ //GPS
+
+ }
+ else if(p= strstr(buff,"BDRMC")){ //BDS
+
+ }
+ return p;
+}
+
+char* get_gpsgga(char* buf)
+{
+ char const *buff=buf;
+ char *p=NULL;
+
+ if(p= strstr(buff,"GNGGA")){
+ }
+ else if(p= strstr(buff,"GBGGA")){
+ }
+ else if(p= strstr(buff,"GPGGA")){
+ }
+ else if(p= strstr(buff,"BDGGA")){
+ }
+ return p;
+}
+
+char* get_gpsgsv(char* buf)
+{
+ char const *buff=buf;
+ char *p=NULL;
+
+ if(p= strstr(buff,"GNGSV")){
+ }
+ else if(p= strstr(buff,"GBGSV")){
+ }
+ else if(p= strstr(buff,"GPGSV")){
+ }
+ else if(p= strstr(buff,"BDGSV")){
+ }
+ return p;
+}
+
+
+//GBRMC,065730.00,V,2231.89755,N,11356.42786,E,0.206,,100919,,,N,V*08
+void ParseGpsRmc(char *gpsdata)
+{
+ uint16_t i,j,numtotal= 0;
+ uint8_t zero,first,second,third,fourth,fifth,sixth,sevevth;
+ char gpstestbuf[40];
+ char coordinate[25];
+ char rmcdatabuf[60];
+ char *buff_gprmc=NULL;
+ char tmp[10],tmp1[10],GPSChecksum[2],result;
+ char *test;
+ int len;
+ test = gpsdata;
+ j =0;
+ first =0; second=0;third=0;fourth=0;fifth=0;sixth=0;sevevth=0,result=0;
+// printf("\r\n%s \n",test);
+ buff_gprmc = get_gpsrmc(test);
+ len = strlen(test);
+ if(buff_gprmc ==0){
+// gpsFlag.Havetime2calitNb=0;
+ return;
+ }else{
+// printf("len= %d\r\n",len);
+// printf("%s",buff_gprmc);
+// tos_kprintln("rmc\n");
+ for(i =0;i 57) )
+ {
+ return;
+ }
+ gpstestbuf[j++] = buff_gprmc[i];
+ }
+ if((i-first-1)<10) //Èç¹ûλÊýÉÙÁË1λ
+ gpstestbuf[j++] = '0';
+ gpstestbuf[j++] = ',';
+ for(i = third+1;i 57) )
+ {
+ return;
+ }
+ gpstestbuf[j++] = buff_gprmc[i];
+ }
+ if((i-third-1)<11) //Èç¹ûλÊýÉÙÁË1λ
+ gpstestbuf[j++] = '0';
+
+ #ifdef DEBUG_GPS_DATA
+ printf("\r\nN AND E is \r\n");
+ #endif
+// tos_kprintln(gpstestbuf);
+ tos_at_gps_channel_write(1, gpstestbuf, strlen(gpstestbuf));
+
+ j =0;
+ #ifdef DEBUG_GPS_DATA
+ printf("\r\nfindchar5 is \r\n");
+ #endif
+ memset(tmp,0,10);
+ for(i = fifth+1;i1)
+ {
+// gpsFlag.gps_speed_non_zero=1;
+ }
+ else{
+// gpsFlag.gps_speed_non_zero=0;
+ }
+ #ifdef DEBUG_GPS_DATA
+ printf("\r\nspeed is:%d\r\n",i);
+ #endif
+ j =0;
+ memset(tmp,0,10);
+ for(i = sixth+1;i 57) )
+ {
+ printf("Data error \r\n");
+ return;
+ }
+ tmp[j]= buff_gpgga[i];
+ }
+// printf("i:%d \r\n",ava_satellite);
+}
+
+//$BDGSV,4,1,15,01,47,123,42,02,47,235,36,03,64,189,44,07,74,092,41*66
+GSV_ gsv;
+void ParseGpsGsv(char *gsvdata)
+{
+ char *buff_gpgga=NULL;
+// char *test;
+ int i,len;
+ int num,num1,index,line,total,db;
+ char *revbuf[23] = {0};
+// test = gpsdata;
+// buff_gpgga = get_gpsgsv(gsvdata);
+ if(gsvdata ==NULL){
+ return;
+ }
+ else{
+ printf("%s\n",gsvdata);
+ split(gsvdata,",*",revbuf,&num);
+// split(revbuf[num-1],"*",NULL,NULL);
+
+
+ for(i=1;i4)
+ {
+ line = decstr_to_int(revbuf[2]);//µ±Ç°Êǵڼ¸Ìõ
+ total = decstr_to_int(revbuf[3]);//×ÜÐÇÊý
+ if(line==1) //Èç¹ûÊÇÊÕµ½µÚÒ»Ìõ£¬°Ñ֮ǰ¼Ç¼ÇåÁã£¬ÖØÈ¡
+ {
+ gsv.db1= 0;
+ gsv.db2= 0;
+ gsv.db3= 0;
+ gsv.db4= 0;
+// gpsData.gsv = gsv;
+ }
+
+ index = (line-1)*4; //Ëã³öÎÀÐÇÐÅºÅÆðʼ¸öÊý,ÒòΪÿһÌõ×î¶à4¸öÎÀÐÇÐÅÏ¢
+
+ for(i=0;i<4&&i=40)
+ {
+ gsv.db4+=1;
+ }
+ else if(db>=30)
+ {
+ gsv.db3+=1;
+ }
+ else if(db>=20)
+ {
+ gsv.db2+=1;
+ }
+ else if(db>0)
+ {
+ gsv.db1+=1;
+ }
+ }
+ }
+
+
+ if(line==decstr_to_int(revbuf[1])) //ÊÕµ½µÄ×îºóÒ»Ìõ
+ {
+// gpsData.gsv = gsv;
+
+// printf("gsv:%d,%d,%d,%d\n",gpsData.gsv.db1,gpsData.gsv.db2,gpsData.gsv.db3,gpsData.gsv.db4);
+ }
+
+ }
+
+ }
+}
+
+
+
+//ÅäÖÃÎÀÐÇÁªºÏ¹¤×÷ģʽ
+// 1GPS 2BDS 3GPS+BDS 4GLONASS 5GPS+GLONASS 6BDS+GLONASS 7GPS+BDS+GLONASS
+void atgm336h_Unite(Atgm336h_Unite unite)
+{
+ switch(unite)
+ {
+ case ATGM336H_UNITE_GPS:
+ tos_at_gps_send(ATGM336H_GPS);
+ break;
+ case ATGM336H_UNITE_BDS:
+ tos_at_gps_send(ATGM336H_BDS);
+ break;
+ case ATGM336H_UNITE_GPS_BDS:
+ tos_at_gps_send(ATGM336H_GPS_BDS);
+ break;
+ case ATGM336H_UNITE_GLONASS:
+ tos_at_gps_send(ATGM336H_GLONASS);
+ break;
+ case ATGM336H_UNITE_GPS_GLONASS:
+ tos_at_gps_send(ATGM336H_GPS_GLONASS);
+ break;
+ case ATGM336H_UNITE_BDS_GLONASS:
+ tos_at_gps_send(ATGM336H_BDS_GLONASS);
+ break;
+ case ATGM336H_UNITE_GPS_BDS_GLONASS:
+ tos_at_gps_send(ATGM336H_GPS_BDS_GLONASS);
+ break;
+ }
+}
+
+int gps_read(int channel_id, void *buf, size_t len)
+{
+ return tos_at_gps_channel_read(channel_id, buf, len);
+}
+
+__STATIC__ void atgm336h_init(void)
+{
+ printf("Init atgm336h ...\n" );
+ tos_task_delay(1000);
+ atgm336h_Unite(ATGM336H_UNITE_BDS);
+ tos_task_delay(200);
+ tos_at_gps_send(ATGM336H_FREQ);
+}
+
+
+__STATIC__ void gps_incoming_rmc(char * str)
+{
+// printf("gp\n" );
+// printf(str);
+ ParseGpsRmc(str);
+}
+
+at_event_t gps_at_event[] = {
+// { "$GPTXT,01,01,02,HW=ATGM336H", atgm336h_init },
+ { "$BDRMC", gps_incoming_rmc },
+};
+
+int gps_init(hal_uart_port_t uart_port)
+{
+ HAL_GPIO_WritePin(GPS_RST_GPIO_Port, GPS_RST_Pin, GPIO_PIN_RESET);
+ tos_task_delay(200);
+ HAL_GPIO_WritePin(GPS_RST_GPIO_Port, GPS_RST_Pin, GPIO_PIN_SET);
+
+ if (tos_at_gps_init(uart_port, gps_at_event,sizeof(gps_at_event) / sizeof(gps_at_event[0])) != 0) {
+ return -1;
+ }
+
+ atgm336h_init();
+
+ return 0;
+}
+
diff --git a/board/BDW01-STM32L496VG/BSP/Src/i2c.c b/board/BDW01-STM32L496VG/BSP/Src/i2c.c
new file mode 100644
index 00000000..06e469b5
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/i2c.c
@@ -0,0 +1,197 @@
+/**
+ ******************************************************************************
+ * File Name : I2C.c
+ * Description : This file provides code for the configuration
+ * of the I2C instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "i2c.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+I2C_HandleTypeDef hi2c2;
+I2C_HandleTypeDef hi2c3;
+
+/* I2C2 init function */
+void MX_I2C2_Init(void)
+{
+
+ hi2c2.Instance = I2C2;
+ hi2c2.Init.Timing = 0x20303E5D;
+ hi2c2.Init.OwnAddress1 = 0;
+ hi2c2.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
+ hi2c2.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
+ hi2c2.Init.OwnAddress2 = 0;
+ hi2c2.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
+ hi2c2.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
+ hi2c2.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
+ if (HAL_I2C_Init(&hi2c2) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure Analogue filter
+ */
+ if (HAL_I2CEx_ConfigAnalogFilter(&hi2c2, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure Digital filter
+ */
+ if (HAL_I2CEx_ConfigDigitalFilter(&hi2c2, 0) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+/* I2C3 init function */
+void MX_I2C3_Init(void)
+{
+
+ hi2c3.Instance = I2C3;
+ hi2c3.Init.Timing = 0x2010091A;
+ hi2c3.Init.OwnAddress1 = 0;
+ hi2c3.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;
+ hi2c3.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;
+ hi2c3.Init.OwnAddress2 = 0;
+ hi2c3.Init.OwnAddress2Masks = I2C_OA2_NOMASK;
+ hi2c3.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;
+ hi2c3.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;
+ if (HAL_I2C_Init(&hi2c3) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure Analogue filter
+ */
+ if (HAL_I2CEx_ConfigAnalogFilter(&hi2c3, I2C_ANALOGFILTER_ENABLE) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure Digital filter
+ */
+ if (HAL_I2CEx_ConfigDigitalFilter(&hi2c3, 0) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct;
+ if(hi2c->Instance==I2C2)
+ {
+ /* USER CODE BEGIN I2C2_MspInit 0 */
+
+ /* USER CODE END I2C2_MspInit 0 */
+
+ /**I2C2 GPIO Configuration
+ PB13 ------> I2C2_SCL
+ PB14 ------> I2C2_SDA
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_13|GPIO_PIN_14;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ GPIO_InitStruct.Pull = GPIO_PULLUP;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C2;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* Peripheral clock enable */
+ __HAL_RCC_I2C2_CLK_ENABLE();
+ /* USER CODE BEGIN I2C2_MspInit 1 */
+
+ /* USER CODE END I2C2_MspInit 1 */
+ }
+ else if(hi2c->Instance==I2C3)
+ {
+ /* USER CODE BEGIN I2C3_MspInit 0 */
+
+ /* USER CODE END I2C3_MspInit 0 */
+
+ /**I2C3 GPIO Configuration
+ PC0 ------> I2C3_SCL
+ PC1 ------> I2C3_SDA
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_OD;
+ GPIO_InitStruct.Pull = GPIO_PULLUP;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF4_I2C3;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /* Peripheral clock enable */
+ __HAL_RCC_I2C3_CLK_ENABLE();
+ /* USER CODE BEGIN I2C3_MspInit 1 */
+
+ /* USER CODE END I2C3_MspInit 1 */
+ }
+
+}
+
+void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c)
+{
+
+ if(hi2c->Instance==I2C2)
+ {
+ /* USER CODE BEGIN I2C2_MspDeInit 0 */
+
+ /* USER CODE END I2C2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_I2C2_CLK_DISABLE();
+
+ /**I2C2 GPIO Configuration
+ PB13 ------> I2C2_SCL
+ PB14 ------> I2C2_SDA
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14);
+
+ /* USER CODE BEGIN I2C2_MspDeInit 1 */
+
+ /* USER CODE END I2C2_MspDeInit 1 */
+ }
+ else if(hi2c->Instance==I2C3)
+ {
+ /* USER CODE BEGIN I2C3_MspDeInit 0 */
+
+ /* USER CODE END I2C3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_I2C3_CLK_DISABLE();
+
+ /**I2C3 GPIO Configuration
+ PC0 ------> I2C3_SCL
+ PC1 ------> I2C3_SDA
+ */
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_0|GPIO_PIN_1);
+
+ /* USER CODE BEGIN I2C3_MspDeInit 1 */
+
+ /* USER CODE END I2C3_MspDeInit 1 */
+ }
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/main.c b/board/BDW01-STM32L496VG/BSP/Src/main.c
new file mode 100644
index 00000000..8b77ee28
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/main.c
@@ -0,0 +1,23 @@
+#include "mcu_init.h"
+#include "cmsis_os.h"
+
+#define APPLICATION_TASK_STK_SIZE 1024
+extern void application_entry(void *arg);
+osThreadDef(application_entry, osPriorityNormal, 1, APPLICATION_TASK_STK_SIZE);
+
+__weak void application_entry(void *arg)
+{
+ while (1) {
+ printf("This is a demo task,please use your task entry!\r\n");
+ tos_task_delay(1000);
+ }
+}
+
+int main(void)
+{
+ board_init();
+ printf("Welcome to TencentOS tiny\r\n");
+ osKernelInitialize();
+ osThreadCreate(osThread(application_entry), NULL);
+ osKernelStart();
+}
diff --git a/board/BDW01-STM32L496VG/BSP/Src/mcu_init.c b/board/BDW01-STM32L496VG/BSP/Src/mcu_init.c
new file mode 100644
index 00000000..75692e2e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/mcu_init.c
@@ -0,0 +1,345 @@
+#include "mcu_init.h"
+
+ADC_HandleTypeDef hadc1;
+DAC_HandleTypeDef hdac1;
+TIM_HandleTypeDef htim2;
+SPI_HandleTypeDef hspi2;
+IWDG_HandleTypeDef hiwdg;
+SAI_HandleTypeDef hsai_BlockA2;
+
+static void MX_DMA_Init(void);
+static void MX_SPI2_Init(void);
+static void MX_DAC1_Init(void);
+static void MX_ADC1_Init(void);
+static void MX_TIM2_Init(void);
+static void MX_SAI2_Init(void);
+
+int fputc(int ch, FILE *f)
+{
+ if (ch == '\n') {
+ HAL_UART_Transmit(&huart1, (void *)"\r", 1,30000);
+ }
+ HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
+ return ch;
+}
+
+int _write(int fd, char *ptr, int len)
+{
+ (void)HAL_UART_Transmit(&huart1, (uint8_t *)ptr, len, 0xFFFF);
+ return len;
+}
+
+int fgetc(FILE *f)
+{
+ /* Place your implementation of fgetc here */
+ /* e.g. readwrite a character to the USART2 and Loop until the end of transmission */
+ uint8_t ch = 0;
+ HAL_UART_Receive(&huart1, &ch, 1,30000);
+ return ch;
+}
+
+void board_init(void)
+{
+ HAL_Init();
+ SystemClock_Config();
+ MX_GPIO_Init();
+ MX_I2C2_Init();
+ MX_I2C3_Init();
+ MX_LPUART1_UART_Init();
+ MX_UART4_Init();
+ MX_USART3_UART_Init();
+ MX_USART2_UART_Init();
+
+ MX_USART1_UART_Init();
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+
+ RCC_OscInitTypeDef RCC_OscInitStruct;
+ RCC_ClkInitTypeDef RCC_ClkInitStruct;
+ RCC_PeriphCLKInitTypeDef PeriphClkInit;
+
+ /**Initializes the CPU, AHB and APB busses clocks
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE
+ |RCC_OSCILLATORTYPE_MSI;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.LSIState = RCC_LSI_ON;
+ RCC_OscInitStruct.MSIState = RCC_MSI_ON;
+ RCC_OscInitStruct.MSICalibrationValue = 0;
+ RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Initializes the CPU, AHB and APB busses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI;
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_USART2
+ |RCC_PERIPHCLK_USART3|RCC_PERIPHCLK_UART4
+ |RCC_PERIPHCLK_LPUART1|RCC_PERIPHCLK_SAI2
+ |RCC_PERIPHCLK_I2C2|RCC_PERIPHCLK_I2C3
+ |RCC_PERIPHCLK_USB|RCC_PERIPHCLK_SDMMC1
+ |RCC_PERIPHCLK_ADC;
+ PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
+ PeriphClkInit.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
+ PeriphClkInit.Uart4ClockSelection = RCC_UART4CLKSOURCE_PCLK1;
+ PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1;
+ PeriphClkInit.I2c2ClockSelection = RCC_I2C2CLKSOURCE_PCLK1;
+ PeriphClkInit.I2c3ClockSelection = RCC_I2C3CLKSOURCE_PCLK1;
+ PeriphClkInit.Sai2ClockSelection = RCC_SAI2CLKSOURCE_PLLSAI1;
+ PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_PLLSAI1;
+ PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLLSAI1;
+ PeriphClkInit.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_PLLSAI1;
+ PeriphClkInit.PLLSAI1.PLLSAI1Source = RCC_PLLSOURCE_HSE;
+ PeriphClkInit.PLLSAI1.PLLSAI1M = 1;
+ PeriphClkInit.PLLSAI1.PLLSAI1N = 12;
+ PeriphClkInit.PLLSAI1.PLLSAI1P = RCC_PLLP_DIV4;
+ PeriphClkInit.PLLSAI1.PLLSAI1Q = RCC_PLLQ_DIV4;
+ PeriphClkInit.PLLSAI1.PLLSAI1R = RCC_PLLR_DIV4;
+ PeriphClkInit.PLLSAI1.PLLSAI1ClockOut = RCC_PLLSAI1_SAI1CLK|RCC_PLLSAI1_48M2CLK
+ |RCC_PLLSAI1_ADC1CLK;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure the main internal regulator output voltage
+ */
+ if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure the Systick interrupt time
+ */
+ HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
+
+ /**Configure the Systick
+ */
+ HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
+
+ /* SysTick_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
+}
+
+/* ADC1 init function */
+static void MX_ADC1_Init(void)
+{
+
+ ADC_MultiModeTypeDef multimode;
+ ADC_ChannelConfTypeDef sConfig;
+
+ /**Common config
+ */
+ hadc1.Instance = ADC1;
+ hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1;
+ hadc1.Init.Resolution = ADC_RESOLUTION_12B;
+ hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT;
+ hadc1.Init.ScanConvMode = ADC_SCAN_DISABLE;
+ hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV;
+ hadc1.Init.LowPowerAutoWait = DISABLE;
+ hadc1.Init.ContinuousConvMode = DISABLE;
+ hadc1.Init.NbrOfConversion = 1;
+ hadc1.Init.DiscontinuousConvMode = DISABLE;
+ hadc1.Init.NbrOfDiscConversion = 1;
+ hadc1.Init.ExternalTrigConv = ADC_SOFTWARE_START;
+ hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE;
+ hadc1.Init.DMAContinuousRequests = DISABLE;
+ hadc1.Init.Overrun = ADC_OVR_DATA_PRESERVED;
+ hadc1.Init.OversamplingMode = DISABLE;
+ if (HAL_ADC_Init(&hadc1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure the ADC multi-mode
+ */
+ multimode.Mode = ADC_MODE_INDEPENDENT;
+ if (HAL_ADCEx_MultiModeConfigChannel(&hadc1, &multimode) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure Regular Channel
+ */
+ sConfig.Channel = ADC_CHANNEL_3;
+ sConfig.Rank = ADC_REGULAR_RANK_1;
+ sConfig.SamplingTime = ADC_SAMPLETIME_2CYCLES_5;
+ sConfig.SingleDiff = ADC_SINGLE_ENDED;
+ sConfig.OffsetNumber = ADC_OFFSET_NONE;
+ sConfig.Offset = 0;
+ if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+/* DAC1 init function */
+static void MX_DAC1_Init(void)
+{
+
+ DAC_ChannelConfTypeDef sConfig;
+
+ /**DAC Initialization
+ */
+ hdac1.Instance = DAC1;
+ if (HAL_DAC_Init(&hdac1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**DAC channel OUT1 config
+ */
+ sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
+ sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
+ sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
+ sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_DISABLE;
+ sConfig.DAC_UserTrimming = DAC_TRIMMING_FACTORY;
+ if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+/* SPI2 init function */
+static void MX_SPI2_Init(void)
+{
+
+ /* SPI2 parameter configuration*/
+ hspi2.Instance = SPI2;
+ hspi2.Init.Mode = SPI_MODE_MASTER;
+ hspi2.Init.Direction = SPI_DIRECTION_2LINES;
+ hspi2.Init.DataSize = SPI_DATASIZE_4BIT;
+ hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;
+ hspi2.Init.CLKPhase = SPI_PHASE_1EDGE;
+ hspi2.Init.NSS = SPI_NSS_HARD_OUTPUT;
+ hspi2.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2;
+ hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;
+ hspi2.Init.TIMode = SPI_TIMODE_DISABLE;
+ hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;
+ hspi2.Init.CRCPolynomial = 7;
+ hspi2.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE;
+ hspi2.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;
+ if (HAL_SPI_Init(&hspi2) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+/* TIM2 init function */
+static void MX_TIM2_Init(void)
+{
+
+ TIM_ClockConfigTypeDef sClockSourceConfig;
+ TIM_MasterConfigTypeDef sMasterConfig;
+
+ htim2.Instance = TIM2;
+ htim2.Init.Prescaler = 13260;
+ htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
+ htim2.Init.Period = 10;
+ htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
+ htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
+ if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
+ if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
+ sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
+ if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+/**
+ * Enable DMA controller clock
+ */
+static void MX_DMA_Init(void)
+{
+ /* DMA controller clock enable */
+ __HAL_RCC_DMA2_CLK_ENABLE();
+
+ /* DMA interrupt init */
+ /* DMA2_Channel4_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA2_Channel4_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA2_Channel4_IRQn);
+ /* DMA2_Channel5_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DMA2_Channel5_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(DMA2_Channel5_IRQn);
+
+}
+
+/* USER CODE BEGIN 4 */
+void _Error_Handler(char *file, int line)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ while(1)
+ {
+ printf("err %s,L%d\r\n",file,line);
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+/* USER CODE END 4 */
+
+/**
+ * @brief This function is executed in case of error occurrence.
+ * @retval None
+ */
+void Error_Handler(void)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+
+ /* USER CODE END Error_Handler_Debug */
+}
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(uint8_t *file, uint32_t line)
+{
+ /* USER CODE BEGIN 6 */
+ /* User can add his own implementation to report the file name and line number,
+ tex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
+ /* USER CODE END 6 */
+}
+#endif /* USE_FULL_ASSERT */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/mymath.c b/board/BDW01-STM32L496VG/BSP/Src/mymath.c
new file mode 100644
index 00000000..7c438067
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/mymath.c
@@ -0,0 +1,245 @@
+
+#include
+#include "mymath.h"
+#include
+
+void Ascii_to_hex_char(char *dstbuf,char*rstbuf)
+{
+
+ //char *p = "jyh:abcdefghijklmnop";
+ unsigned char i,len;
+ len = strlen(rstbuf);
+ //printf(rstbuf);
+ for(i =0;i 0x39)
+ highByte -= 0x37;
+ else
+ highByte -= 0x30;
+
+ if (lowByte > 0x39)
+ lowByte -= 0x37;
+ else
+ lowByte -= 0x30;
+
+ dest[i/2] = (highByte << 4) | lowByte;
+ }
+ return ;
+}
+
+//×Ö½ÚÁ÷ת»»ÎªÊ®Áù½øÖÆ×Ö·û´®
+void ByteToHexStr(const unsigned char* source, char* dest, int sourceLen)
+{
+ short i;
+ unsigned char highByte, lowByte;
+
+ for (i = 0; i < sourceLen; i++)
+ {
+ highByte = source[i] >> 4;
+ lowByte = source[i] & 0x0f ;
+
+ highByte += 0x30;
+ if (highByte > 0x39)
+ dest[i * 2] = highByte + 0x07;
+ else
+ dest[i * 2] = highByte;
+
+ lowByte += 0x30;
+ if (lowByte > 0x39)
+ dest[i * 2 + 1] = lowByte + 0x07;
+ else
+ dest[i * 2 + 1] = lowByte;
+ }
+ return ;
+}
+
+
+//×Ö½ÚÁ÷ת»»ÎªÊ®Áù½øÖÆ×Ö·û´®µÄÁíÒ»ÖÖʵÏÖ·½Ê½
+void Hex2Str( const char *sSrc, char *sDest, int nSrcLen )
+{
+ int i;
+ char szTmp[3];
+
+ for( i = 0; i < nSrcLen; i++ )
+ {
+ sprintf( szTmp, "%02X", (unsigned char) sSrc[i] );
+ memcpy( &sDest[i * 2], szTmp, 2 );
+ }
+ return ;
+}
+//½«×Ö·û´®×ª»»ÎªÊ®½øÖÆÈýÖÖ·½·¨µÄ´úÂ룺
+int Myatoi(char *buf)
+{
+ int result = 0;
+ char ch;
+ while((ch = *(buf++)) != '\0')
+ {
+ result = result*10 + ch-'0';
+ }
+ return result;
+}
+
+//½«Ê®½øÖÆ×ª³É×Ö·û´®
+char * Myitoa(int val)
+{
+ static char szTmp[4];
+ memset(szTmp,0,4);
+ sprintf(szTmp, "%02d", val );
+ return szTmp;
+}
+
+
+/****************************************************************************
+º¯ÊýÃû³Æ: str_to_hex
+º¯Êý¹¦ÄÜ: ×Ö·û´®×ª»»ÎªÊ®Áù½øÖÆ
+ÊäÈë²ÎÊý: string ×Ö·û´® cbuf Ê®Áù½øÖÆ len ×Ö·û´®µÄ³¤¶È¡£
+Êä³ö²ÎÊý: ÎÞ
+*****************************************************************************/
+int str_to_hex(char *string, unsigned char *cbuf, int len)
+{
+ unsigned char high, low;
+ int idx, ii=0;
+ for (idx=0; idx='0' && high<='9')
+ high = high-'0';
+ else if(high>='A' && high<='F')
+ high = high - 'A' + 10;
+ else if(high>='a' && high<='f')
+ high = high - 'a' + 10;
+ else
+ return -1;
+
+ if(low>='0' && low<='9')
+ low = low-'0';
+ else if(low>='A' && low<='F')
+ low = low - 'A' + 10;
+ else if(low>='a' && low<='f')
+ low = low - 'a' + 10;
+ else
+ return -1;
+
+ cbuf[ii++] = high<<4 | low;
+ }
+ return 0;
+}
+
+
+/****************************************************************************
+º¯ÊýÃû³Æ: hex_to_str
+º¯Êý¹¦ÄÜ: Ê®Áù½øÖÆ×ª×Ö·û´® 0->30 1->31
+ÊäÈë²ÎÊý: ptr ×Ö·û´® buf Ê®Áù½øÖÆ len Ê®Áù½øÖÆ×Ö·û´®µÄ³¤¶È¡£
+Êä³ö²ÎÊý: ÎÞ
+*****************************************************************************/
+void hex_to_str(char *ptr,unsigned char *buf,int len)
+{
+ for(int i = 0; i < len; i++)
+ {
+ sprintf(ptr, "%02x",buf[i]);
+ ptr += 2;
+ }
+}
+
+
+/****************************************************************************
+º¯ÊýÃû³Æ: hexstr_to_byte
+º¯Êý¹¦ÄÜ: Ê®Áù½øÖÆ×Ö·û´®×ª×Ö½ÚÊý×Ö
+*****************************************************************************/
+int hexstr_to_byte(const unsigned char* source)
+{
+ int i=0,ret=0;
+ char dest[2];
+
+ for(i=0;i<2;i++)
+ {
+ dest[i]=source[i]-'0';
+ if((dest[i] < 0) || (dest[i] > 54))
+ return 0;
+ if((dest[i]> 9) && (dest[i]< 23)) //A~F
+ dest[i] -= 7;
+ else if((dest[i]> 48) && (dest[i]<55)) //a~f
+ dest[i] -= 39;
+// printf("dest[%d]:%d\r\n",i,dest[i]);
+ }
+ ret = dest[0]*16+dest[1];
+
+ return ret;
+
+}
+
+/****************************************************************************
+º¯ÊýÃû³Æ: decstr_to_int
+º¯Êý¹¦ÄÜ: Ê®½øÖÆ×Ö·û´®×ªÕûÐÍ
+*****************************************************************************/
+int decstr_to_int(const unsigned char* src)
+{
+ int i=0,ret=0;
+ int len = strlen(src);
+ for(i=0;i '9'))
+ return -1;
+ ret =ret*10+(src[i]-'0');
+ }
+
+ return ret;
+}
+
+
+
+/****************************************************************************
+src Ô´×Ö·û´®µÄÊ×µØÖ·(bufµÄµØÖ·)
+separator Ö¸¶¨µÄ·Ö¸î×Ö·û
+dest ½ÓÊÕ×Ó×Ö·û´®µÄÊý×é
+num ·Ö¸îºó×Ó×Ö·û´®µÄ¸öÊý
+*****************************************************************************/
+void split(char *src,const char *separator,char **dest,int *num) {
+
+ char *pNext;
+ int count = 0;
+ if (src == NULL || strlen(src) == 0) //Èç¹û´«ÈëµÄµØÖ·Îª¿Õ»ò³¤¶ÈΪ0£¬Ö±½ÓÖÕÖ¹
+ return;
+ if (separator == NULL || strlen(separator) == 0) //Èçδָ¶¨·Ö¸îµÄ×Ö·û´®£¬Ö±½ÓÖÕÖ¹
+ return;
+ pNext = (char *)strtok(src,separator); //±ØÐëʹÓÃ(char *)½øÐÐÇ¿ÖÆÀàÐÍת»»(ËäÈ»²»Ð´ÓеıàÒëÆ÷Öв»»á³öÏÖÖ¸Õë´íÎó)
+ while(pNext != NULL) {
+ if(dest)
+ *dest++ = pNext;
+ ++count;
+ pNext = (char *)strtok(NULL,separator); //±ØÐëʹÓÃ(char *)½øÐÐÇ¿ÖÆÀàÐÍת»»
+ }
+ if(num)
+ *num = count;
+}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/BSP/Src/sdmmc.c b/board/BDW01-STM32L496VG/BSP/Src/sdmmc.c
new file mode 100644
index 00000000..1834da63
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/sdmmc.c
@@ -0,0 +1,119 @@
+/**
+ ******************************************************************************
+ * File Name : SDMMC.c
+ * Description : This file provides code for the configuration
+ * of the SDMMC instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "sdmmc.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+SD_HandleTypeDef hsd1;
+
+
+/* SDMMC1 init function */
+
+void MX_SDMMC1_SD_Init(void)
+{
+
+ hsd1.Instance = SDMMC1;
+ hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
+ hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
+ hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
+ hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B;
+ hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
+ hsd1.Init.ClockDiv = 0;
+ if (HAL_SD_Init(&hsd1) != HAL_OK)
+ {
+// Error_Handler();
+ printf("HAL_SD_Init error\n");
+ }
+
+}
+
+void HAL_SD_MspInit(SD_HandleTypeDef* sdHandle)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
+ if(sdHandle->Instance==SDMMC1)
+ {
+ /* USER CODE BEGIN SDMMC1_MspInit 0 */
+
+ /* USER CODE END SDMMC1_MspInit 0 */
+ /* SDMMC1 clock enable */
+ __HAL_RCC_SDMMC1_CLK_ENABLE();
+
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+ /**SDMMC1 GPIO Configuration
+ PC8 ------> SDMMC1_D0
+ PC12 ------> SDMMC1_CK
+ PD2 ------> SDMMC1_CMD
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_12;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ GPIO_InitStruct.Pin = GPIO_PIN_2;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN SDMMC1_MspInit 1 */
+
+ /* USER CODE END SDMMC1_MspInit 1 */
+ }
+}
+
+void HAL_SD_MspDeInit(SD_HandleTypeDef* sdHandle)
+{
+
+ if(sdHandle->Instance==SDMMC1)
+ {
+ /* USER CODE BEGIN SDMMC1_MspDeInit 0 */
+
+ /* USER CODE END SDMMC1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_SDMMC1_CLK_DISABLE();
+
+ /**SDMMC1 GPIO Configuration
+ PC8 ------> SDMMC1_D0
+ PC12 ------> SDMMC1_CK
+ PD2 ------> SDMMC1_CMD
+ */
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8|GPIO_PIN_12);
+
+ HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2);
+
+ /* USER CODE BEGIN SDMMC1_MspDeInit 1 */
+
+ /* USER CODE END SDMMC1_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/stm32l4xx_hal_msp.c b/board/BDW01-STM32L496VG/BSP/Src/stm32l4xx_hal_msp.c
new file mode 100644
index 00000000..ee19cf2c
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/stm32l4xx_hal_msp.c
@@ -0,0 +1,100 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * File Name : stm32f1xx_hal_msp.c
+ * Description : This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN Define */
+
+/* USER CODE END Define */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN Macro */
+
+/* USER CODE END Macro */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* External functions --------------------------------------------------------*/
+/* USER CODE BEGIN ExternalFunctions */
+
+/* USER CODE END ExternalFunctions */
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+/**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ __HAL_RCC_PWR_CLK_ENABLE();
+
+ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
+
+ /* System interrupt init*/
+ /* MemoryManagement_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(MemoryManagement_IRQn, 0, 0);
+ /* BusFault_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(BusFault_IRQn, 0, 0);
+ /* UsageFault_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(UsageFault_IRQn, 0, 0);
+ /* SVCall_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(SVCall_IRQn, 0, 0);
+ /* DebugMonitor_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(DebugMonitor_IRQn, 0, 0);
+ /* PendSV_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(PendSV_IRQn, 0, 0);
+ /* SysTick_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/stm32l4xx_it.c b/board/BDW01-STM32L496VG/BSP/Src/stm32l4xx_it.c
new file mode 100644
index 00000000..a9d14c89
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/stm32l4xx_it.c
@@ -0,0 +1,312 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32f1xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+#include "stm32l4xx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+#include "tos_k.h"
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+//#define USE_WIFI
+//#define USE_ROLA
+//#define USE_2G
+//#define USE_GPS
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+extern UART_HandleTypeDef huart1;
+extern UART_HandleTypeDef huart2;
+extern UART_HandleTypeDef huart3;
+extern UART_HandleTypeDef huart4;
+extern UART_HandleTypeDef hlpuart1;
+
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex-M3 Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+__weak void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ if(tos_knl_is_running())
+ {
+ tos_knl_irq_enter();
+ tos_tick_handler();
+ tos_knl_irq_leave();
+ }
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32F1xx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32f1xx.s). */
+/******************************************************************************/
+
+/**
+ * @brief This function handles USART1 global interrupt.
+ */
+void USART1_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART1_IRQn 0 */
+
+ /* USER CODE END USART1_IRQn 0 */
+ HAL_UART_IRQHandler(&huart1);
+ /* USER CODE BEGIN USART1_IRQn 1 */
+
+ /* USER CODE END USART1_IRQn 1 */
+}
+
+/**
+ * @brief This function handles USART2 global interrupt.
+ */
+void USART2_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART2_IRQn 0 */
+
+ /* USER CODE END USART2_IRQn 0 */
+ HAL_UART_IRQHandler(&huart2);
+ /* USER CODE BEGIN USART2_IRQn 1 */
+
+ /* USER CODE END USART2_IRQn 1 */
+}
+
+/**
+ * @brief This function handles USART3 global interrupt.
+ */
+void USART3_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART3_IRQn 0 */
+
+ /* USER CODE END USART3_IRQn 0 */
+ HAL_UART_IRQHandler(&huart3);
+ /* USER CODE BEGIN USART3_IRQn 1 */
+
+ /* USER CODE END USART3_IRQn 1 */
+}
+
+/**
+ * @brief This function handles USART4 global interrupt.
+ */
+void USART4_IRQHandler(void)
+{
+ /* USER CODE BEGIN USART4_IRQn 0 */
+
+ /* USER CODE END USART4_IRQn 0 */
+ HAL_UART_IRQHandler(&huart4);
+ /* USER CODE BEGIN USART4_IRQn 1 */
+
+ /* USER CODE END USART4_IRQn 1 */
+}
+
+/**
+ * @brief This function handles LPUART1 global interrupt.
+ */
+void LPUART1_IRQHandler(void)
+{
+ /* USER CODE BEGIN LPUART1_IRQn 0 */
+
+ /* USER CODE END LPUART1_IRQn 0 */
+ HAL_UART_IRQHandler(&hlpuart1);
+ /* USER CODE BEGIN LPUART1_IRQn 1 */
+
+ /* USER CODE END LPUART1_IRQn 1 */
+}
+
+void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart)
+{
+ extern uint8_t data2;
+ extern uint8_t data3;
+ if (huart->Instance == USART2) {
+ HAL_UART_Receive_IT(&huart2, &data2, 1);
+ #if defined(USE_WIFI)
+ tos_serialwifi_uart_input_byte(data2);
+ #elif defined(USE_ROLA)
+ tos_at_ra06_uart_input_byte(data2);
+ #elif defined(USE_2G)
+ tos_at_uart_input_byte(data2);
+ #endif
+ }
+ else if (huart->Instance == USART3) {
+ HAL_UART_Receive_IT(&huart3, &data3, 1);
+ #if defined(USE_GPS)
+ tos_at_gps_uart_input_byte(data3);
+ #endif
+ }
+}
+
+
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/sys.c b/board/BDW01-STM32L496VG/BSP/Src/sys.c
new file mode 100644
index 00000000..bd913a81
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/sys.c
@@ -0,0 +1,41 @@
+/**
+ ******************************************************************************
+ * File Name : SYS.c
+ * Description : This file provides code for the configuration
+ * of the SYS instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "sys.h"
+
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* SYS init function */
+void MX_SYS_Init(void)
+{
+
+ /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
+ */
+ __HAL_AFIO_REMAP_SWJ_NOJTAG();
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/system_stm32l4xx.c b/board/BDW01-STM32L496VG/BSP/Src/system_stm32l4xx.c
new file mode 100644
index 00000000..26bd5179
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/system_stm32l4xx.c
@@ -0,0 +1,337 @@
+/**
+ ******************************************************************************
+ * @file system_stm32l4xx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32l4xx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32l4xx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32l4xx_system
+ * @{
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32l4xx.h"
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Defines
+ * @{
+ */
+
+/************************* Miscellaneous Configuration ************************/
+/*!< Uncomment the following line if you need to relocate your vector Table in
+ Internal SRAM. */
+/* #define VECT_TAB_SRAM */
+#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+/******************************************************************************/
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Variables
+ * @{
+ */
+ /* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000U;
+
+ const uint8_t AHBPrescTable[16] = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U};
+ const uint8_t APBPrescTable[8] = {0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U};
+ const uint32_t MSIRangeTable[12] = {100000U, 200000U, 400000U, 800000U, 1000000U, 2000000U, \
+ 4000000U, 8000000U, 16000000U, 24000000U, 32000000U, 48000000U};
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @param None
+ * @retval None
+ */
+
+void SystemInit(void)
+{
+ /* FPU settings ------------------------------------------------------------*/
+ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
+ #endif
+
+ /* Reset the RCC clock configuration to the default reset state ------------*/
+ /* Set MSION bit */
+ RCC->CR |= RCC_CR_MSION;
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00000000U;
+
+ /* Reset HSEON, CSSON , HSION, and PLLON bits */
+ RCC->CR &= 0xEAF6FFFFU;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x00001000U;
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000U;
+
+ /* Configure the Vector Table location add offset address ------------------*/
+#ifdef VECT_TAB_SRAM
+ SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
+#else
+ SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
+#endif
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp = 0U, msirange = 0U, pllvco = 0U, pllr = 2U, pllsource = 0U, pllm = 2U;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+ if((RCC->CR & RCC_CR_MSIRGSEL) == RESET)
+ { /* MSISRANGE from RCC_CSR applies */
+ msirange = (RCC->CSR & RCC_CSR_MSISRANGE) >> 8U;
+ }
+ else
+ { /* MSIRANGE from RCC_CR applies */
+ msirange = (RCC->CR & RCC_CR_MSIRANGE) >> 4U;
+ }
+ /*MSI frequency range in HZ*/
+ msirange = MSIRangeTable[msirange];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> 4U) + 1U ;
+
+ switch (pllsource)
+ {
+ case 0x02: /* HSI used as PLL clock source */
+ pllvco = (HSI_VALUE / pllm);
+ break;
+
+ case 0x03: /* HSE used as PLL clock source */
+ pllvco = (HSE_VALUE / pllm);
+ break;
+
+ default: /* MSI used as PLL clock source */
+ pllvco = (msirange / pllm);
+ break;
+ }
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 8U);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> 25U) + 1U) * 2U;
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)];
+ /* HCLK clock frequency */
+ SystemCoreClock >>= tmp;
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/tos_at_gps.c b/board/BDW01-STM32L496VG/BSP/Src/tos_at_gps.c
new file mode 100644
index 00000000..2766ff44
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/tos_at_gps.c
@@ -0,0 +1,386 @@
+/*----------------------------------------------------------------------------
+ * Tencent is pleased to support the open source community by making TencentOS
+ * available.
+ *
+ * Copyright (C) 2019 THL A29 Limited, a Tencent company. All rights reserved.
+ * If you have downloaded a copy of the TencentOS binary from Tencent, please
+ * note that the TencentOS binary is licensed under the BSD 3-Clause License.
+ *
+ * If you have downloaded a copy of the TencentOS source code from Tencent,
+ * please note that TencentOS source code is licensed under the BSD 3-Clause
+ * License, except for the third-party components listed below which are
+ * subject to different license terms. Your integration of TencentOS into your
+ * own projects may require compliance with the BSD 3-Clause License, as well
+ * as the other licenses applicable to the third-party components included
+ * within TencentOS.
+ *---------------------------------------------------------------------------*/
+
+#include "tos_at_gps.h"
+
+__STATIC__ at_agent_t at_agent;
+
+__STATIC__ k_stack_t at_parser_task_stack[AT_PARSER_TASK_STACK_SIZE];
+
+
+__STATIC__ int at_getchar(void)
+{
+ uint8_t chr;
+ k_err_t err;
+
+ if (tos_sem_pend(&AT_AGENT->at_rx_sem, TOS_TIME_FOREVER) != K_ERR_NONE) {
+ return -1;
+ }
+
+ err = tos_chr_fifo_pop(&AT_AGENT->at_rx_fifo, &chr);
+
+ return err == K_ERR_NONE ? chr : -1;
+}
+
+__STATIC__ at_event_t *at_event_do_get(char *buffer, size_t buffer_len)
+{
+ int i = 0;
+ at_event_t *event_table = K_NULL, *event = K_NULL;
+ size_t event_table_size = 0, event_len;
+
+ event_table = AT_AGENT->event_table;
+ event_table_size = AT_AGENT->event_table_size;
+
+ for (i = 0; i < event_table_size; ++i) {
+ event = &event_table[i];
+ event_len = strlen(event->event_header);
+
+ if (buffer_len < event_len) {
+ continue;
+ }
+
+ if (strncmp(event->event_header, buffer, event_len) == 0) {
+ return event;
+ }
+ }
+
+ return K_NULL;
+}
+
+__STATIC__ at_event_t *at_get_event(void)
+{
+ char *buffer;
+ size_t buffer_len;
+
+ buffer = AT_AGENT->cmd_buffer;
+ buffer_len = strlen(AT_AGENT->cmd_buffer);
+
+ return at_event_do_get(buffer, buffer_len);
+}
+
+__STATIC__ int at_readline(void)
+{
+ int chr, last_chr = 0;
+ at_event_t *at_event = K_NULL;
+ char *buf = AT_AGENT->cmd_buffer;
+
+ while (K_TRUE) {
+ if (buf - AT_AGENT->cmd_buffer >= (AT_AGENT->cmd_buffer_size - 1)) {
+ return -1;
+ }
+
+ chr = at_getchar();
+ if (chr < 0) {
+ return -1;
+ }
+
+ if (chr == '\n' && last_chr == '\r') {
+ *--buf = '\0';
+// tos_kprintln(AT_AGENT->cmd_buffer);
+
+ at_event = at_get_event();
+ if (at_event && at_event->event_callback) {
+ at_event->event_callback(AT_AGENT->cmd_buffer);
+ }
+ return 0;
+ } else if (chr == '\n') {
+ *buf = '\0';
+ return 0;
+ }
+
+ *buf++ = chr;
+ last_chr = chr;
+ }
+}
+
+
+__STATIC__ void at_parser(void *arg)
+{
+ while (K_TRUE) {
+ at_readline();
+ }
+}
+
+__STATIC__ at_data_channel_t *at_channel_get(int channel_id, int is_alloc)
+{
+ /*
+ if is_alloc is K_TRUE, means we are allocating a channel with certain id,
+ data_channel[channel_id] must be free if return none K_NULL.
+ otherwise if is_alloc is K_FALSE, means we are trying to get a channel with
+ certain id, data_channel[channel_id] must be not free if return none K_NULL.
+ */
+ at_data_channel_t *data_channel = K_NULL;
+
+ if (channel_id < 0 || channel_id >= AT_DATA_CHANNEL_NUM) {
+ return K_NULL;
+ }
+
+ data_channel = &AT_AGENT->data_channel[channel_id];
+
+ if (is_alloc && data_channel->is_free) {
+ return data_channel;
+ }
+
+ if (!is_alloc && !data_channel->is_free) {
+ return data_channel;
+ }
+
+ return K_NULL;
+}
+
+
+__API__ int tos_at_gps_channel_read(int channel_id, uint8_t *buffer, size_t buffer_len)
+{
+ int read_len;
+ size_t total_read_len = 0;
+ at_data_channel_t *data_channel = K_NULL;
+
+// printf("===\n");
+
+ data_channel = at_channel_get(channel_id, K_FALSE);
+ if (!data_channel || data_channel->status == AT_CHANNEL_STATUS_BROKEN) {
+ return -1;
+ }
+
+// printf("==9\n");
+ if (tos_mutex_pend(&data_channel->rx_lock) != K_ERR_NONE) {
+ return total_read_len;
+ }
+// printf("==8\n");
+ read_len = tos_chr_fifo_pop_stream(&data_channel->rx_fifo, buffer, buffer_len);
+
+ tos_mutex_post(&data_channel->rx_lock);
+
+ total_read_len += read_len;
+ return total_read_len;
+
+}
+
+
+__API__ int tos_at_gps_channel_write(int channel_id, uint8_t *buffer, size_t buffer_len)
+{
+ int ret;
+ at_data_channel_t *data_channel = K_NULL;
+// printf("++\n");
+ data_channel = at_channel_get(channel_id, K_FALSE);
+ if (!data_channel) {
+// printf("+++\n");
+ return -1;
+ }
+
+ if (tos_mutex_pend(&data_channel->rx_lock) != K_ERR_NONE) {
+ return -1;
+ }
+// printf("++9\n");
+ tos_chr_fifo_flush(&data_channel->rx_fifo);
+ ret = tos_chr_fifo_push_stream(&data_channel->rx_fifo, buffer, buffer_len);
+
+ tos_mutex_post(&data_channel->rx_lock);
+
+ return ret;
+}
+
+__STATIC_INLINE__ int at_channel_construct(at_data_channel_t *data_channel)
+{
+ uint8_t *fifo_buffer = K_NULL;
+
+ fifo_buffer = tos_mmheap_alloc(AT_DATA_CHANNEL_FIFO_BUFFER_SIZE);
+ if (!fifo_buffer) {
+ return -1;
+ }
+
+ if (tos_mutex_create(&data_channel->rx_lock) != K_ERR_NONE) {
+ goto errout;
+ }
+
+ data_channel->rx_fifo_buffer = fifo_buffer;
+ tos_chr_fifo_create(&data_channel->rx_fifo, fifo_buffer, AT_DATA_CHANNEL_FIFO_BUFFER_SIZE);
+
+ data_channel->is_free = K_FALSE;
+ data_channel->status = AT_CHANNEL_STATUS_WORKING;
+
+ return 0;
+
+errout:
+ tos_mmheap_free(fifo_buffer);
+ return -1;
+}
+
+
+__API__ int tos_at_gps_channel_alloc(void)
+{
+ int id = 0;
+ at_data_channel_t *data_channel = K_NULL;
+
+ for (id = 0; id < AT_DATA_CHANNEL_NUM; ++id) {
+ data_channel = &AT_AGENT->data_channel[id];
+ if (data_channel->is_free) {
+ break;
+ }
+ }
+
+ if (id == AT_DATA_CHANNEL_NUM || !data_channel) {
+ return -1;
+ }
+
+ if (at_channel_construct(data_channel) != 0) {
+ return -1;
+ }
+
+ return id;
+}
+
+__API__ int tos_at_gps_channel_free(int channel_id)
+{
+ at_data_channel_t *data_channel = K_NULL;
+
+ data_channel = at_channel_get(channel_id, K_FALSE);
+ if (!data_channel) {
+ return -1;
+ }
+
+ tos_mutex_destroy(&data_channel->rx_lock);
+
+ tos_mmheap_free(data_channel->rx_fifo_buffer);
+ tos_chr_fifo_destroy(&data_channel->rx_fifo);
+
+ memset(data_channel, 0, sizeof(at_data_channel_t));
+
+ data_channel->is_free = K_TRUE;
+ data_channel->status = AT_CHANNEL_STATUS_HANGING;
+
+ return 0;
+}
+
+
+__STATIC__ void at_channel_init(void)
+{
+ int i = 0;
+
+ for (i = 0; i < AT_DATA_CHANNEL_NUM; ++i) {
+ memset(&AT_AGENT->data_channel[i], 0, sizeof(at_data_channel_t));
+ AT_AGENT->data_channel[i].is_free = K_TRUE;
+ AT_AGENT->data_channel[i].status = AT_CHANNEL_STATUS_HANGING;
+ }
+
+ for (i = 0; i < AT_DATA_CHANNEL_NUM; ++i) {
+ tos_at_gps_channel_alloc();
+ }
+}
+
+__STATIC__ void at_channel_deinit(void)
+{
+ int i = 0;
+
+ for (i = 0; i < AT_DATA_CHANNEL_NUM; ++i) {
+ tos_at_gps_channel_free(i);
+ }
+}
+
+
+__STATIC__ void at_event_table_set(at_event_t *event_table, size_t event_table_size)
+{
+ AT_AGENT->event_table = event_table;
+ AT_AGENT->event_table_size = event_table_size;
+}
+
+
+__API__ int tos_at_gps_init(hal_uart_port_t uart_port, at_event_t *event_table, size_t event_table_size)
+{
+ void *buffer = K_NULL;
+
+ memset(AT_AGENT, 0, sizeof(at_agent_t));
+
+ at_event_table_set(event_table, event_table_size);
+
+ at_channel_init();
+
+ buffer = tos_mmheap_alloc(AT_RX_BUFFER_SIZE);
+ if (!buffer) {
+ return -1;
+ }
+
+ AT_AGENT->cmd_buffer = buffer;
+ AT_AGENT->cmd_buffer_size = AT_RX_BUFFER_SIZE;
+
+ buffer = tos_mmheap_alloc(AT_RX_BUFFER_SIZE * 2);
+ if (!buffer) {
+ return -1;
+ }
+
+ AT_AGENT->at_rx_fifo_buffer = (uint8_t *)buffer;
+ tos_chr_fifo_create(&AT_AGENT->at_rx_fifo, buffer, AT_RX_BUFFER_SIZE * 2);
+
+ if (tos_sem_create(&AT_AGENT->at_rx_sem, (k_sem_cnt_t)0u) != K_ERR_NONE) {
+ goto errout0;
+ }
+
+ if (tos_task_create(&AT_AGENT->parser, "at_parser", at_parser,
+ K_NULL, AT_PARSER_TASK_PRIO, at_parser_task_stack,
+ AT_PARSER_TASK_STACK_SIZE, 0) != K_ERR_NONE) {
+ goto errout1;
+ }
+
+ if (tos_hal_uart_init(&AT_AGENT->uart, uart_port) != 0) {
+ goto errout1;
+ }
+
+ return 0;
+
+errout1:
+ tos_sem_destroy(&AT_AGENT->at_rx_sem);
+
+errout0:
+ tos_mmheap_free(AT_AGENT->at_rx_fifo_buffer);
+ AT_AGENT->at_rx_fifo_buffer = K_NULL;
+ tos_chr_fifo_destroy(&AT_AGENT->at_rx_fifo);
+
+ return -1;
+}
+
+__API__ void tos_at_gps_deinit(void)
+{
+ tos_task_destroy(&AT_AGENT->parser);
+ tos_sem_destroy(&AT_AGENT->at_rx_sem);
+ tos_hal_uart_deinit(&AT_AGENT->uart);
+
+ tos_mmheap_free(AT_AGENT->at_rx_fifo_buffer);
+ AT_AGENT->at_rx_fifo_buffer = K_NULL;
+ tos_chr_fifo_destroy(&AT_AGENT->at_rx_fifo);
+
+ at_channel_deinit();
+}
+
+__API__ void tos_at_gps_send(const char *format, ...)
+{
+ va_list args;
+ size_t cmd_len = 0;
+ static char buffer[AT_OUTPUT_MAX];
+
+ va_start(args, format);
+ cmd_len =vsnprintf(buffer, sizeof(buffer), format, args);
+ va_end(args);
+ tos_hal_uart_write(&AT_AGENT->uart, buffer, cmd_len, 0xFFFF);
+}
+
+__API__ void tos_at_gps_uart_input_byte(uint8_t data)
+{
+ if (tos_chr_fifo_push(&AT_AGENT->at_rx_fifo, data) == K_ERR_NONE) {
+ tos_sem_post(&AT_AGENT->at_rx_sem);
+ }
+}
+
diff --git a/board/BDW01-STM32L496VG/BSP/Src/usart.c b/board/BDW01-STM32L496VG/BSP/Src/usart.c
new file mode 100644
index 00000000..f7384f1a
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/usart.c
@@ -0,0 +1,374 @@
+/**
+ ******************************************************************************
+ * File Name : USART.c
+ * Description : This file provides code for the configuration
+ * of the USART instances.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "usart.h"
+
+/* USER CODE BEGIN 0 */
+uint8_t data2;
+uint8_t data3;
+uint8_t data4;
+uint8_t datal1;
+/* USER CODE END 0 */
+
+UART_HandleTypeDef huart1;
+UART_HandleTypeDef huart2;
+UART_HandleTypeDef huart3;
+UART_HandleTypeDef huart4;
+UART_HandleTypeDef hlpuart1;
+
+/* USART1 init function */
+
+void MX_USART1_UART_Init(void)
+{
+
+ huart1.Instance = USART1;
+ huart1.Init.BaudRate = 115200;
+ huart1.Init.WordLength = UART_WORDLENGTH_8B;
+ huart1.Init.StopBits = UART_STOPBITS_1;
+ huart1.Init.Parity = UART_PARITY_NONE;
+ huart1.Init.Mode = UART_MODE_TX_RX;
+ huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart1.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart1) != HAL_OK)
+ {
+ Error_Handler();
+ }
+
+}
+/* USART2 init function */
+
+void MX_USART2_UART_Init(void)
+{
+
+ huart2.Instance = USART2;
+ huart2.Init.BaudRate = 57600;
+ huart2.Init.WordLength = UART_WORDLENGTH_8B;
+ huart2.Init.StopBits = UART_STOPBITS_1;
+ huart2.Init.Parity = UART_PARITY_NONE;
+ huart2.Init.Mode = UART_MODE_TX_RX;
+ huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart2.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart2) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ HAL_UART_Receive_IT(&huart2, &data2, 1);
+
+}
+/* USART3 init function */
+
+void MX_USART3_UART_Init(void)
+{
+
+ huart3.Instance = USART3;
+ huart3.Init.BaudRate = 9600;
+ huart3.Init.WordLength = UART_WORDLENGTH_8B;
+ huart3.Init.StopBits = UART_STOPBITS_1;
+ huart3.Init.Parity = UART_PARITY_NONE;
+ huart3.Init.Mode = UART_MODE_TX_RX;
+ huart3.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart3.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart3.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart3.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart3) != HAL_OK)
+ {
+ Error_Handler();
+ }
+ HAL_UART_Receive_IT(&huart3, &data3, 1);
+}
+
+/* UART4 init function */
+void MX_UART4_Init(void)
+{
+
+ huart4.Instance = UART4;
+ huart4.Init.BaudRate = 115200;
+ huart4.Init.WordLength = UART_WORDLENGTH_8B;
+ huart4.Init.StopBits = UART_STOPBITS_1;
+ huart4.Init.Parity = UART_PARITY_NONE;
+ huart4.Init.Mode = UART_MODE_TX_RX;
+ huart4.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart4.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart4.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart4.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart4) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+ HAL_UART_Receive_IT(&huart4, &data4, 1);
+}
+
+/* LPUART1 init function */
+void MX_LPUART1_UART_Init(void)
+{
+
+ hlpuart1.Instance = LPUART1;
+ hlpuart1.Init.BaudRate = 209700;
+ hlpuart1.Init.WordLength = UART_WORDLENGTH_7B;
+ hlpuart1.Init.StopBits = UART_STOPBITS_1;
+ hlpuart1.Init.Parity = UART_PARITY_NONE;
+ hlpuart1.Init.Mode = UART_MODE_TX_RX;
+ hlpuart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ hlpuart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ hlpuart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&hlpuart1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+ HAL_UART_Receive_IT(&hlpuart1, &datal1, 1);
+}
+
+void HAL_UART_MspInit(UART_HandleTypeDef* huart)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct;
+ if(huart->Instance==LPUART1)
+ {
+ /* USER CODE BEGIN LPUART1_MspInit 0 */
+
+ /* USER CODE END LPUART1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_LPUART1_CLK_ENABLE();
+
+ /**LPUART1 GPIO Configuration
+ PB10 ------> LPUART1_RX
+ PB11 ------> LPUART1_TX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_11;
+ 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_LPUART1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN LPUART1_MspInit 1 */
+
+ /* USER CODE END LPUART1_MspInit 1 */
+ }
+ else if(huart->Instance==UART4)
+ {
+ /* USER CODE BEGIN UART4_MspInit 0 */
+
+ /* USER CODE END UART4_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_UART4_CLK_ENABLE();
+
+ /**UART4 GPIO Configuration
+ PA0 ------> UART4_TX
+ PA1 ------> UART4_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_0|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);
+
+ /* USER CODE BEGIN UART4_MspInit 1 */
+
+ /* USER CODE END UART4_MspInit 1 */
+ }
+ else if(huart->Instance==USART1)
+ {
+ /* USER CODE BEGIN USART1_MspInit 0 */
+
+ /* USER CODE END USART1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_USART1_CLK_ENABLE();
+
+ /**USART1 GPIO Configuration
+ PB6 ------> USART1_TX
+ PB7 ------> USART1_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN USART1_MspInit 1 */
+
+ /* USER CODE END USART1_MspInit 1 */
+ }
+ else if(huart->Instance==USART2)
+ {
+ /* USER CODE BEGIN USART2_MspInit 0 */
+
+ /* USER CODE END USART2_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_USART2_CLK_ENABLE();
+
+ /**USART2 GPIO Configuration
+ PA2 ------> USART2_TX
+ PA3 ------> USART2_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /* USART2 interrupt Init */
+ HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USART2_IRQn);
+ /* USER CODE BEGIN USART2_MspInit 1 */
+
+ /* USER CODE END USART2_MspInit 1 */
+ }
+ else if(huart->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspInit 0 */
+
+ /* USER CODE END USART3_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_USART3_CLK_ENABLE();
+
+ /**USART3 GPIO Configuration
+ PC4 ------> USART3_TX
+ PC5 ------> USART3_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
+ HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
+
+ /* USART3 interrupt Init */
+ HAL_NVIC_SetPriority(USART3_IRQn, 0, 0);
+ HAL_NVIC_EnableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspInit 1 */
+
+ /* USER CODE END USART3_MspInit 1 */
+ }
+
+}
+
+void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
+{
+
+ if(huart->Instance==LPUART1)
+ {
+ /* USER CODE BEGIN LPUART1_MspDeInit 0 */
+
+ /* USER CODE END LPUART1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_LPUART1_CLK_DISABLE();
+
+ /**LPUART1 GPIO Configuration
+ PB10 ------> LPUART1_RX
+ PB11 ------> LPUART1_TX
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_11);
+
+ /* USER CODE BEGIN LPUART1_MspDeInit 1 */
+
+ /* USER CODE END LPUART1_MspDeInit 1 */
+ }
+ else if(huart->Instance==UART4)
+ {
+ /* USER CODE BEGIN UART4_MspDeInit 0 */
+
+ /* USER CODE END UART4_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_UART4_CLK_DISABLE();
+
+ /**UART4 GPIO Configuration
+ PA0 ------> UART4_TX
+ PA1 ------> UART4_RX
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_0|GPIO_PIN_1);
+
+ /* USER CODE BEGIN UART4_MspDeInit 1 */
+
+ /* USER CODE END UART4_MspDeInit 1 */
+ }
+ else if(huart->Instance==USART1)
+ {
+ /* USER CODE BEGIN USART1_MspDeInit 0 */
+
+ /* USER CODE END USART1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART1_CLK_DISABLE();
+
+ /**USART1 GPIO Configuration
+ PB6 ------> USART1_TX
+ PB7 ------> USART1_RX
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7);
+
+ /* USER CODE BEGIN USART1_MspDeInit 1 */
+
+ /* USER CODE END USART1_MspDeInit 1 */
+ }
+ else if(huart->Instance==USART2)
+ {
+ /* USER CODE BEGIN USART2_MspDeInit 0 */
+
+ /* USER CODE END USART2_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART2_CLK_DISABLE();
+
+ /**USART2 GPIO Configuration
+ PA2 ------> USART2_TX
+ PA3 ------> USART2_RX
+ */
+ HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
+
+ /* USART2 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(USART2_IRQn);
+ /* USER CODE BEGIN USART2_MspDeInit 1 */
+
+ /* USER CODE END USART2_MspDeInit 1 */
+ }
+ else if(huart->Instance==USART3)
+ {
+ /* USER CODE BEGIN USART3_MspDeInit 0 */
+
+ /* USER CODE END USART3_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART3_CLK_DISABLE();
+
+ /**USART3 GPIO Configuration
+ PC4 ------> USART3_TX
+ PC5 ------> USART3_RX
+ */
+ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_4|GPIO_PIN_5);
+
+ /* USART3 interrupt DeInit */
+ HAL_NVIC_DisableIRQ(USART3_IRQn);
+ /* USER CODE BEGIN USART3_MspDeInit 1 */
+
+ /* USER CODE END USART3_MspDeInit 1 */
+ }
+
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/BSP/Src/user_usb_uart.c b/board/BDW01-STM32L496VG/BSP/Src/user_usb_uart.c
new file mode 100644
index 00000000..5f04b1cf
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/Src/user_usb_uart.c
@@ -0,0 +1,77 @@
+
+#include
+#include
+
+#include "user_usb_uart.h"
+#include "usb_host.h"
+#include "usbh_cdc.h"
+
+uint8_t da_flag =0;
+
+uint8_t aUsbRxBuffer[MAX_USBRX_BUFFER_LENGTH];
+uint8_t bUsbRxBuffer[CUSB_BUFFER_NUMBER][MAX_USBRX_BUFFER_LENGTH+1];
+uint8_t bUsbBufLength[CUSB_BUFFER_NUMBER];
+
+uint8_t CurrentUsbBufNumPoint = 0;
+
+extern USBH_HandleTypeDef hUsbHostFS;
+extern uint8_t Recv_buf[MAX_USBRX_BUFFER_LENGTH];
+
+
+void Usb_Buff_Init(void)
+{
+ for(int ti=0; ti< CUSB_BUFFER_NUMBER; ti++)
+ {
+ bUsbBufLength[ti] = 0;
+ memset(bUsbRxBuffer[ti],0,sizeof(bUsbRxBuffer[ti]));
+ }
+}
+
+uint8_t ReadUsbBuffData(uint8_t *dBuffer, uint8_t len)
+{
+ uint8_t buflen =0;
+ if(bUsbBufLength[CurrentUsbBufNumPoint]>0)
+ {
+ memset(dBuffer,0,len);
+ buflen = bUsbBufLength[CurrentUsbBufNumPoint];
+ memcpy(dBuffer,(const char *)bUsbRxBuffer[CurrentUsbBufNumPoint],buflen);
+ memset(bUsbRxBuffer[CurrentUsbBufNumPoint],0,sizeof(bUsbRxBuffer[CurrentUsbBufNumPoint]));
+ bUsbBufLength[CurrentUsbBufNumPoint] = 0;
+ CurrentUsbBufNumPoint++;
+ if(CurrentUsbBufNumPoint >= CUSB_BUFFER_NUMBER)
+ CurrentUsbBufNumPoint = 0;
+ }
+ return buflen;
+}
+//
+void Check_empty_buffer()
+{
+ uint8_t i;
+ for(i=0;i0)
+ {
+ CurrentUsbBufNumPoint++;
+ if(CurrentUsbBufNumPoint >= CUSB_BUFFER_NUMBER)
+ CurrentUsbBufNumPoint=0;
+ }
+ else
+ break;
+ }
+}
+//
+void USBH_CDC_ReceiveCallback(USBH_HandleTypeDef *phost)
+{
+ uint32_t i,rec_len=0;
+ USBH_CDC_GetLastReceivedDataSize(phost);
+ rec_len = strlen(aUsbRxBuffer);
+ if(rec_len>0)
+ {
+ Check_empty_buffer();
+ memcpy(bUsbRxBuffer[CurrentUsbBufNumPoint],aUsbRxBuffer,rec_len);
+ bUsbBufLength[CurrentUsbBufNumPoint] = rec_len;
+ memset(aUsbRxBuffer,0,sizeof(aUsbRxBuffer));
+ }
+}
+
+
diff --git a/board/BDW01-STM32L496VG/BSP/app/mqttclient_iot_explorer.c b/board/BDW01-STM32L496VG/BSP/app/mqttclient_iot_explorer.c
new file mode 100644
index 00000000..372b308a
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/app/mqttclient_iot_explorer.c
@@ -0,0 +1,200 @@
+#include "stm32l4xx_hal.h"
+#include "mcu_init.h"
+#include "tos_k.h"
+#include "mqttclient.h"
+#include "cjson.h"
+#include "sal_module_wrapper.h"
+
+
+
+//#define USE_ESP8266
+//#define USE_NB_BC35
+//#define USE_BC26
+//#define USE_EC200S
+#define USE_M5313
+
+
+#if defined(USE_ESP8266)
+#include "esp8266.h"
+#elif defined(USE_BC26)
+#include "bc26.h"
+#elif defined(USE_EC200S)
+#include "ec200s.h"
+#elif defined(USE_M5313)
+#include "m5313.h"
+
+#endif
+
+uint8_t module_sel=0; //0---M5313; 1---wifi; 2---BT; 3---Lora
+
+
+#ifdef USE_ESP8266
+static hal_uart_port_t esp8266_port = HAL_UART_PORT_0;
+
+void mqtt_set_esp8266_port(hal_uart_port_t port) {
+ esp8266_port = port;
+}
+#endif
+
+k_event_t report_result_event;
+k_event_flag_t report_success = 1<<0;
+k_event_flag_t report_fail = 1<<1;
+
+static void tos_topic_handler(void* client, message_data_t* msg)
+{
+ (void) client;
+ cJSON* cjson_root = NULL;
+ cJSON* cjson_status = NULL;
+ char* status = NULL;
+ k_event_flag_t event_flag = report_fail;
+
+ /* ´òÓ¡ÈÕÖ¾ */
+ MQTT_LOG_I("-----------------------------------------------------------------------------------");
+ MQTT_LOG_I("%s:%d %s()...\ntopic: %s, qos: %d. \nmessage:\n\t%s\n", __FILE__, __LINE__, __FUNCTION__,
+ msg->topic_name, msg->message->qos, (char*)msg->message->payload);
+ MQTT_LOG_I("-----------------------------------------------------------------------------------\n");
+
+ /* ʹÓÃcjson½âÎöÉϱ¨ÏìÓ¦Êý¾Ý */
+ cjson_root = cJSON_Parse((char*)msg->message->payload);
+ if (cjson_root == NULL) {
+ printf("report reply message parser fail\r\n");
+ event_flag = report_fail;
+ goto exit;
+ }
+
+ /* ÌáÈ¡status״̬ */
+ cjson_status = cJSON_GetObjectItem(cjson_root, "status");
+ status = cJSON_GetStringValue(cjson_status);
+ if (cjson_status == NULL || status == NULL) {
+ printf("report reply status parser fail\r\n");
+ event_flag = report_fail;
+ goto exit;
+ }
+
+ /* ÅжÏstatus״̬ */
+ if (strstr(status,"success")) {
+ event_flag = report_success;
+ }else {
+ event_flag = report_fail;
+ }
+
+exit:
+ cJSON_Delete(cjson_root);
+ cjson_root = NULL;
+ status = NULL;
+
+ tos_event_post(&report_result_event, event_flag);
+
+ return;
+}
+
+#define REPORT_DATA_TEMPLATE "{\"method\":\"report\",\"clientToken\":\"00000001\",\"params\":{\"brightness\":%d,\"name\":\"bedroom\"}}"
+
+char report_buf[200];
+
+void mqttclient_task(void)
+{
+ int error;
+
+ int lightness = 0;
+
+ mqtt_client_t *client = NULL;
+
+ mqtt_message_t msg;
+
+ k_event_flag_t match_flag;
+
+ char host_ip[20];
+
+ memset(&msg, 0, sizeof(msg));
+
+#ifdef USE_ESP8266
+ esp8266_sal_init(esp8266_port);
+ esp8266_join_ap("Supowang", "13975428888");
+#endif
+
+#ifdef USE_NB_BC35
+ int bc35_28_95_sal_init(hal_uart_port_t uart_port);
+ bc35_28_95_sal_init(HAL_UART_PORT_0);
+#endif
+
+#ifdef USE_BC26
+ bc26_sal_init(HAL_UART_PORT_2);
+#endif
+
+#ifdef USE_EC200S
+ ec200s_sal_init(HAL_UART_PORT_2);
+#endif
+
+#ifdef USE_M5313
+ m5313_sal_init(HAL_UART_PORT_2);
+#endif
+
+ mqtt_log_init();
+
+ client = mqtt_lease();
+
+ tos_event_create(&report_result_event, (k_event_flag_t)0u);
+
+ /* Domain Format: .iotcloud.tencentdevices.com */
+ tos_sal_module_parse_domain("S7271EG5D8.iotcloud.tencentdevices.com",host_ip,sizeof(host_ip));
+
+ /*
+ These infomation is generated by mqtt_config_gen.py tool in "TencentOS-tiny\tools" directory.
+ */
+ mqtt_set_port(client, "1883");
+ mqtt_set_host(client, host_ip);
+ mqtt_set_client_id(client, "S7271EG5D8bdw01_led");
+ mqtt_set_user_name(client, "S7271EG5D8bdw01_led;21010406;12365;4294967295");
+ mqtt_set_password(client, "5b5d6b05117634f199e65fb078acbcdabbdda063;hmacsha1");
+ mqtt_set_clean_session(client, 1);
+
+ error = mqtt_connect(client);
+
+ MQTT_LOG_D("mqtt connect error is %#0x", error);
+
+ error = mqtt_subscribe(client, "$thing/down/property/S7271EG5D8/bdw01_led", QOS0, tos_topic_handler);
+
+ MQTT_LOG_D("mqtt subscribe error is %#0x", error);
+
+ while (1) {
+ memset(&msg, 0, sizeof(msg));
+
+ snprintf(report_buf, sizeof(report_buf), REPORT_DATA_TEMPLATE, lightness++);
+
+ if (lightness > 100) {
+ lightness = 0;
+ }
+
+ msg.qos = QOS0;
+ msg.payload = (void *) report_buf;
+
+ error = mqtt_publish(client, "$thing/up/property/S7271EG5D8/bdw01_led", &msg);
+
+ MQTT_LOG_D("mqtt publish error is %#0x", error);
+
+ tos_event_pend(&report_result_event,
+ report_success|report_fail,
+ &match_flag,
+ TOS_TIME_FOREVER,
+ TOS_OPT_EVENT_PEND_ANY | TOS_OPT_EVENT_PEND_CLR);
+
+ if (match_flag == report_success) {
+ printf("report to Tencent IoT Explorer success\r\n");
+
+ }else if (match_flag == report_fail){
+ printf("report to Tencent IoT Explorer fail\r\n");
+ }
+
+ tos_task_delay(5000);
+ }
+}
+
+void application_entry(void *arg)
+{
+ mqttclient_task();
+ while (1) {
+ printf("This is a mqtt demo!\r\n");
+ tos_task_delay(1000);
+ }
+}
diff --git a/board/BDW01-STM32L496VG/BSP/app/mqttclient_iot_explorer_location.c b/board/BDW01-STM32L496VG/BSP/app/mqttclient_iot_explorer_location.c
new file mode 100644
index 00000000..3d9c59da
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/app/mqttclient_iot_explorer_location.c
@@ -0,0 +1,273 @@
+#include "stm32l4xx_hal.h"
+#include "mcu_init.h"
+#include "tos_k.h"
+#include "mqttclient.h"
+#include "cjson.h"
+#include "sal_module_wrapper.h"
+
+
+
+//#define USE_ESP8266
+//#define USE_NB_BC35
+//#define USE_BC26
+//#define USE_EC200S
+#define USE_M5313
+
+
+#if defined(USE_ESP8266)
+#include "esp8266.h"
+#elif defined(USE_BC26)
+#include "bc26.h"
+#elif defined(USE_EC200S)
+#include "ec200s.h"
+#elif defined(USE_M5313)
+#include "m5313.h"
+
+#endif
+
+uint8_t module_sel=0; //0---M5313; 1---wifi; 2---BT; 3---Lora
+
+
+#ifdef USE_ESP8266
+static hal_uart_port_t esp8266_port = HAL_UART_PORT_0;
+
+void mqtt_set_esp8266_port(hal_uart_port_t port) {
+ esp8266_port = port;
+}
+#endif
+
+k_event_t report_result_event;
+k_event_flag_t report_success = 1<<0;
+k_event_flag_t report_fail = 1<<1;
+
+/* ½ÓÊÕÊý¾Ý×î´ó»º´æÌõÊý */
+#define MESSAGE_MAX 5
+
+typedef struct payload_mail_st {
+ void* client;
+ void* payload;
+} payload_mail_t;
+k_mail_q_t mail_q;
+uint8_t mail_pool[MESSAGE_MAX * sizeof(payload_mail_t *)];
+
+#define REPORT_DATA_TEMPLATE "{\"method\":\"report\",\"clientToken\":\"00000001\",\"params\":{\"location\":\"%s\"}}"
+#define CONTROL_REPLY_DATA "{\"method\":\"control_reply\",\"clientToken\":\"%s\",\"code\":0,\"status\":\"success\"}"
+
+char report_buf[1024];
+char reply_buf[200];
+
+
+static void tos_topic_handler(void* client, message_data_t* msg)
+{
+ (void) client;
+ cJSON* cjson_root = NULL;
+ cJSON* cjson_status = NULL;
+ cJSON* cjson_method = NULL;
+ cJSON* cjson_params = NULL;
+ cJSON* cjson_relay_status = NULL;
+ cJSON* cjson_client_token = NULL;
+ int relay_status = 0;
+ char* status = NULL;
+ char* method = NULL;
+ char* client_token = NULL;
+ k_event_flag_t event_flag = report_fail;
+
+ int error;
+ mqtt_message_t reply_msg;
+ payload_mail_t payload_mail;
+
+ /* ´òÓ¡ÈÕÖ¾ */
+ MQTT_LOG_I("-----------------------------------------------------------------------------------");
+ MQTT_LOG_I("%s:%d %s()...\ntopic: %s, qos: %d. \nmessage:\n\t%s\n", __FILE__, __LINE__, __FUNCTION__,
+ msg->topic_name, msg->message->qos, (char*)msg->message->payload);
+ MQTT_LOG_I("-----------------------------------------------------------------------------------\n");
+
+ /* ʹÓÃcjson½âÎöÉϱ¨ÏìÓ¦Êý¾Ý */
+ cjson_root = cJSON_Parse((char*)msg->message->payload);
+ if (cjson_root == NULL) {
+ printf("report reply message parser fail\r\n");
+ event_flag = report_fail;
+ goto exit;
+ }
+
+ /* ÌáÈ¡ÏûÏ¢ÀàÐÍ */
+ cjson_method = cJSON_GetObjectItem(cjson_root, "method");
+ method = cJSON_GetStringValue(cjson_method);
+
+ /* ÅжÏÊÇÄÄÖÖÀàÐ͵ÄÏûÏ¢ */
+ if (strstr(method, "report_reply")) {
+
+ /* ÌáÈ¡status״̬ */
+ cjson_status = cJSON_GetObjectItem(cjson_root, "status");
+ status = cJSON_GetStringValue(cjson_status);
+ if (cjson_status == NULL || status == NULL) {
+ printf("report reply status parser fail\r\n");
+ event_flag = report_fail;
+ goto exit;
+ }
+
+ /* ÅжÏstatus״̬ */
+ if (strstr(status,"success")) {
+ event_flag = report_success;
+ }else {
+ event_flag = report_fail;
+ }
+ }else if (strstr(method, "control")) {
+
+ //ÊÕµ½Æ½Ì¨Ï·¢µÄ¿ØÖƱ¨ÎÄ£¬ÌáÈ¡client_token£¬ÓÃÓÚÉϱ¨ÏìÓ¦
+ cjson_client_token = cJSON_GetObjectItem(cjson_root, "clientToken");
+ client_token = cJSON_GetStringValue(cjson_client_token);
+
+ printf("parse client token:%s\r\n", client_token);
+
+ //ÌáÈ¡ relay_status
+ cjson_params = cJSON_GetObjectItem(cjson_root, "params");
+ cjson_relay_status = cJSON_GetObjectItem(cjson_params, "led");
+ relay_status = cjson_relay_status->valueint;
+
+ //¸ù¾Ý relay_status Ö´ÐÐÏàÓ¦µÄ¶¯×÷
+ if (relay_status == 0) {
+ HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
+ } else if (relay_status == 1) {
+ HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);
+ }
+
+ memset(reply_buf, 0, sizeof(reply_buf));
+ sprintf(reply_buf, CONTROL_REPLY_DATA, client_token);
+ memset(&reply_msg, 0, sizeof(reply_msg));
+ reply_msg.qos = QOS0;
+ reply_msg.payload = (void *) reply_buf;
+
+ printf("control reply:\r\n\t%s\r\n", reply_buf);
+
+ error = mqtt_publish(payload_mail.client, "$thing/up/property/E2IGF491FP/dev001", &reply_msg);
+
+ MQTT_LOG_D("control reply publish error is %#0x", error);
+ }
+
+exit:
+ cJSON_Delete(cjson_root);
+ cjson_root = NULL;
+ status = NULL;
+
+ tos_event_post(&report_result_event, event_flag);
+
+ return;
+}
+
+void mqttclient_task(void)
+{
+ #define BUFFER_SIZE 128
+ int error;
+
+ int lightness = 0;
+
+ mqtt_client_t *client = NULL;
+
+ mqtt_message_t msg;
+
+ k_event_flag_t match_flag;
+
+ char host_ip[20];
+
+ int len;
+ uint8_t *buffer = K_NULL;
+
+ memset(&msg, 0, sizeof(msg));
+
+ gps_init(HAL_UART_PORT_3);
+
+ buffer = tos_mmheap_alloc(BUFFER_SIZE);
+
+#ifdef USE_ESP8266
+ esp8266_sal_init(esp8266_port);
+ esp8266_join_ap("Supowang", "13975428888");
+#endif
+
+#ifdef USE_NB_BC35
+ int bc35_28_95_sal_init(hal_uart_port_t uart_port);
+ bc35_28_95_sal_init(HAL_UART_PORT_0);
+#endif
+
+#ifdef USE_BC26
+ bc26_sal_init(HAL_UART_PORT_2);
+#endif
+
+#ifdef USE_EC200S
+ ec200s_sal_init(HAL_UART_PORT_2);
+#endif
+
+#ifdef USE_M5313
+ m5313_sal_init(HAL_UART_PORT_2);
+#endif
+
+ mqtt_log_init();
+
+ client = mqtt_lease();
+
+ tos_event_create(&report_result_event, (k_event_flag_t)0u);
+
+ /* Domain Format: .iotcloud.tencentdevices.com */
+ tos_sal_module_parse_domain("OKY0D78DP2.iotcloud.tencentdevices.com",host_ip,sizeof(host_ip));
+
+ /*
+ These infomation is generated by mqtt_config_gen.py tool in "TencentOS-tiny\tools" directory.
+ */
+ mqtt_set_port(client, "1883");
+ mqtt_set_host(client, host_ip);
+ mqtt_set_client_id(client, "OKY0D78DP2bd_location");
+ mqtt_set_user_name(client, "OKY0D78DP2bd_location;21010406;12365;4294967295");
+ mqtt_set_password(client, "55ed32e6ce98deca02ea579954d05a8ba4c442e2;hmacsha1");
+ mqtt_set_clean_session(client, 1);
+
+ error = mqtt_connect(client);
+
+ MQTT_LOG_D("mqtt connect error is %#0x", error);
+
+ error = mqtt_subscribe(client, "$thing/down/property/OKY0D78DP2/bd_location", QOS0, tos_topic_handler);
+
+ MQTT_LOG_D("mqtt subscribe error is %#0x", error);
+
+ while (1) {
+
+ if((len =gps_read(1,buffer,BUFFER_SIZE))>0)
+ {
+ printf("gps:%s(%d)\n",buffer,len);
+ memset(&msg, 0, sizeof(msg));
+
+ snprintf(report_buf, sizeof(report_buf), REPORT_DATA_TEMPLATE, buffer);
+
+ msg.qos = QOS0;
+ msg.payload = (void *) report_buf;
+
+ error = mqtt_publish(client, "$thing/up/property/OKY0D78DP2/bd_location", &msg);
+
+ MQTT_LOG_D("mqtt publish error is %#0x", error);
+
+ tos_event_pend(&report_result_event,
+ report_success|report_fail,
+ &match_flag,
+ TOS_TIME_FOREVER,
+ TOS_OPT_EVENT_PEND_ANY | TOS_OPT_EVENT_PEND_CLR);
+
+ if (match_flag == report_success) {
+ printf("report to Tencent IoT Explorer success\r\n");
+
+ }else if (match_flag == report_fail){
+ printf("report to Tencent IoT Explorer fail\r\n");
+ }
+
+ }
+
+ tos_task_delay(5000);
+ }
+}
+
+void application_entry(void *arg)
+{
+ mqttclient_task();
+ while (1) {
+ printf("This is a mqtt demo!\r\n");
+ tos_task_delay(1000);
+ }
+}
diff --git a/board/BDW01-STM32L496VG/BSP/app/ota_download_through_http_sample.c b/board/BDW01-STM32L496VG/BSP/app/ota_download_through_http_sample.c
new file mode 100644
index 00000000..80c94cb0
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/app/ota_download_through_http_sample.c
@@ -0,0 +1,64 @@
+#include "m5313.h"
+#include "mcu_init.h"
+#include "sal_module_wrapper.h"
+#include "cmsis_os.h"
+
+#include "ota_download.h"
+
+extern ota_flash_drv_t stm32l4_norflash_onchip_drv_ota;
+extern ota_flash_prop_t stm32l4_norflash_onchip_prop_ota;
+
+k_sem_t sem;
+
+#define TASK1_STK_SIZE 1024
+void user_task(void *arg);
+osThreadDef(user_task, osPriorityNormal, 1, TASK1_STK_SIZE);
+
+#define TASK2_STK_SIZE 1024
+void ota_download_task(void *arg);
+osThreadDef(ota_download_task, osPriorityNormal, 1, TASK2_STK_SIZE);
+
+void user_task(void *arg)
+{
+ int iter = 0;
+
+ while (K_TRUE) {
+ osDelay(2000);
+
+ printf("do sth(v0.1)...\n");
+
+ if (++iter == 2) {
+ printf("trigger ota download\n");
+ tos_sem_post(&sem);
+ }
+ }
+}
+
+void ota_download_task(void *arg)
+{
+ tos_sem_pend(&sem, TOS_TIME_FOREVER);
+
+ m5313_sal_init(HAL_UART_PORT_2);
+
+ uint32_t partition_addr = 0x080ff800;
+
+ if (ota_env_init(OTA_UPDATE_IN_POSITION, partition_addr, &stm32l4_norflash_onchip_drv_ota, &stm32l4_norflash_onchip_prop_ota) < 0) {
+ printf("env init failed!\n");
+ return;
+ }
+
+ if (!ota_download_http("http://119.139.199.196:2899/patch.bin")) {
+ printf("download successfully!\n");
+ } else {
+ printf("download failed!\n");
+ }
+}
+
+void application_entry(void *arg)
+{
+ tos_sem_create(&sem, 0);
+
+ osThreadCreate(osThread(user_task), NULL); // Create task1
+ osThreadCreate(osThread(ota_download_task), NULL); // Create task2
+}
+
diff --git a/board/BDW01-STM32L496VG/BSP/app/tcp_through_module.c b/board/BDW01-STM32L496VG/BSP/app/tcp_through_module.c
new file mode 100644
index 00000000..e6d1103b
--- /dev/null
+++ b/board/BDW01-STM32L496VG/BSP/app/tcp_through_module.c
@@ -0,0 +1,133 @@
+#include "mcu_init.h"
+#include "sal_module_wrapper.h"
+#include "cmsis_os.h"
+
+//#define USE_ESP8266
+//#define USE_SIM800A
+//#define USE_BC26
+//#define USE_EC20
+//#define USE_EC200S
+#define USE_M5313
+
+#ifdef USE_ESP8266
+#include "esp8266.h"
+#endif
+
+#ifdef USE_SIM800A
+#include "sim800a.h"
+#endif
+
+#ifdef USE_BC26
+#include "bc26.h"
+#endif
+
+#ifdef USE_EC20
+#include "ec20.h"
+#endif
+
+#ifdef USE_EC200S
+#include "ec200s.h"
+#endif
+
+#ifdef USE_M5313
+#include "m5313.h"
+#endif
+
+#define SERVER_TCP_IP "119.139.199.196"
+
+#define TCP_TEST_TASK0_STK_SIZE 4096
+void tcp_test0(void);
+osThreadDef(tcp_test0, osPriorityNormal, 1, TCP_TEST_TASK0_STK_SIZE);
+
+#define TCP_TEST_TASK1_STK_SIZE 4096
+void tcp_test1(void);
+osThreadDef(tcp_test1, osPriorityNormal, 1, TCP_TEST_TASK1_STK_SIZE);
+
+int socket_id_0 = -1;
+int socket_id_1 = -1;
+
+
+#define RECV_LEN 1024
+uint8_t recv_data_0[RECV_LEN];
+uint8_t recv_data_1[RECV_LEN];
+
+void tcp_test0(void)
+{
+ int recv_len = -1;
+
+ while (1) {
+ tos_sal_module_send(socket_id_0, (const void*)"This is TCP Test!\r\n", strlen("This is TCP Test!\r\n"));
+
+ recv_len = tos_sal_module_recv_timeout(socket_id_0, recv_data_0, sizeof(recv_data_0), 8000);
+ if (recv_len < 0) {
+ printf("task0 receive error\n");
+ } else if (recv_len == 0) {
+ printf("task0 receive none\n");
+ } else {
+ recv_data_0[recv_len] = 0;
+ printf("task0: receive len: %d\nmsg from remote: %s\n", recv_len, recv_data_0);
+ }
+
+ tos_sleep_ms(2000);
+ }
+}
+
+void tcp_test1(void)
+{
+ int recv_len = -1;
+
+ while (1) {
+ tos_sal_module_send(socket_id_1, (const void *)"Hello Tencent!\r\n", strlen("Hello Tencent!\r\n"));
+
+ recv_len = tos_sal_module_recv_timeout(socket_id_1, recv_data_1, sizeof(recv_data_1), 8000);
+ if (recv_len < 0) {
+ printf("task1 receive error\n\r");
+ } else if (recv_len == 0) {
+ printf("task1 receive none\n");
+ } else {
+ recv_data_1[recv_len] = 0;
+ printf("task1: receive len: %d\nmsg from remote: %s\n", recv_len, recv_data_1);
+ }
+
+ tos_sleep_ms(2000);
+ }
+}
+
+
+void application_entry(void *arg)
+{
+#if defined(USE_ESP8266)
+ esp8266_sal_init(HAL_UART_PORT_0);
+ esp8266_join_ap("SheldonDai", "srnr6x9xbhmb0");
+#elif defined(USE_SIM800A)
+ sim800a_power_on();
+ sim800a_sal_init(HAL_UART_PORT_2);
+#elif defined(USE_BC26)
+ bc26_sal_init(HAL_UART_PORT_2);
+#elif defined(USE_EC20)
+ ec20_sal_init(HAL_UART_PORT_0);
+#elif defined(USE_EC200S)
+ ec200s_sal_init(HAL_UART_PORT_2);
+#elif defined(USE_M5313)
+ m5313_sal_init(HAL_UART_PORT_2);
+#endif
+
+ socket_id_0 = tos_sal_module_connect(SERVER_TCP_IP, "2898", TOS_SAL_PROTO_TCP);
+ if (socket_id_0 == -1) {
+ printf("TCP0 connect failed\r\n");
+ } else {
+ printf("TCP0 connect success! fd: %d\n", socket_id_0);
+ }
+
+ socket_id_1 = tos_sal_module_connect(SERVER_TCP_IP, "2899", TOS_SAL_PROTO_TCP);
+ if (socket_id_1 == -1) {
+ printf("TCP1 connect failed\r\n");
+ } else {
+ printf("TCP1 connect success! fd: %d\n", socket_id_1);
+ }
+
+
+ osThreadCreate(osThread(tcp_test0), NULL);
+ osThreadCreate(osThread(tcp_test1), NULL);
+}
+
diff --git a/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.sct b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.sct
new file mode 100644
index 00000000..c3369f91
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.sct
@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00100000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x00040000 { ; RW data
+ .ANY (+RW +ZI)
+ }
+}
+
diff --git a/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvguix.Administrator b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvguix.Administrator
new file mode 100644
index 00000000..fc8a2daa
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvguix.Administrator
@@ -0,0 +1,3385 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 38003
+ Registers
+ 115 175
+
+
+ 346
+ Code Coverage
+ 810 160
+
+
+ 204
+ Performance Analyzer
+ 970
+
+
+
+
+
+ 1506
+ Symbols
+
+ 66 66 66
+
+
+ 1936
+ Watch 1
+
+ 66 66 66
+
+
+ 1937
+ Watch 2
+
+ 66 66 66
+
+
+ 1935
+ Call Stack + Locals
+
+ 66 66 66
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -1
+ -1
+
+
+ -1
+ -1
+
+
+ 99
+ 365
+ 1389
+ 724
+
+
+
+ 0
+
+ 60
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CC0000004F000000A0040000C4000000
+
+
+ 16
+ CC00000065000000A0040000DA000000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000004B020000400600003D030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000AF010000A004000038020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 505
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000FC0300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003D0300004006000050030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 571
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000004B04000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3119
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000C4000000A0040000C8000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000CC00000065000000A0040000DA000000CC0000004F000000A0040000C40000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000330200000100000002000010040000000100000027FFFFFF5C050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002C01000049020000000000004F0000002C010000330200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000AB010000A0040000AF01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C5010000A00400004E02000000000000AF010000A00400003802000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF50020000AF010000540200003802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003302000040060000370200000100000001000010040000000100000021FEFFFF04010000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000004D02000040060000530300000000000037020000400600003D0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2075
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000004000F0000000000000000000000000000000001000000010000000180FE880000000004001000000000000000000000000000000000010000000100000001800B810000000004001100000000000000000000000000000000010000000100000001800C810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F08800000200000013000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000010000000000000001000000960000000200205000000000086D7174745F70756296000000000000000300086D7174745F70756216746F735F74665F6D6F64756C655F6D7174745F707562145245504F52545F444154415F54454D504C415445000000000000000000000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000004001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400180000000000000000000000000000000001000000010000000180C988000000000400190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000001000000000000000100000000000000000000000100000008002880DD880000000000001C0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000001000000000000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000001000000000000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000100000000000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000010000000000000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000001000000000000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000000000000446696C65F9010000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 709
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000400000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000004000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000D53656C6563742054617267657400000000000000000100000000000000010000009600000003002050000000001142445730312D53544D33324C3439365647960000000000000001001142445730312D53544D33324C3439365647000000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000400090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C00000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2372
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000001000000000000000100000000000000000000000100000003001380D88B0000000000000D000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000001000000000000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380D28B0000000000000E000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000001000000000000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000001000000000000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000010000000000000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000100000000000000010000000000000000000000010000000400138093070000000000000F00000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000100000000000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000100000000000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000010000000000000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380658A000000000000100000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000001000000000000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000001000000000000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000130000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7201000000000000000100000000000000010000000000000000000000010000000000000000000544656275673B020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 650100004F00000040040000C4000000
+
+
+ 16
+ 650100006500000040040000DA000000
+
+
+
+ 1005
+ 1005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000780200004004000033030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 650100006300000040040000C4000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000330300004006000046030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3223
+ 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF65010000C400000040040000C8000000010000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000650100006500000040040000DA000000650100004F00000040040000C40000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF610100004F0000006501000074020000010000000200001004000000010000003AFFFFFF6F050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000610100008A020000000000004F00000061010000740200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000074020000400400007802000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF2003000078020000240300003303000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA02000040060000BE020000000000000100000004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000000000D4020000400600004903000000000000BE02000040060000330300000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF400400004F0000004404000033030000010000000200001004000000010000009BFDFFFF6B02000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180004000000100000044040000650000004006000049030000440400004F000000400600003303000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2348
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008555342445F4344439600000000000000130008555342445F43444307696E7431365F740775696E74385F740672656D61696E056572726F72074F53433130304B04414E53490C726573706563746976656C79185F5F48414C5F554152545F4745545F49545F534F555243450F554152545F434C4541525F52544F460E55534152545F4953525F52544F460B4255464645525F53495A450A52785866657253697A651048414C5F554152545F52656365697665195F5F48414C5F554152545F434C4541525F49444C45464C4147115452414E534D49545445525F424F4152440C444D415F4343525F4349524314554152545F444D415472616E736D697443706C741748414C5F554152545F547843706C7443616C6C6261636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 670
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046770696F96000000000000000100046770696F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2361
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F727920263400000000000000000000000001000000010000000000000000000000010000000000138010010000020000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvoptx b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvoptx
new file mode 100644
index 00000000..ce9d2b6e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvoptx
@@ -0,0 +1,1912 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+
+ 0
+ Getting Started (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00285842.pdf
+
+
+ 1
+ User Manual (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00353127.pdf
+
+
+ 2
+ Bill of Materials (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_bom.zip
+
+
+ 3
+ Gerber Files (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_gerber.zip
+
+
+ 4
+ STM32L496G-Discovery Web Page (STM32L496G-Discovery)
+ http://www.st.com/en/evaluation-tools/32l496gdiscovery.html
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32L4xx_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U51FF68064965575333151687 -O206 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+
+
+ 0
+
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Application/MDK-ARM
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32l496xx.s
+ startup_stm32l496xx.s
+ 0
+ 0
+
+
+
+
+ Application/User
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\gpio.c
+ gpio.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mcu_init.c
+ mcu_init.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\usart.c
+ usart.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+ stm32l4xx_hal_msp.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_it.c
+ stm32l4xx_it.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\i2c.c
+ i2c.c
+ 0
+ 0
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+ stm32l4xx_hal.c
+ 0
+ 0
+
+
+ 3
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+ stm32l4xx_hal_adc.c
+ 0
+ 0
+
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+ stm32l4xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+ stm32l4xx_hal_can.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+ stm32l4xx_hal_comp.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+ stm32l4xx_hal_cortex.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+ stm32l4xx_hal_crc.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+ stm32l4xx_hal_crc_ex.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+ stm32l4xx_hal_cryp.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+ stm32l4xx_hal_cryp_ex.c
+ 0
+ 0
+
+
+ 3
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+ stm32l4xx_hal_dac.c
+ 0
+ 0
+
+
+ 3
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+ stm32l4xx_hal_dac_ex.c
+ 0
+ 0
+
+
+ 3
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+ stm32l4xx_hal_dcmi.c
+ 0
+ 0
+
+
+ 3
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+ stm32l4xx_hal_dfsdm.c
+ 0
+ 0
+
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+ stm32l4xx_hal_dfsdm_ex.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+ stm32l4xx_hal_dma.c
+ 0
+ 0
+
+
+ 3
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+ stm32l4xx_hal_dma_ex.c
+ 0
+ 0
+
+
+ 3
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+ stm32l4xx_hal_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+ stm32l4xx_hal_dsi.c
+ 0
+ 0
+
+
+ 3
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+ stm32l4xx_hal_exti.c
+ 0
+ 0
+
+
+ 3
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+ stm32l4xx_hal_firewall.c
+ 0
+ 0
+
+
+ 3
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+ stm32l4xx_hal_flash.c
+ 0
+ 0
+
+
+ 3
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+ stm32l4xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 3
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+ stm32l4xx_hal_flash_ramfunc.c
+ 0
+ 0
+
+
+ 3
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+ stm32l4xx_hal_gfxmmu.c
+ 0
+ 0
+
+
+ 3
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+ stm32l4xx_hal_gpio.c
+ 0
+ 0
+
+
+ 3
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+ stm32l4xx_hal_hash.c
+ 0
+ 0
+
+
+ 3
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+ stm32l4xx_hal_hash_ex.c
+ 0
+ 0
+
+
+ 3
+ 37
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+ stm32l4xx_hal_hcd.c
+ 0
+ 0
+
+
+ 3
+ 38
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+ stm32l4xx_hal_i2c.c
+ 0
+ 0
+
+
+ 3
+ 39
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+ stm32l4xx_hal_i2c_ex.c
+ 0
+ 0
+
+
+ 3
+ 40
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+ stm32l4xx_hal_irda.c
+ 0
+ 0
+
+
+ 3
+ 41
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+ stm32l4xx_hal_iwdg.c
+ 0
+ 0
+
+
+ 3
+ 42
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+ stm32l4xx_hal_lcd.c
+ 0
+ 0
+
+
+ 3
+ 43
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+ stm32l4xx_hal_lptim.c
+ 0
+ 0
+
+
+ 3
+ 44
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+ stm32l4xx_hal_ltdc.c
+ 0
+ 0
+
+
+ 3
+ 45
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+ stm32l4xx_hal_ltdc_ex.c
+ 0
+ 0
+
+
+ 3
+ 46
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+ stm32l4xx_hal_nand.c
+ 0
+ 0
+
+
+ 3
+ 47
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+ stm32l4xx_hal_nor.c
+ 0
+ 0
+
+
+ 3
+ 48
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+ stm32l4xx_hal_opamp.c
+ 0
+ 0
+
+
+ 3
+ 49
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+ stm32l4xx_hal_opamp_ex.c
+ 0
+ 0
+
+
+ 3
+ 50
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+ stm32l4xx_hal_ospi.c
+ 0
+ 0
+
+
+ 3
+ 51
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+ stm32l4xx_hal_pcd.c
+ 0
+ 0
+
+
+ 3
+ 52
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+ stm32l4xx_hal_pcd_ex.c
+ 0
+ 0
+
+
+ 3
+ 53
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+ stm32l4xx_hal_pwr.c
+ 0
+ 0
+
+
+ 3
+ 54
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+ stm32l4xx_hal_pwr_ex.c
+ 0
+ 0
+
+
+ 3
+ 55
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+ stm32l4xx_hal_qspi.c
+ 0
+ 0
+
+
+ 3
+ 56
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+ stm32l4xx_hal_rcc.c
+ 0
+ 0
+
+
+ 3
+ 57
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+ stm32l4xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 3
+ 58
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+ stm32l4xx_hal_rng.c
+ 0
+ 0
+
+
+ 3
+ 59
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+ stm32l4xx_hal_rtc.c
+ 0
+ 0
+
+
+ 3
+ 60
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+ stm32l4xx_hal_rtc_ex.c
+ 0
+ 0
+
+
+ 3
+ 61
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+ stm32l4xx_hal_sai.c
+ 0
+ 0
+
+
+ 3
+ 62
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+ stm32l4xx_hal_sai_ex.c
+ 0
+ 0
+
+
+ 3
+ 63
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+ stm32l4xx_hal_sd.c
+ 0
+ 0
+
+
+ 3
+ 64
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+ stm32l4xx_hal_sd_ex.c
+ 0
+ 0
+
+
+ 3
+ 65
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+ stm32l4xx_hal_smartcard.c
+ 0
+ 0
+
+
+ 3
+ 66
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+ stm32l4xx_hal_smartcard_ex.c
+ 0
+ 0
+
+
+ 3
+ 67
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+ stm32l4xx_hal_smbus.c
+ 0
+ 0
+
+
+ 3
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+ stm32l4xx_hal_spi.c
+ 0
+ 0
+
+
+ 3
+ 69
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+ stm32l4xx_hal_spi_ex.c
+ 0
+ 0
+
+
+ 3
+ 70
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+ stm32l4xx_hal_sram.c
+ 0
+ 0
+
+
+ 3
+ 71
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+ stm32l4xx_hal_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 72
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+ stm32l4xx_hal_tim.c
+ 0
+ 0
+
+
+ 3
+ 73
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+ stm32l4xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 3
+ 74
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+ stm32l4xx_hal_timebase_tim_template.c
+ 0
+ 0
+
+
+ 3
+ 75
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+ stm32l4xx_hal_tsc.c
+ 0
+ 0
+
+
+ 3
+ 76
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 3
+ 77
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
+
+ 3
+ 78
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+ stm32l4xx_hal_usart.c
+ 0
+ 0
+
+
+ 3
+ 79
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+ stm32l4xx_hal_usart_ex.c
+ 0
+ 0
+
+
+ 3
+ 80
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+ stm32l4xx_hal_wwdg.c
+ 0
+ 0
+
+
+ 3
+ 81
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+ stm32l4xx_ll_adc.c
+ 0
+ 0
+
+
+ 3
+ 82
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+ stm32l4xx_ll_comp.c
+ 0
+ 0
+
+
+ 3
+ 83
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+ stm32l4xx_ll_crc.c
+ 0
+ 0
+
+
+ 3
+ 84
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+ stm32l4xx_ll_crs.c
+ 0
+ 0
+
+
+ 3
+ 85
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+ stm32l4xx_ll_dac.c
+ 0
+ 0
+
+
+ 3
+ 86
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+ stm32l4xx_ll_dma.c
+ 0
+ 0
+
+
+ 3
+ 87
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+ stm32l4xx_ll_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 88
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+ stm32l4xx_ll_exti.c
+ 0
+ 0
+
+
+ 3
+ 89
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+ stm32l4xx_ll_fmc.c
+ 0
+ 0
+
+
+ 3
+ 90
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+ stm32l4xx_ll_gpio.c
+ 0
+ 0
+
+
+ 3
+ 91
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+ stm32l4xx_ll_i2c.c
+ 0
+ 0
+
+
+ 3
+ 92
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+ stm32l4xx_ll_lptim.c
+ 0
+ 0
+
+
+ 3
+ 93
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+ stm32l4xx_ll_lpuart.c
+ 0
+ 0
+
+
+ 3
+ 94
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+ stm32l4xx_ll_opamp.c
+ 0
+ 0
+
+
+ 3
+ 95
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+ stm32l4xx_ll_pwr.c
+ 0
+ 0
+
+
+ 3
+ 96
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+ stm32l4xx_ll_rcc.c
+ 0
+ 0
+
+
+ 3
+ 97
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+ stm32l4xx_ll_rng.c
+ 0
+ 0
+
+
+ 3
+ 98
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+ stm32l4xx_ll_rtc.c
+ 0
+ 0
+
+
+ 3
+ 99
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+ stm32l4xx_ll_sdmmc.c
+ 0
+ 0
+
+
+ 3
+ 100
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+ stm32l4xx_ll_spi.c
+ 0
+ 0
+
+
+ 3
+ 101
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+ stm32l4xx_ll_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 102
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+ stm32l4xx_ll_tim.c
+ 0
+ 0
+
+
+ 3
+ 103
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+ stm32l4xx_ll_usart.c
+ 0
+ 0
+
+
+ 3
+ 104
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+ stm32l4xx_ll_usb.c
+ 0
+ 0
+
+
+ 3
+ 105
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+ stm32l4xx_ll_utils.c
+ 0
+ 0
+
+
+
+
+ Drivers/CMSIS
+ 1
+ 0
+ 0
+ 0
+
+ 4
+ 106
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\system_stm32l4xx.c
+ system_stm32l4xx.c
+ 0
+ 0
+
+
+
+
+ tos/arch
+ 1
+ 0
+ 0
+ 0
+
+ 5
+ 107
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+ tos_cpu.c
+ 0
+ 0
+
+
+ 5
+ 108
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+ port_c.c
+ 0
+ 0
+
+
+ 5
+ 109
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+ port_s.S
+ 0
+ 0
+
+
+
+
+ tos/kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 110
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_event.c
+ tos_event.c
+ 0
+ 0
+
+
+ 6
+ 111
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_global.c
+ tos_global.c
+ 0
+ 0
+
+
+ 6
+ 112
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmblk.c
+ tos_mmblk.c
+ 0
+ 0
+
+
+ 6
+ 113
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmheap.c
+ tos_mmheap.c
+ 0
+ 0
+
+
+ 6
+ 114
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mutex.c
+ tos_mutex.c
+ 0
+ 0
+
+
+ 6
+ 115
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_pend.c
+ tos_pend.c
+ 0
+ 0
+
+
+ 6
+ 116
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_robin.c
+ tos_robin.c
+ 0
+ 0
+
+
+ 6
+ 117
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sched.c
+ tos_sched.c
+ 0
+ 0
+
+
+ 6
+ 118
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sem.c
+ tos_sem.c
+ 0
+ 0
+
+
+ 6
+ 119
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sys.c
+ tos_sys.c
+ 0
+ 0
+
+
+ 6
+ 120
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_task.c
+ tos_task.c
+ 0
+ 0
+
+
+ 6
+ 121
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_tick.c
+ tos_tick.c
+ 0
+ 0
+
+
+ 6
+ 122
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_time.c
+ tos_time.c
+ 0
+ 0
+
+
+ 6
+ 123
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_timer.c
+ tos_timer.c
+ 0
+ 0
+
+
+ 6
+ 124
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+ tos_binary_heap.c
+ 0
+ 0
+
+
+ 6
+ 125
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+ tos_char_fifo.c
+ 0
+ 0
+
+
+ 6
+ 126
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_completion.c
+ tos_completion.c
+ 0
+ 0
+
+
+ 6
+ 127
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+ tos_countdownlatch.c
+ 0
+ 0
+
+
+ 6
+ 128
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+ tos_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 129
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_message_queue.c
+ tos_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 130
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+ tos_priority_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 131
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+ tos_priority_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 132
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+ tos_priority_queue.c
+ 0
+ 0
+
+
+ 6
+ 133
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+ tos_ring_queue.c
+ 0
+ 0
+
+
+
+
+ tos/cmsis
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 134
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+ cmsis_os.c
+ 0
+ 0
+
+
+
+
+ tos/config
+ 1
+ 0
+ 0
+ 0
+
+ 8
+ 135
+ 5
+ 0
+ 0
+ 0
+ ..\..\TOS_CONFIG\tos_config.h
+ tos_config.h
+ 0
+ 0
+
+
+
+
+ examples
+ 1
+ 0
+ 0
+ 0
+
+ 9
+ 136
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\examples\hello_world\hello_world.c
+ hello_world.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvprojx b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvprojx
new file mode 100644
index 00000000..dd2c976e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/hello_world/BDW01-STM32L496VG.uvprojx
@@ -0,0 +1,1122 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+ 5060183::V5.06 update 2 (build 183)::ARMCC
+
+
+ STM32L496VGTx
+ STMicroelectronics
+ Keil.STM32L4xx_DFP.2.4.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00040000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM))
+ 0
+ $$Device:STM32L496VGTx$Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32L496VGTx$CMSIS\SVD\STM32L4x6.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\BDW01-STM32L496VG\
+ BDW01-STM32L496VG
+ 1
+ 0
+ 1
+ 1
+ 0
+
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32F103xE
+
+ ..\..\BSP\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32L4xx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\hal\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Application/MDK-ARM
+
+
+ startup_stm32l496xx.s
+ 2
+ .\startup_stm32l496xx.s
+
+
+
+
+ Application/User
+
+
+ gpio.c
+ 1
+ ..\..\BSP\Src\gpio.c
+
+
+ main.c
+ 1
+ ..\..\BSP\Src\main.c
+
+
+ mcu_init.c
+ 1
+ ..\..\BSP\Src\mcu_init.c
+
+
+ usart.c
+ 1
+ ..\..\BSP\Src\usart.c
+
+
+ stm32l4xx_hal_msp.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+
+
+ stm32l4xx_it.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_it.c
+
+
+ i2c.c
+ 1
+ ..\..\BSP\Src\i2c.c
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+
+
+ stm32l4xx_hal.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+
+
+ stm32l4xx_hal_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+
+
+ stm32l4xx_hal_adc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+
+
+ stm32l4xx_hal_can.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+
+
+ stm32l4xx_hal_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+
+
+ stm32l4xx_hal_cortex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+
+
+ stm32l4xx_hal_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+
+
+ stm32l4xx_hal_crc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+
+
+ stm32l4xx_hal_cryp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+
+
+ stm32l4xx_hal_cryp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+
+
+ stm32l4xx_hal_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+
+
+ stm32l4xx_hal_dac_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+
+
+ stm32l4xx_hal_dcmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+
+
+ stm32l4xx_hal_dfsdm.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+
+
+ stm32l4xx_hal_dfsdm_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+
+
+ stm32l4xx_hal_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+
+
+ stm32l4xx_hal_dma_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+
+
+ stm32l4xx_hal_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+
+
+ stm32l4xx_hal_dsi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+
+
+ stm32l4xx_hal_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+
+
+ stm32l4xx_hal_firewall.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+
+
+ stm32l4xx_hal_flash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+
+
+ stm32l4xx_hal_flash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+
+
+ stm32l4xx_hal_flash_ramfunc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+
+
+ stm32l4xx_hal_gfxmmu.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+
+
+ stm32l4xx_hal_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+
+
+ stm32l4xx_hal_hash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+
+
+ stm32l4xx_hal_hash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+
+
+ stm32l4xx_hal_hcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+
+
+ stm32l4xx_hal_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+
+
+ stm32l4xx_hal_i2c_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+
+
+ stm32l4xx_hal_irda.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+
+
+ stm32l4xx_hal_iwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+
+
+ stm32l4xx_hal_lcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+
+
+ stm32l4xx_hal_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+
+
+ stm32l4xx_hal_ltdc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+
+
+ stm32l4xx_hal_ltdc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+
+
+ stm32l4xx_hal_nand.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+
+
+ stm32l4xx_hal_nor.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+
+
+ stm32l4xx_hal_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+
+
+ stm32l4xx_hal_opamp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+
+
+ stm32l4xx_hal_ospi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+
+
+ stm32l4xx_hal_pcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+
+
+ stm32l4xx_hal_pcd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+
+
+ stm32l4xx_hal_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+
+
+ stm32l4xx_hal_pwr_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+
+
+ stm32l4xx_hal_qspi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+
+
+ stm32l4xx_hal_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+
+
+ stm32l4xx_hal_rcc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+
+
+ stm32l4xx_hal_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+
+
+ stm32l4xx_hal_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+
+
+ stm32l4xx_hal_rtc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+
+
+ stm32l4xx_hal_sai.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+
+
+ stm32l4xx_hal_sai_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+
+
+ stm32l4xx_hal_sd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+
+
+ stm32l4xx_hal_sd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+
+
+ stm32l4xx_hal_smartcard.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+
+
+ stm32l4xx_hal_smartcard_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+
+
+ stm32l4xx_hal_smbus.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+
+
+ stm32l4xx_hal_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+
+
+ stm32l4xx_hal_spi_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+
+
+ stm32l4xx_hal_sram.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+
+
+ stm32l4xx_hal_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+
+
+ stm32l4xx_hal_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+
+
+ stm32l4xx_hal_tim_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+
+
+ stm32l4xx_hal_timebase_tim_template.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+
+
+ stm32l4xx_hal_tsc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+
+
+ stm32l4xx_hal_uart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+
+
+ stm32l4xx_hal_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+
+
+ stm32l4xx_hal_usart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+
+
+ stm32l4xx_hal_wwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+
+
+ stm32l4xx_ll_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+
+
+ stm32l4xx_ll_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+
+
+ stm32l4xx_ll_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+
+
+ stm32l4xx_ll_crs.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+
+
+ stm32l4xx_ll_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+
+
+ stm32l4xx_ll_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+
+
+ stm32l4xx_ll_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+
+
+ stm32l4xx_ll_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+
+
+ stm32l4xx_ll_fmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+
+
+ stm32l4xx_ll_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+
+
+ stm32l4xx_ll_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+
+
+ stm32l4xx_ll_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+
+
+ stm32l4xx_ll_lpuart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+
+
+ stm32l4xx_ll_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+
+
+ stm32l4xx_ll_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+
+
+ stm32l4xx_ll_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+
+
+ stm32l4xx_ll_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+
+
+ stm32l4xx_ll_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+
+
+ stm32l4xx_ll_sdmmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+
+
+ stm32l4xx_ll_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+
+
+ stm32l4xx_ll_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+
+
+ stm32l4xx_ll_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+
+
+ stm32l4xx_ll_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+
+
+ stm32l4xx_ll_usb.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+
+
+ stm32l4xx_ll_utils.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+
+
+
+
+ Drivers/CMSIS
+
+
+ system_stm32l4xx.c
+ 1
+ ..\..\BSP\Src\system_stm32l4xx.c
+
+
+
+
+ tos/arch
+
+
+ tos_cpu.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+
+
+ port_c.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+
+
+ port_s.S
+ 2
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+
+
+
+
+ tos/kernel
+
+
+ tos_event.c
+ 1
+ ..\..\..\..\kernel\core\tos_event.c
+
+
+ tos_global.c
+ 1
+ ..\..\..\..\kernel\core\tos_global.c
+
+
+ tos_mmblk.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmblk.c
+
+
+ tos_mmheap.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmheap.c
+
+
+ tos_mutex.c
+ 1
+ ..\..\..\..\kernel\core\tos_mutex.c
+
+
+ tos_pend.c
+ 1
+ ..\..\..\..\kernel\core\tos_pend.c
+
+
+ tos_robin.c
+ 1
+ ..\..\..\..\kernel\core\tos_robin.c
+
+
+ tos_sched.c
+ 1
+ ..\..\..\..\kernel\core\tos_sched.c
+
+
+ tos_sem.c
+ 1
+ ..\..\..\..\kernel\core\tos_sem.c
+
+
+ tos_sys.c
+ 1
+ ..\..\..\..\kernel\core\tos_sys.c
+
+
+ tos_task.c
+ 1
+ ..\..\..\..\kernel\core\tos_task.c
+
+
+ tos_tick.c
+ 1
+ ..\..\..\..\kernel\core\tos_tick.c
+
+
+ tos_time.c
+ 1
+ ..\..\..\..\kernel\core\tos_time.c
+
+
+ tos_timer.c
+ 1
+ ..\..\..\..\kernel\core\tos_timer.c
+
+
+ tos_binary_heap.c
+ 1
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+
+
+ tos_char_fifo.c
+ 1
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+
+
+ tos_completion.c
+ 1
+ ..\..\..\..\kernel\core\tos_completion.c
+
+
+ tos_countdownlatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+
+
+ tos_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+
+
+ tos_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_message_queue.c
+
+
+ tos_priority_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+
+
+ tos_priority_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+
+
+ tos_priority_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+
+
+ tos_ring_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+
+
+
+
+ tos/cmsis
+
+
+ cmsis_os.c
+ 1
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+
+
+
+
+ tos/config
+
+
+ tos_config.h
+ 5
+ ..\..\TOS_CONFIG\tos_config.h
+
+
+
+
+ examples
+
+
+ hello_world.c
+ 1
+ ..\..\..\..\examples\hello_world\hello_world.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/hello_world/startup_stm32l496xx.s b/board/BDW01-STM32L496VG/KEIL/hello_world/startup_stm32l496xx.s
new file mode 100644
index 00000000..7ed6a1e3
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/hello_world/startup_stm32l496xx.s
@@ -0,0 +1,451 @@
+;*******************************************************************************
+;* File Name : startup_stm32l496xx.s
+;* Author : MCD Application Team
+;* Description : STM32L496xx Ultra Low Power devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;*******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2017 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software component is licensed by ST under BSD 3-Clause license,
+;* the "License"; You may not use this file except in compliance with the
+;* License. You may obtain a copy of the License at:
+;* opensource.org/licenses/BSD-3-Clause
+;*
+;*******************************************************************************
+;
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x8000
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x8000
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD/PVM1/PVM2/PVM3/PVM4 through EXTI Line detection
+ DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
+ DCD FLASH_IRQHandler ; FLASH
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line0
+ DCD EXTI1_IRQHandler ; EXTI Line1
+ DCD EXTI2_IRQHandler ; EXTI Line2
+ DCD EXTI3_IRQHandler ; EXTI Line3
+ DCD EXTI4_IRQHandler ; EXTI Line4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1, ADC2
+ DCD CAN1_TX_IRQHandler ; CAN1 TX
+ DCD CAN1_RX0_IRQHandler ; CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; External Line[9:5]s
+ DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15
+ DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16
+ DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; External Line[15:10]
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
+ DCD DFSDM1_FLT3_IRQHandler ; DFSDM1 Filter 3 global Interrupt
+ DCD TIM8_BRK_IRQHandler ; TIM8 Break Interrupt
+ DCD TIM8_UP_IRQHandler ; TIM8 Update Interrupt
+ DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation Interrupt
+ DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt
+ DCD ADC3_IRQHandler ; ADC3 global Interrupt
+ DCD FMC_IRQHandler ; FMC
+ DCD SDMMC1_IRQHandler ; SDMMC1
+ DCD TIM5_IRQHandler ; TIM5
+ DCD SPI3_IRQHandler ; SPI3
+ DCD UART4_IRQHandler ; UART4
+ DCD UART5_IRQHandler ; UART5
+ DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
+ DCD TIM7_IRQHandler ; TIM7
+ DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
+ DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
+ DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
+ DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
+ DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
+ DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter 0 global Interrupt
+ DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter 1 global Interrupt
+ DCD DFSDM1_FLT2_IRQHandler ; DFSDM1 Filter 2 global Interrupt
+ DCD COMP_IRQHandler ; COMP Interrupt
+ DCD LPTIM1_IRQHandler ; LP TIM1 interrupt
+ DCD LPTIM2_IRQHandler ; LP TIM2 interrupt
+ DCD OTG_FS_IRQHandler ; USB OTG FS
+ DCD DMA2_Channel6_IRQHandler ; DMA2 Channel 6
+ DCD DMA2_Channel7_IRQHandler ; DMA2 Channel 7
+ DCD LPUART1_IRQHandler ; LP UART1 interrupt
+ DCD QUADSPI_IRQHandler ; Quad SPI global interrupt
+ DCD I2C3_EV_IRQHandler ; I2C3 event
+ DCD I2C3_ER_IRQHandler ; I2C3 error
+ DCD SAI1_IRQHandler ; Serial Audio Interface 1 global interrupt
+ DCD SAI2_IRQHandler ; Serial Audio Interface 2 global interrupt
+ DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt
+ DCD TSC_IRQHandler ; Touch Sense Controller global interrupt
+ DCD LCD_IRQHandler ; LCD global interrupt
+ DCD 0 ; Reserved
+ DCD RNG_IRQHandler ; RNG global interrupt
+ DCD FPU_IRQHandler ; FPU
+ DCD CRS_IRQHandler ; CRS error
+ DCD I2C4_EV_IRQHandler ; I2C4 event
+ DCD I2C4_ER_IRQHandler ; I2C4 error
+ DCD DCMI_IRQHandler ; DCMI global interrupt
+ DCD CAN2_TX_IRQHandler ; CAN2 TX
+ DCD CAN2_RX0_IRQHandler ; CAN2 RX0
+ DCD CAN2_RX1_IRQHandler ; CAN2 RX1
+ DCD CAN2_SCE_IRQHandler ; CAN2 SCE
+ DCD DMA2D_IRQHandler ; DMA2D global interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT CAN1_TX_IRQHandler [WEAK]
+ EXPORT CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK]
+ EXPORT TIM1_UP_TIM16_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT3_IRQHandler [WEAK]
+ EXPORT TIM8_BRK_IRQHandler [WEAK]
+ EXPORT TIM8_UP_IRQHandler [WEAK]
+ EXPORT TIM8_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM8_CC_IRQHandler [WEAK]
+ EXPORT ADC3_IRQHandler [WEAK]
+ EXPORT FMC_IRQHandler [WEAK]
+ EXPORT SDMMC1_IRQHandler [WEAK]
+ EXPORT TIM5_IRQHandler [WEAK]
+ EXPORT SPI3_IRQHandler [WEAK]
+ EXPORT UART4_IRQHandler [WEAK]
+ EXPORT UART5_IRQHandler [WEAK]
+ EXPORT TIM6_DAC_IRQHandler [WEAK]
+ EXPORT TIM7_IRQHandler [WEAK]
+ EXPORT DMA2_Channel1_IRQHandler [WEAK]
+ EXPORT DMA2_Channel2_IRQHandler [WEAK]
+ EXPORT DMA2_Channel3_IRQHandler [WEAK]
+ EXPORT DMA2_Channel4_IRQHandler [WEAK]
+ EXPORT DMA2_Channel5_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT0_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT1_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT OTG_FS_IRQHandler [WEAK]
+ EXPORT DMA2_Channel6_IRQHandler [WEAK]
+ EXPORT DMA2_Channel7_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT QUADSPI_IRQHandler [WEAK]
+ EXPORT I2C3_EV_IRQHandler [WEAK]
+ EXPORT I2C3_ER_IRQHandler [WEAK]
+ EXPORT SAI1_IRQHandler [WEAK]
+ EXPORT SAI2_IRQHandler [WEAK]
+ EXPORT SWPMI1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT LCD_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT CRS_IRQHandler [WEAK]
+ EXPORT I2C4_EV_IRQHandler [WEAK]
+ EXPORT I2C4_ER_IRQHandler [WEAK]
+ EXPORT DCMI_IRQHandler [WEAK]
+ EXPORT CAN2_TX_IRQHandler [WEAK]
+ EXPORT CAN2_RX0_IRQHandler [WEAK]
+ EXPORT CAN2_RX1_IRQHandler [WEAK]
+ EXPORT CAN2_SCE_IRQHandler [WEAK]
+ EXPORT DMA2D_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+CAN1_TX_IRQHandler
+CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_TIM15_IRQHandler
+TIM1_UP_TIM16_IRQHandler
+TIM1_TRG_COM_TIM17_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+DFSDM1_FLT3_IRQHandler
+TIM8_BRK_IRQHandler
+TIM8_UP_IRQHandler
+TIM8_TRG_COM_IRQHandler
+TIM8_CC_IRQHandler
+ADC3_IRQHandler
+FMC_IRQHandler
+SDMMC1_IRQHandler
+TIM5_IRQHandler
+SPI3_IRQHandler
+UART4_IRQHandler
+UART5_IRQHandler
+TIM6_DAC_IRQHandler
+TIM7_IRQHandler
+DMA2_Channel1_IRQHandler
+DMA2_Channel2_IRQHandler
+DMA2_Channel3_IRQHandler
+DMA2_Channel4_IRQHandler
+DMA2_Channel5_IRQHandler
+DFSDM1_FLT0_IRQHandler
+DFSDM1_FLT1_IRQHandler
+DFSDM1_FLT2_IRQHandler
+COMP_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+OTG_FS_IRQHandler
+DMA2_Channel6_IRQHandler
+DMA2_Channel7_IRQHandler
+LPUART1_IRQHandler
+QUADSPI_IRQHandler
+I2C3_EV_IRQHandler
+I2C3_ER_IRQHandler
+SAI1_IRQHandler
+SAI2_IRQHandler
+SWPMI1_IRQHandler
+TSC_IRQHandler
+LCD_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+CRS_IRQHandler
+I2C4_EV_IRQHandler
+I2C4_ER_IRQHandler
+DCMI_IRQHandler
+CAN2_TX_IRQHandler
+CAN2_RX0_IRQHandler
+CAN2_RX1_IRQHandler
+CAN2_SCE_IRQHandler
+DMA2D_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
+;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.sct b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.sct
new file mode 100644
index 00000000..c3369f91
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.sct
@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00100000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x00040000 { ; RW data
+ .ANY (+RW +ZI)
+ }
+}
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvguix.Administrator b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvguix.Administrator
new file mode 100644
index 00000000..07d91c28
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvguix.Administrator
@@ -0,0 +1,3385 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 38003
+ Registers
+ 115 175
+
+
+ 346
+ Code Coverage
+ 810 160
+
+
+ 204
+ Performance Analyzer
+ 970
+
+
+
+
+
+ 1506
+ Symbols
+
+ 66 66 66
+
+
+ 1936
+ Watch 1
+
+ 66 66 66
+
+
+ 1937
+ Watch 2
+
+ 66 66 66
+
+
+ 1935
+ Call Stack + Locals
+
+ 66 66 66
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -1
+ -1
+
+
+ -1
+ -1
+
+
+ 99
+ 365
+ 1389
+ 724
+
+
+
+ 0
+
+ 60
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CC0000004F000000A0040000C4000000
+
+
+ 16
+ CC00000065000000A0040000DA000000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000004B020000400600003D030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000AF010000A004000038020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 505
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000FC0300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003D0300004006000050030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 571
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000004B04000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3119
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000C4000000A0040000C8000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000CC00000065000000A0040000DA000000CC0000004F000000A0040000C40000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000330200000100000002000010040000000100000027FFFFFF5C050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002C01000049020000000000004F0000002C010000330200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000AB010000A0040000AF01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C5010000A00400004E02000000000000AF010000A00400003802000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF50020000AF010000540200003802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003302000040060000370200000100000001000010040000000100000021FEFFFF04010000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000004D02000040060000530300000000000037020000400600003D0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2075
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000004000F0000000000000000000000000000000001000000010000000180FE880000000004001000000000000000000000000000000000010000000100000001800B810000000004001100000000000000000000000000000000010000000100000001800C810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F08800000200000013000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000010000000000000001000000960000000200205000000000086D7174745F70756296000000000000000300086D7174745F70756216746F735F74665F6D6F64756C655F6D7174745F707562145245504F52545F444154415F54454D504C415445000000000000000000000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000004001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400180000000000000000000000000000000001000000010000000180C988000000000400190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000001000000000000000100000000000000000000000100000008002880DD880000000000001C0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000001000000000000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000001000000000000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000100000000000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000010000000000000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000001000000000000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000000000000446696C65F9010000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 709
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000400000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000004000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000D53656C6563742054617267657400000000000000000100000000000000010000009600000003002050000000001142445730312D53544D33324C3439365647960000000000000001001142445730312D53544D33324C3439365647000000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000400090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C00000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2372
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000001000000000000000100000000000000000000000100000003001380D88B0000000000000D000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000001000000000000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380D28B0000000000000E000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000001000000000000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000001000000000000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000010000000000000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000100000000000000010000000000000000000000010000000400138093070000000000000F00000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000100000000000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000100000000000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000010000000000000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380658A000000000000100000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000001000000000000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000001000000000000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000130000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7200000000000000000100000000000000010000000000000000000000010000000000000000000544656275673B020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 650100004F00000040040000C4000000
+
+
+ 16
+ 650100006500000040040000DA000000
+
+
+
+ 1005
+ 1005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000780200004004000033030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 650100006300000040040000C4000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000330300004006000046030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3223
+ 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF65010000C400000040040000C8000000010000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000650100006500000040040000DA000000650100004F00000040040000C40000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF610100004F0000006501000074020000010000000200001004000000010000003AFFFFFF6F050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000610100008A020000000000004F00000061010000740200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000074020000400400007802000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF2003000078020000240300003303000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA02000040060000BE020000000000000100000004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000000000D4020000400600004903000000000000BE02000040060000330300000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF400400004F0000004404000033030000010000000200001004000000010000009BFDFFFF6B02000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180004000000100000044040000650000004006000049030000440400004F000000400600003303000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2348
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008555342445F4344439600000000000000130008555342445F43444307696E7431365F740775696E74385F740672656D61696E056572726F72074F53433130304B04414E53490C726573706563746976656C79185F5F48414C5F554152545F4745545F49545F534F555243450F554152545F434C4541525F52544F460E55534152545F4953525F52544F460B4255464645525F53495A450A52785866657253697A651048414C5F554152545F52656365697665195F5F48414C5F554152545F434C4541525F49444C45464C4147115452414E534D49545445525F424F4152440C444D415F4343525F4349524314554152545F444D415472616E736D697443706C741748414C5F554152545F547843706C7443616C6C6261636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 670
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046770696F96000000000000000100046770696F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2361
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F727920263400000000000000000000000001000000010000000000000000000000010000000000138010010000020000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvoptx b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvoptx
new file mode 100644
index 00000000..420c2e66
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvoptx
@@ -0,0 +1,2384 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+
+ 0
+ Getting Started (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00285842.pdf
+
+
+ 1
+ User Manual (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00353127.pdf
+
+
+ 2
+ Bill of Materials (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_bom.zip
+
+
+ 3
+ Gerber Files (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_gerber.zip
+
+
+ 4
+ STM32L496G-Discovery Web Page (STM32L496G-Discovery)
+ http://www.st.com/en/evaluation-tools/32l496gdiscovery.html
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32L4xx_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U51FF68064965575333151687 -O206 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+
+
+ 0
+
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Application/MDK-ARM
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32l496xx.s
+ startup_stm32l496xx.s
+ 0
+ 0
+
+
+
+
+ Application/User
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\gpio.c
+ gpio.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mcu_init.c
+ mcu_init.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\usart.c
+ usart.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+ stm32l4xx_hal_msp.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_it.c
+ stm32l4xx_it.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mymath.c
+ mymath.c
+ 0
+ 0
+
+
+ 2
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\i2c.c
+ i2c.c
+ 0
+ 0
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+ stm32l4xx_hal.c
+ 0
+ 0
+
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+ stm32l4xx_hal_adc.c
+ 0
+ 0
+
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+ stm32l4xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+ stm32l4xx_hal_can.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+ stm32l4xx_hal_comp.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+ stm32l4xx_hal_cortex.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+ stm32l4xx_hal_crc.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+ stm32l4xx_hal_crc_ex.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+ stm32l4xx_hal_cryp.c
+ 0
+ 0
+
+
+ 3
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+ stm32l4xx_hal_cryp_ex.c
+ 0
+ 0
+
+
+ 3
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+ stm32l4xx_hal_dac.c
+ 0
+ 0
+
+
+ 3
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+ stm32l4xx_hal_dac_ex.c
+ 0
+ 0
+
+
+ 3
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+ stm32l4xx_hal_dcmi.c
+ 0
+ 0
+
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+ stm32l4xx_hal_dfsdm.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+ stm32l4xx_hal_dfsdm_ex.c
+ 0
+ 0
+
+
+ 3
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+ stm32l4xx_hal_dma.c
+ 0
+ 0
+
+
+ 3
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+ stm32l4xx_hal_dma_ex.c
+ 0
+ 0
+
+
+ 3
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+ stm32l4xx_hal_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+ stm32l4xx_hal_dsi.c
+ 0
+ 0
+
+
+ 3
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+ stm32l4xx_hal_exti.c
+ 0
+ 0
+
+
+ 3
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+ stm32l4xx_hal_firewall.c
+ 0
+ 0
+
+
+ 3
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+ stm32l4xx_hal_flash.c
+ 0
+ 0
+
+
+ 3
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+ stm32l4xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 3
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+ stm32l4xx_hal_flash_ramfunc.c
+ 0
+ 0
+
+
+ 3
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+ stm32l4xx_hal_gfxmmu.c
+ 0
+ 0
+
+
+ 3
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+ stm32l4xx_hal_gpio.c
+ 0
+ 0
+
+
+ 3
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+ stm32l4xx_hal_hash.c
+ 0
+ 0
+
+
+ 3
+ 37
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+ stm32l4xx_hal_hash_ex.c
+ 0
+ 0
+
+
+ 3
+ 38
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+ stm32l4xx_hal_hcd.c
+ 0
+ 0
+
+
+ 3
+ 39
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+ stm32l4xx_hal_i2c.c
+ 0
+ 0
+
+
+ 3
+ 40
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+ stm32l4xx_hal_i2c_ex.c
+ 0
+ 0
+
+
+ 3
+ 41
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+ stm32l4xx_hal_irda.c
+ 0
+ 0
+
+
+ 3
+ 42
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+ stm32l4xx_hal_iwdg.c
+ 0
+ 0
+
+
+ 3
+ 43
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+ stm32l4xx_hal_lcd.c
+ 0
+ 0
+
+
+ 3
+ 44
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+ stm32l4xx_hal_lptim.c
+ 0
+ 0
+
+
+ 3
+ 45
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+ stm32l4xx_hal_ltdc.c
+ 0
+ 0
+
+
+ 3
+ 46
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+ stm32l4xx_hal_ltdc_ex.c
+ 0
+ 0
+
+
+ 3
+ 47
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+ stm32l4xx_hal_nand.c
+ 0
+ 0
+
+
+ 3
+ 48
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+ stm32l4xx_hal_nor.c
+ 0
+ 0
+
+
+ 3
+ 49
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+ stm32l4xx_hal_opamp.c
+ 0
+ 0
+
+
+ 3
+ 50
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+ stm32l4xx_hal_opamp_ex.c
+ 0
+ 0
+
+
+ 3
+ 51
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+ stm32l4xx_hal_ospi.c
+ 0
+ 0
+
+
+ 3
+ 52
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+ stm32l4xx_hal_pcd.c
+ 0
+ 0
+
+
+ 3
+ 53
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+ stm32l4xx_hal_pcd_ex.c
+ 0
+ 0
+
+
+ 3
+ 54
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+ stm32l4xx_hal_pwr.c
+ 0
+ 0
+
+
+ 3
+ 55
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+ stm32l4xx_hal_pwr_ex.c
+ 0
+ 0
+
+
+ 3
+ 56
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+ stm32l4xx_hal_qspi.c
+ 0
+ 0
+
+
+ 3
+ 57
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+ stm32l4xx_hal_rcc.c
+ 0
+ 0
+
+
+ 3
+ 58
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+ stm32l4xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 3
+ 59
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+ stm32l4xx_hal_rng.c
+ 0
+ 0
+
+
+ 3
+ 60
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+ stm32l4xx_hal_rtc.c
+ 0
+ 0
+
+
+ 3
+ 61
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+ stm32l4xx_hal_rtc_ex.c
+ 0
+ 0
+
+
+ 3
+ 62
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+ stm32l4xx_hal_sai.c
+ 0
+ 0
+
+
+ 3
+ 63
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+ stm32l4xx_hal_sai_ex.c
+ 0
+ 0
+
+
+ 3
+ 64
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+ stm32l4xx_hal_sd.c
+ 0
+ 0
+
+
+ 3
+ 65
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+ stm32l4xx_hal_sd_ex.c
+ 0
+ 0
+
+
+ 3
+ 66
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+ stm32l4xx_hal_smartcard.c
+ 0
+ 0
+
+
+ 3
+ 67
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+ stm32l4xx_hal_smartcard_ex.c
+ 0
+ 0
+
+
+ 3
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+ stm32l4xx_hal_smbus.c
+ 0
+ 0
+
+
+ 3
+ 69
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+ stm32l4xx_hal_spi.c
+ 0
+ 0
+
+
+ 3
+ 70
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+ stm32l4xx_hal_spi_ex.c
+ 0
+ 0
+
+
+ 3
+ 71
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+ stm32l4xx_hal_sram.c
+ 0
+ 0
+
+
+ 3
+ 72
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+ stm32l4xx_hal_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 73
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+ stm32l4xx_hal_tim.c
+ 0
+ 0
+
+
+ 3
+ 74
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+ stm32l4xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 3
+ 75
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+ stm32l4xx_hal_timebase_tim_template.c
+ 0
+ 0
+
+
+ 3
+ 76
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+ stm32l4xx_hal_tsc.c
+ 0
+ 0
+
+
+ 3
+ 77
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 3
+ 78
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
+
+ 3
+ 79
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+ stm32l4xx_hal_usart.c
+ 0
+ 0
+
+
+ 3
+ 80
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+ stm32l4xx_hal_usart_ex.c
+ 0
+ 0
+
+
+ 3
+ 81
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+ stm32l4xx_hal_wwdg.c
+ 0
+ 0
+
+
+ 3
+ 82
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+ stm32l4xx_ll_adc.c
+ 0
+ 0
+
+
+ 3
+ 83
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+ stm32l4xx_ll_comp.c
+ 0
+ 0
+
+
+ 3
+ 84
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+ stm32l4xx_ll_crc.c
+ 0
+ 0
+
+
+ 3
+ 85
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+ stm32l4xx_ll_crs.c
+ 0
+ 0
+
+
+ 3
+ 86
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+ stm32l4xx_ll_dac.c
+ 0
+ 0
+
+
+ 3
+ 87
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+ stm32l4xx_ll_dma.c
+ 0
+ 0
+
+
+ 3
+ 88
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+ stm32l4xx_ll_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 89
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+ stm32l4xx_ll_exti.c
+ 0
+ 0
+
+
+ 3
+ 90
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+ stm32l4xx_ll_fmc.c
+ 0
+ 0
+
+
+ 3
+ 91
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+ stm32l4xx_ll_gpio.c
+ 0
+ 0
+
+
+ 3
+ 92
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+ stm32l4xx_ll_i2c.c
+ 0
+ 0
+
+
+ 3
+ 93
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+ stm32l4xx_ll_lptim.c
+ 0
+ 0
+
+
+ 3
+ 94
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+ stm32l4xx_ll_lpuart.c
+ 0
+ 0
+
+
+ 3
+ 95
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+ stm32l4xx_ll_opamp.c
+ 0
+ 0
+
+
+ 3
+ 96
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+ stm32l4xx_ll_pwr.c
+ 0
+ 0
+
+
+ 3
+ 97
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+ stm32l4xx_ll_rcc.c
+ 0
+ 0
+
+
+ 3
+ 98
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+ stm32l4xx_ll_rng.c
+ 0
+ 0
+
+
+ 3
+ 99
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+ stm32l4xx_ll_rtc.c
+ 0
+ 0
+
+
+ 3
+ 100
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+ stm32l4xx_ll_sdmmc.c
+ 0
+ 0
+
+
+ 3
+ 101
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+ stm32l4xx_ll_spi.c
+ 0
+ 0
+
+
+ 3
+ 102
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+ stm32l4xx_ll_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 103
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+ stm32l4xx_ll_tim.c
+ 0
+ 0
+
+
+ 3
+ 104
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+ stm32l4xx_ll_usart.c
+ 0
+ 0
+
+
+ 3
+ 105
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+ stm32l4xx_ll_usb.c
+ 0
+ 0
+
+
+ 3
+ 106
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+ stm32l4xx_ll_utils.c
+ 0
+ 0
+
+
+
+
+ Drivers/CMSIS
+ 1
+ 0
+ 0
+ 0
+
+ 4
+ 107
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\system_stm32l4xx.c
+ system_stm32l4xx.c
+ 0
+ 0
+
+
+
+
+ tos/arch
+ 1
+ 0
+ 0
+ 0
+
+ 5
+ 108
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+ tos_cpu.c
+ 0
+ 0
+
+
+ 5
+ 109
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+ port_c.c
+ 0
+ 0
+
+
+ 5
+ 110
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+ port_s.S
+ 0
+ 0
+
+
+
+
+ tos/kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 111
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_event.c
+ tos_event.c
+ 0
+ 0
+
+
+ 6
+ 112
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_global.c
+ tos_global.c
+ 0
+ 0
+
+
+ 6
+ 113
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmblk.c
+ tos_mmblk.c
+ 0
+ 0
+
+
+ 6
+ 114
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmheap.c
+ tos_mmheap.c
+ 0
+ 0
+
+
+ 6
+ 115
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mutex.c
+ tos_mutex.c
+ 0
+ 0
+
+
+ 6
+ 116
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_pend.c
+ tos_pend.c
+ 0
+ 0
+
+
+ 6
+ 117
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_robin.c
+ tos_robin.c
+ 0
+ 0
+
+
+ 6
+ 118
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sched.c
+ tos_sched.c
+ 0
+ 0
+
+
+ 6
+ 119
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sem.c
+ tos_sem.c
+ 0
+ 0
+
+
+ 6
+ 120
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sys.c
+ tos_sys.c
+ 0
+ 0
+
+
+ 6
+ 121
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_task.c
+ tos_task.c
+ 0
+ 0
+
+
+ 6
+ 122
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_tick.c
+ tos_tick.c
+ 0
+ 0
+
+
+ 6
+ 123
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_time.c
+ tos_time.c
+ 0
+ 0
+
+
+ 6
+ 124
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_timer.c
+ tos_timer.c
+ 0
+ 0
+
+
+ 6
+ 125
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+ tos_binary_heap.c
+ 0
+ 0
+
+
+ 6
+ 126
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+ tos_char_fifo.c
+ 0
+ 0
+
+
+ 6
+ 127
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_completion.c
+ tos_completion.c
+ 0
+ 0
+
+
+ 6
+ 128
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+ tos_countdownlatch.c
+ 0
+ 0
+
+
+ 6
+ 129
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+ tos_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 130
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_message_queue.c
+ tos_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 131
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+ tos_priority_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 132
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+ tos_priority_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 133
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+ tos_priority_queue.c
+ 0
+ 0
+
+
+ 6
+ 134
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+ tos_ring_queue.c
+ 0
+ 0
+
+
+ 6
+ 135
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_stopwatch.c
+ tos_stopwatch.c
+ 0
+ 0
+
+
+
+
+ tos/cmsis
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 136
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+ cmsis_os.c
+ 0
+ 0
+
+
+
+
+ tos/config
+ 1
+ 0
+ 0
+ 0
+
+ 8
+ 137
+ 5
+ 0
+ 0
+ 0
+ ..\..\TOS_CONFIG\tos_config.h
+ tos_config.h
+ 0
+ 0
+
+
+
+
+ at
+ 0
+ 0
+ 0
+ 0
+
+ 9
+ 138
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\net\at\src\tos_at.c
+ tos_at.c
+ 0
+ 0
+
+
+
+
+ net
+ 1
+ 0
+ 0
+ 0
+
+ 10
+ 139
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+ sal_module_wrapper.c
+ 0
+ 0
+
+
+
+
+ hal
+ 0
+ 0
+ 0
+ 0
+
+ 11
+ 140
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+ tos_hal_uart.c
+ 0
+ 0
+
+
+
+
+ devices
+ 1
+ 0
+ 0
+ 0
+
+ 12
+ 141
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\devices\m5313\m5313.c
+ m5313.c
+ 0
+ 0
+
+
+
+
+ app
+ 1
+ 0
+ 0
+ 0
+
+ 13
+ 142
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\app\mqttclient_iot_explorer.c
+ mqttclient_iot_explorer.c
+ 0
+ 0
+
+
+
+
+ mqttclient
+ 0
+ 0
+ 0
+ 0
+
+ 14
+ 143
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqttclient\mqttclient.c
+ mqttclient.c
+ 0
+ 0
+
+
+
+
+ mqttclient/mqtt
+ 0
+ 0
+ 0
+ 0
+
+ 15
+ 144
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectClient.c
+ MQTTConnectClient.c
+ 0
+ 0
+
+
+ 15
+ 145
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectServer.c
+ MQTTConnectServer.c
+ 0
+ 0
+
+
+ 15
+ 146
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTDeserializePublish.c
+ MQTTDeserializePublish.c
+ 0
+ 0
+
+
+ 15
+ 147
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTFormat.c
+ MQTTFormat.c
+ 0
+ 0
+
+
+ 15
+ 148
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTPacket.c
+ MQTTPacket.c
+ 0
+ 0
+
+
+ 15
+ 149
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSerializePublish.c
+ MQTTSerializePublish.c
+ 0
+ 0
+
+
+ 15
+ 150
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeClient.c
+ MQTTSubscribeClient.c
+ 0
+ 0
+
+
+ 15
+ 151
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeServer.c
+ MQTTSubscribeServer.c
+ 0
+ 0
+
+
+ 15
+ 152
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeClient.c
+ MQTTUnsubscribeClient.c
+ 0
+ 0
+
+
+ 15
+ 153
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeServer.c
+ MQTTUnsubscribeServer.c
+ 0
+ 0
+
+
+
+
+ mqttclient/salof
+ 0
+ 0
+ 0
+ 0
+
+ 16
+ 154
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\arch\tencentos-tiny\arch.c
+ arch.c
+ 0
+ 0
+
+
+ 16
+ 155
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\fifo.c
+ fifo.c
+ 0
+ 0
+
+
+ 16
+ 156
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\format.c
+ format.c
+ 0
+ 0
+
+
+ 16
+ 157
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\salof.c
+ salof.c
+ 0
+ 0
+
+
+
+
+ mqttclient/common
+ 0
+ 0
+ 0
+ 0
+
+ 17
+ 158
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\random.c
+ random.c
+ 0
+ 0
+
+
+ 17
+ 159
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\mqtt_list.c
+ mqtt_list.c
+ 0
+ 0
+
+
+
+
+ mqttclient/network
+ 0
+ 0
+ 0
+ 0
+
+ 18
+ 160
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\network\network.c
+ network.c
+ 0
+ 0
+
+
+ 18
+ 161
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tcp.c
+ nettype_tcp.c
+ 0
+ 0
+
+
+ 18
+ 162
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tls.c
+ nettype_tls.c
+ 0
+ 0
+
+
+
+
+ mqttclient/platform
+ 0
+ 0
+ 0
+ 0
+
+ 19
+ 163
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_memory.c
+ platform_memory.c
+ 0
+ 0
+
+
+ 19
+ 164
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_mutex.c
+ platform_mutex.c
+ 0
+ 0
+
+
+ 19
+ 165
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_net_socket.c
+ platform_net_socket.c
+ 0
+ 0
+
+
+ 19
+ 166
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_thread.c
+ platform_thread.c
+ 0
+ 0
+
+
+ 19
+ 167
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_timer.c
+ platform_timer.c
+ 0
+ 0
+
+
+
+
+ cjson
+ 0
+ 0
+ 0
+ 0
+
+ 20
+ 168
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\utils\JSON\src\cJSON.c
+ cJSON.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvprojx b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvprojx
new file mode 100644
index 00000000..3f229ea1
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/BDW01-STM32L496VG.uvprojx
@@ -0,0 +1,1337 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+ 5060183::V5.06 update 2 (build 183)::ARMCC
+
+
+ STM32L496VGTx
+ STMicroelectronics
+ Keil.STM32L4xx_DFP.2.4.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00040000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM))
+ 0
+ $$Device:STM32L496VGTx$Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32L496VGTx$CMSIS\SVD\STM32L4x6.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\app\
+ BDW01-STM32L496VG-mqttclient_iot_explorer
+ 1
+ 0
+ 1
+ 1
+ 0
+
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32L496xx
+
+ ..\..\BSP\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32L4xx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\hal\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\..\..\devices\sht3x;..\..\..\..\devices\lsm6dsl;..\..\..\..\devices\l2832tsww;..\..\..\..\devices\4G_EC20;..\..\..\..\devices\gps;..\..\..\..\devices\m5313;..\..\..\..\net\at\include;..\..\..\..\net\sal_module_wrapper;..\..\..\..\net\4G_module_wrapper;..\..\..\..\net\lora_module_wrapper;..\..\..\..\net\passthrough;..\..\..\..\components\math;..\..\..\..\components\connectivity\mqttclient\common;..\..\..\..\components\connectivity\mqttclient\common\log;..\..\..\..\components\connectivity\mqttclient\mqtt;..\..\..\..\components\connectivity\mqttclient\mqttclient;..\..\..\..\components\connectivity\mqttclient\network;..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny;..\..\..\..\components\utils\JSON\include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Application/MDK-ARM
+
+
+ startup_stm32l496xx.s
+ 2
+ .\startup_stm32l496xx.s
+
+
+
+
+ Application/User
+
+
+ gpio.c
+ 1
+ ..\..\BSP\Src\gpio.c
+
+
+ main.c
+ 1
+ ..\..\BSP\Src\main.c
+
+
+ mcu_init.c
+ 1
+ ..\..\BSP\Src\mcu_init.c
+
+
+ usart.c
+ 1
+ ..\..\BSP\Src\usart.c
+
+
+ stm32l4xx_hal_msp.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+
+
+ stm32l4xx_it.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_it.c
+
+
+ mymath.c
+ 1
+ ..\..\BSP\Src\mymath.c
+
+
+ i2c.c
+ 1
+ ..\..\BSP\Src\i2c.c
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+
+
+ stm32l4xx_hal.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+
+
+ stm32l4xx_hal_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+
+
+ stm32l4xx_hal_adc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+
+
+ stm32l4xx_hal_can.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+
+
+ stm32l4xx_hal_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+
+
+ stm32l4xx_hal_cortex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+
+
+ stm32l4xx_hal_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+
+
+ stm32l4xx_hal_crc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+
+
+ stm32l4xx_hal_cryp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+
+
+ stm32l4xx_hal_cryp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+
+
+ stm32l4xx_hal_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+
+
+ stm32l4xx_hal_dac_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+
+
+ stm32l4xx_hal_dcmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+
+
+ stm32l4xx_hal_dfsdm.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+
+
+ stm32l4xx_hal_dfsdm_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+
+
+ stm32l4xx_hal_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+
+
+ stm32l4xx_hal_dma_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+
+
+ stm32l4xx_hal_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+
+
+ stm32l4xx_hal_dsi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+
+
+ stm32l4xx_hal_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+
+
+ stm32l4xx_hal_firewall.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+
+
+ stm32l4xx_hal_flash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+
+
+ stm32l4xx_hal_flash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+
+
+ stm32l4xx_hal_flash_ramfunc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+
+
+ stm32l4xx_hal_gfxmmu.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+
+
+ stm32l4xx_hal_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+
+
+ stm32l4xx_hal_hash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+
+
+ stm32l4xx_hal_hash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+
+
+ stm32l4xx_hal_hcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+
+
+ stm32l4xx_hal_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+
+
+ stm32l4xx_hal_i2c_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+
+
+ stm32l4xx_hal_irda.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+
+
+ stm32l4xx_hal_iwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+
+
+ stm32l4xx_hal_lcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+
+
+ stm32l4xx_hal_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+
+
+ stm32l4xx_hal_ltdc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+
+
+ stm32l4xx_hal_ltdc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+
+
+ stm32l4xx_hal_nand.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+
+
+ stm32l4xx_hal_nor.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+
+
+ stm32l4xx_hal_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+
+
+ stm32l4xx_hal_opamp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+
+
+ stm32l4xx_hal_ospi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+
+
+ stm32l4xx_hal_pcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+
+
+ stm32l4xx_hal_pcd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+
+
+ stm32l4xx_hal_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+
+
+ stm32l4xx_hal_pwr_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+
+
+ stm32l4xx_hal_qspi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+
+
+ stm32l4xx_hal_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+
+
+ stm32l4xx_hal_rcc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+
+
+ stm32l4xx_hal_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+
+
+ stm32l4xx_hal_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+
+
+ stm32l4xx_hal_rtc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+
+
+ stm32l4xx_hal_sai.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+
+
+ stm32l4xx_hal_sai_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+
+
+ stm32l4xx_hal_sd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+
+
+ stm32l4xx_hal_sd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+
+
+ stm32l4xx_hal_smartcard.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+
+
+ stm32l4xx_hal_smartcard_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+
+
+ stm32l4xx_hal_smbus.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+
+
+ stm32l4xx_hal_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+
+
+ stm32l4xx_hal_spi_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+
+
+ stm32l4xx_hal_sram.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+
+
+ stm32l4xx_hal_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+
+
+ stm32l4xx_hal_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+
+
+ stm32l4xx_hal_tim_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+
+
+ stm32l4xx_hal_timebase_tim_template.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+
+
+ stm32l4xx_hal_tsc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+
+
+ stm32l4xx_hal_uart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+
+
+ stm32l4xx_hal_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+
+
+ stm32l4xx_hal_usart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+
+
+ stm32l4xx_hal_wwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+
+
+ stm32l4xx_ll_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+
+
+ stm32l4xx_ll_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+
+
+ stm32l4xx_ll_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+
+
+ stm32l4xx_ll_crs.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+
+
+ stm32l4xx_ll_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+
+
+ stm32l4xx_ll_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+
+
+ stm32l4xx_ll_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+
+
+ stm32l4xx_ll_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+
+
+ stm32l4xx_ll_fmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+
+
+ stm32l4xx_ll_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+
+
+ stm32l4xx_ll_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+
+
+ stm32l4xx_ll_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+
+
+ stm32l4xx_ll_lpuart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+
+
+ stm32l4xx_ll_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+
+
+ stm32l4xx_ll_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+
+
+ stm32l4xx_ll_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+
+
+ stm32l4xx_ll_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+
+
+ stm32l4xx_ll_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+
+
+ stm32l4xx_ll_sdmmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+
+
+ stm32l4xx_ll_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+
+
+ stm32l4xx_ll_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+
+
+ stm32l4xx_ll_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+
+
+ stm32l4xx_ll_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+
+
+ stm32l4xx_ll_usb.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+
+
+ stm32l4xx_ll_utils.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+
+
+
+
+ Drivers/CMSIS
+
+
+ system_stm32l4xx.c
+ 1
+ ..\..\BSP\Src\system_stm32l4xx.c
+
+
+
+
+ tos/arch
+
+
+ tos_cpu.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+
+
+ port_c.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+
+
+ port_s.S
+ 2
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+
+
+
+
+ tos/kernel
+
+
+ tos_event.c
+ 1
+ ..\..\..\..\kernel\core\tos_event.c
+
+
+ tos_global.c
+ 1
+ ..\..\..\..\kernel\core\tos_global.c
+
+
+ tos_mmblk.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmblk.c
+
+
+ tos_mmheap.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmheap.c
+
+
+ tos_mutex.c
+ 1
+ ..\..\..\..\kernel\core\tos_mutex.c
+
+
+ tos_pend.c
+ 1
+ ..\..\..\..\kernel\core\tos_pend.c
+
+
+ tos_robin.c
+ 1
+ ..\..\..\..\kernel\core\tos_robin.c
+
+
+ tos_sched.c
+ 1
+ ..\..\..\..\kernel\core\tos_sched.c
+
+
+ tos_sem.c
+ 1
+ ..\..\..\..\kernel\core\tos_sem.c
+
+
+ tos_sys.c
+ 1
+ ..\..\..\..\kernel\core\tos_sys.c
+
+
+ tos_task.c
+ 1
+ ..\..\..\..\kernel\core\tos_task.c
+
+
+ tos_tick.c
+ 1
+ ..\..\..\..\kernel\core\tos_tick.c
+
+
+ tos_time.c
+ 1
+ ..\..\..\..\kernel\core\tos_time.c
+
+
+ tos_timer.c
+ 1
+ ..\..\..\..\kernel\core\tos_timer.c
+
+
+ tos_binary_heap.c
+ 1
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+
+
+ tos_char_fifo.c
+ 1
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+
+
+ tos_completion.c
+ 1
+ ..\..\..\..\kernel\core\tos_completion.c
+
+
+ tos_countdownlatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+
+
+ tos_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+
+
+ tos_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_message_queue.c
+
+
+ tos_priority_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+
+
+ tos_priority_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+
+
+ tos_priority_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+
+
+ tos_ring_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+
+
+ tos_stopwatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_stopwatch.c
+
+
+
+
+ tos/cmsis
+
+
+ cmsis_os.c
+ 1
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+
+
+
+
+ tos/config
+
+
+ tos_config.h
+ 5
+ ..\..\TOS_CONFIG\tos_config.h
+
+
+
+
+ at
+
+
+ tos_at.c
+ 1
+ ..\..\..\..\net\at\src\tos_at.c
+
+
+
+
+ net
+
+
+ sal_module_wrapper.c
+ 1
+ ..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+
+
+
+
+ hal
+
+
+ tos_hal_uart.c
+ 1
+ ..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+
+
+
+
+ devices
+
+
+ m5313.c
+ 1
+ ..\..\..\..\devices\m5313\m5313.c
+
+
+
+
+ app
+
+
+ mqttclient_iot_explorer.c
+ 1
+ ..\..\BSP\app\mqttclient_iot_explorer.c
+
+
+
+
+ mqttclient
+
+
+ mqttclient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqttclient\mqttclient.c
+
+
+
+
+ mqttclient/mqtt
+
+
+ MQTTConnectClient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectClient.c
+
+
+ MQTTConnectServer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectServer.c
+
+
+ MQTTDeserializePublish.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTDeserializePublish.c
+
+
+ MQTTFormat.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTFormat.c
+
+
+ MQTTPacket.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTPacket.c
+
+
+ MQTTSerializePublish.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSerializePublish.c
+
+
+ MQTTSubscribeClient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeClient.c
+
+
+ MQTTSubscribeServer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeServer.c
+
+
+ MQTTUnsubscribeClient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeClient.c
+
+
+ MQTTUnsubscribeServer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeServer.c
+
+
+
+
+ mqttclient/salof
+
+
+ arch.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\arch\tencentos-tiny\arch.c
+
+
+ fifo.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\fifo.c
+
+
+ format.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\format.c
+
+
+ salof.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\salof.c
+
+
+
+
+ mqttclient/common
+
+
+ random.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\random.c
+
+
+ mqtt_list.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\mqtt_list.c
+
+
+
+
+ mqttclient/network
+
+
+ network.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\network\network.c
+
+
+ nettype_tcp.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tcp.c
+
+
+ nettype_tls.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tls.c
+
+
+
+
+ mqttclient/platform
+
+
+ platform_memory.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_memory.c
+
+
+ platform_mutex.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_mutex.c
+
+
+ platform_net_socket.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_net_socket.c
+
+
+ platform_thread.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_thread.c
+
+
+ platform_timer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_timer.c
+
+
+
+
+ cjson
+
+
+ cJSON.c
+ 1
+ ..\..\..\..\components\utils\JSON\src\cJSON.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/startup_stm32l496xx.s b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/startup_stm32l496xx.s
new file mode 100644
index 00000000..7ed6a1e3
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer/startup_stm32l496xx.s
@@ -0,0 +1,451 @@
+;*******************************************************************************
+;* File Name : startup_stm32l496xx.s
+;* Author : MCD Application Team
+;* Description : STM32L496xx Ultra Low Power devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;*******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2017 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software component is licensed by ST under BSD 3-Clause license,
+;* the "License"; You may not use this file except in compliance with the
+;* License. You may obtain a copy of the License at:
+;* opensource.org/licenses/BSD-3-Clause
+;*
+;*******************************************************************************
+;
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x8000
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x8000
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD/PVM1/PVM2/PVM3/PVM4 through EXTI Line detection
+ DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
+ DCD FLASH_IRQHandler ; FLASH
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line0
+ DCD EXTI1_IRQHandler ; EXTI Line1
+ DCD EXTI2_IRQHandler ; EXTI Line2
+ DCD EXTI3_IRQHandler ; EXTI Line3
+ DCD EXTI4_IRQHandler ; EXTI Line4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1, ADC2
+ DCD CAN1_TX_IRQHandler ; CAN1 TX
+ DCD CAN1_RX0_IRQHandler ; CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; External Line[9:5]s
+ DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15
+ DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16
+ DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; External Line[15:10]
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
+ DCD DFSDM1_FLT3_IRQHandler ; DFSDM1 Filter 3 global Interrupt
+ DCD TIM8_BRK_IRQHandler ; TIM8 Break Interrupt
+ DCD TIM8_UP_IRQHandler ; TIM8 Update Interrupt
+ DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation Interrupt
+ DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt
+ DCD ADC3_IRQHandler ; ADC3 global Interrupt
+ DCD FMC_IRQHandler ; FMC
+ DCD SDMMC1_IRQHandler ; SDMMC1
+ DCD TIM5_IRQHandler ; TIM5
+ DCD SPI3_IRQHandler ; SPI3
+ DCD UART4_IRQHandler ; UART4
+ DCD UART5_IRQHandler ; UART5
+ DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
+ DCD TIM7_IRQHandler ; TIM7
+ DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
+ DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
+ DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
+ DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
+ DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
+ DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter 0 global Interrupt
+ DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter 1 global Interrupt
+ DCD DFSDM1_FLT2_IRQHandler ; DFSDM1 Filter 2 global Interrupt
+ DCD COMP_IRQHandler ; COMP Interrupt
+ DCD LPTIM1_IRQHandler ; LP TIM1 interrupt
+ DCD LPTIM2_IRQHandler ; LP TIM2 interrupt
+ DCD OTG_FS_IRQHandler ; USB OTG FS
+ DCD DMA2_Channel6_IRQHandler ; DMA2 Channel 6
+ DCD DMA2_Channel7_IRQHandler ; DMA2 Channel 7
+ DCD LPUART1_IRQHandler ; LP UART1 interrupt
+ DCD QUADSPI_IRQHandler ; Quad SPI global interrupt
+ DCD I2C3_EV_IRQHandler ; I2C3 event
+ DCD I2C3_ER_IRQHandler ; I2C3 error
+ DCD SAI1_IRQHandler ; Serial Audio Interface 1 global interrupt
+ DCD SAI2_IRQHandler ; Serial Audio Interface 2 global interrupt
+ DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt
+ DCD TSC_IRQHandler ; Touch Sense Controller global interrupt
+ DCD LCD_IRQHandler ; LCD global interrupt
+ DCD 0 ; Reserved
+ DCD RNG_IRQHandler ; RNG global interrupt
+ DCD FPU_IRQHandler ; FPU
+ DCD CRS_IRQHandler ; CRS error
+ DCD I2C4_EV_IRQHandler ; I2C4 event
+ DCD I2C4_ER_IRQHandler ; I2C4 error
+ DCD DCMI_IRQHandler ; DCMI global interrupt
+ DCD CAN2_TX_IRQHandler ; CAN2 TX
+ DCD CAN2_RX0_IRQHandler ; CAN2 RX0
+ DCD CAN2_RX1_IRQHandler ; CAN2 RX1
+ DCD CAN2_SCE_IRQHandler ; CAN2 SCE
+ DCD DMA2D_IRQHandler ; DMA2D global interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT CAN1_TX_IRQHandler [WEAK]
+ EXPORT CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK]
+ EXPORT TIM1_UP_TIM16_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT3_IRQHandler [WEAK]
+ EXPORT TIM8_BRK_IRQHandler [WEAK]
+ EXPORT TIM8_UP_IRQHandler [WEAK]
+ EXPORT TIM8_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM8_CC_IRQHandler [WEAK]
+ EXPORT ADC3_IRQHandler [WEAK]
+ EXPORT FMC_IRQHandler [WEAK]
+ EXPORT SDMMC1_IRQHandler [WEAK]
+ EXPORT TIM5_IRQHandler [WEAK]
+ EXPORT SPI3_IRQHandler [WEAK]
+ EXPORT UART4_IRQHandler [WEAK]
+ EXPORT UART5_IRQHandler [WEAK]
+ EXPORT TIM6_DAC_IRQHandler [WEAK]
+ EXPORT TIM7_IRQHandler [WEAK]
+ EXPORT DMA2_Channel1_IRQHandler [WEAK]
+ EXPORT DMA2_Channel2_IRQHandler [WEAK]
+ EXPORT DMA2_Channel3_IRQHandler [WEAK]
+ EXPORT DMA2_Channel4_IRQHandler [WEAK]
+ EXPORT DMA2_Channel5_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT0_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT1_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT OTG_FS_IRQHandler [WEAK]
+ EXPORT DMA2_Channel6_IRQHandler [WEAK]
+ EXPORT DMA2_Channel7_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT QUADSPI_IRQHandler [WEAK]
+ EXPORT I2C3_EV_IRQHandler [WEAK]
+ EXPORT I2C3_ER_IRQHandler [WEAK]
+ EXPORT SAI1_IRQHandler [WEAK]
+ EXPORT SAI2_IRQHandler [WEAK]
+ EXPORT SWPMI1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT LCD_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT CRS_IRQHandler [WEAK]
+ EXPORT I2C4_EV_IRQHandler [WEAK]
+ EXPORT I2C4_ER_IRQHandler [WEAK]
+ EXPORT DCMI_IRQHandler [WEAK]
+ EXPORT CAN2_TX_IRQHandler [WEAK]
+ EXPORT CAN2_RX0_IRQHandler [WEAK]
+ EXPORT CAN2_RX1_IRQHandler [WEAK]
+ EXPORT CAN2_SCE_IRQHandler [WEAK]
+ EXPORT DMA2D_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+CAN1_TX_IRQHandler
+CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_TIM15_IRQHandler
+TIM1_UP_TIM16_IRQHandler
+TIM1_TRG_COM_TIM17_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+DFSDM1_FLT3_IRQHandler
+TIM8_BRK_IRQHandler
+TIM8_UP_IRQHandler
+TIM8_TRG_COM_IRQHandler
+TIM8_CC_IRQHandler
+ADC3_IRQHandler
+FMC_IRQHandler
+SDMMC1_IRQHandler
+TIM5_IRQHandler
+SPI3_IRQHandler
+UART4_IRQHandler
+UART5_IRQHandler
+TIM6_DAC_IRQHandler
+TIM7_IRQHandler
+DMA2_Channel1_IRQHandler
+DMA2_Channel2_IRQHandler
+DMA2_Channel3_IRQHandler
+DMA2_Channel4_IRQHandler
+DMA2_Channel5_IRQHandler
+DFSDM1_FLT0_IRQHandler
+DFSDM1_FLT1_IRQHandler
+DFSDM1_FLT2_IRQHandler
+COMP_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+OTG_FS_IRQHandler
+DMA2_Channel6_IRQHandler
+DMA2_Channel7_IRQHandler
+LPUART1_IRQHandler
+QUADSPI_IRQHandler
+I2C3_EV_IRQHandler
+I2C3_ER_IRQHandler
+SAI1_IRQHandler
+SAI2_IRQHandler
+SWPMI1_IRQHandler
+TSC_IRQHandler
+LCD_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+CRS_IRQHandler
+I2C4_EV_IRQHandler
+I2C4_ER_IRQHandler
+DCMI_IRQHandler
+CAN2_TX_IRQHandler
+CAN2_RX0_IRQHandler
+CAN2_RX1_IRQHandler
+CAN2_SCE_IRQHandler
+DMA2D_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
+;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.sct b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.sct
new file mode 100644
index 00000000..c3369f91
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.sct
@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00100000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x00040000 { ; RW data
+ .ANY (+RW +ZI)
+ }
+}
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvguix.Administrator b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvguix.Administrator
new file mode 100644
index 00000000..c229101d
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvguix.Administrator
@@ -0,0 +1,3385 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 38003
+ Registers
+ 115 175
+
+
+ 346
+ Code Coverage
+ 810 160
+
+
+ 204
+ Performance Analyzer
+ 970
+
+
+
+
+
+ 1506
+ Symbols
+
+ 66 66 66
+
+
+ 1936
+ Watch 1
+
+ 66 66 66
+
+
+ 1937
+ Watch 2
+
+ 66 66 66
+
+
+ 1935
+ Call Stack + Locals
+
+ 66 66 66
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -1
+ -1
+
+
+ -1
+ -1
+
+
+ 99
+ 365
+ 1389
+ 724
+
+
+
+ 0
+
+ 60
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CC0000004F000000A0040000C4000000
+
+
+ 16
+ CC00000065000000A0040000DA000000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000002901000043020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000002901000043020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000002901000043020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000002901000043020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 0000000074020000400600003D030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000AF010000A004000038020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000770200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000002901000043020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000770200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000770200003D06000024030000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 505
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000FC0300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003D0300004006000050030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 571
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000004B04000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3119
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000C4000000A0040000C8000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000CC00000065000000A0040000DA000000CC0000004F000000A0040000C40000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F000000300100005C0200000100000002000010040000000100000027FFFFFF5C050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002C01000072020000000000004F0000002C0100005C0200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000AB010000A0040000AF01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C5010000A00400004E02000000000000AF010000A00400003802000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF50020000AF010000540200003802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000005C0200004006000060020000010000000100001004000000010000008DFDFFFF70000000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000007602000040060000530300000000000060020000400600003D0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2075
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000004000F0000000000000000000000000000000001000000010000000180FE880000000004001000000000000000000000000000000000010000000100000001800B810000000004001100000000000000000000000000000000010000000100000001800C810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F08800000200000013000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000010000000000000001000000960000000200205000000000086D7174745F70756296000000000000000300086D7174745F70756216746F735F74665F6D6F64756C655F6D7174745F707562145245504F52545F444154415F54454D504C415445000000000000000000000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000004001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400180000000000000000000000000000000001000000010000000180C988000000000400190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000001000000000000000100000000000000000000000100000008002880DD880000000000001C0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000001000000000000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000001000000000000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000100000000000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000010000000000000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000001000000000000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000000000000446696C65F9010000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 709
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000400000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000004000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000D53656C6563742054617267657400000000000000000100000000000000010000009600000003002050000000001142445730312D53544D33324C3439365647960000000000000001001142445730312D53544D33324C3439365647000000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000400090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C00000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2372
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000001000000000000000100000000000000000000000100000003001380D88B0000000000000D000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000001000000000000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380D28B0000000000000E000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000001000000000000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000001000000000000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000010000000000000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000100000000000000010000000000000000000000010000000400138093070000000000000F00000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000100000000000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000100000000000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000010000000000000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380658A000000000000100000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000001000000000000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000001000000000000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000130000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7200000000000000000100000000000000010000000000000000000000010000000000000000000544656275673B020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 650100004F00000040040000C4000000
+
+
+ 16
+ 650100006500000040040000DA000000
+
+
+
+ 1005
+ 1005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000780200004004000033030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 650100006300000040040000C4000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000330300004006000046030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3223
+ 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF65010000C400000040040000C8000000010000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000650100006500000040040000DA000000650100004F00000040040000C40000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF610100004F0000006501000074020000010000000200001004000000010000003AFFFFFF6F050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000610100008A020000000000004F00000061010000740200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000074020000400400007802000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF2003000078020000240300003303000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA02000040060000BE020000000000000100000004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000000000D4020000400600004903000000000000BE02000040060000330300000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF400400004F0000004404000033030000010000000200001004000000010000009BFDFFFF6B02000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180004000000100000044040000650000004006000049030000440400004F000000400600003303000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2348
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008555342445F4344439600000000000000130008555342445F43444307696E7431365F740775696E74385F740672656D61696E056572726F72074F53433130304B04414E53490C726573706563746976656C79185F5F48414C5F554152545F4745545F49545F534F555243450F554152545F434C4541525F52544F460E55534152545F4953525F52544F460B4255464645525F53495A450A52785866657253697A651048414C5F554152545F52656365697665195F5F48414C5F554152545F434C4541525F49444C45464C4147115452414E534D49545445525F424F4152440C444D415F4343525F4349524314554152545F444D415472616E736D697443706C741748414C5F554152545F547843706C7443616C6C6261636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 670
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046770696F96000000000000000100046770696F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2361
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F727920263400000000000000000000000001000000010000000000000000000000010000000000138010010000020000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvoptx b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvoptx
new file mode 100644
index 00000000..f8777f88
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvoptx
@@ -0,0 +1,2408 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+
+ 0
+ Getting Started (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00285842.pdf
+
+
+ 1
+ User Manual (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00353127.pdf
+
+
+ 2
+ Bill of Materials (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_bom.zip
+
+
+ 3
+ Gerber Files (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_gerber.zip
+
+
+ 4
+ STM32L496G-Discovery Web Page (STM32L496G-Discovery)
+ http://www.st.com/en/evaluation-tools/32l496gdiscovery.html
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32L4xx_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U51FF68064965575333151687 -O206 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+
+
+ 0
+
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Application/MDK-ARM
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32l496xx.s
+ startup_stm32l496xx.s
+ 0
+ 0
+
+
+
+
+ Application/User
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\gpio.c
+ gpio.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mcu_init.c
+ mcu_init.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\usart.c
+ usart.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+ stm32l4xx_hal_msp.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_it.c
+ stm32l4xx_it.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mymath.c
+ mymath.c
+ 0
+ 0
+
+
+ 2
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\i2c.c
+ i2c.c
+ 0
+ 0
+
+
+ 2
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\gps.c
+ gps.c
+ 0
+ 0
+
+
+ 2
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\tos_at_gps.c
+ tos_at_gps.c
+ 0
+ 0
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+ stm32l4xx_hal.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+ stm32l4xx_hal_adc.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+ stm32l4xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+ stm32l4xx_hal_can.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+ stm32l4xx_hal_comp.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+ stm32l4xx_hal_cortex.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+ stm32l4xx_hal_crc.c
+ 0
+ 0
+
+
+ 3
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+ stm32l4xx_hal_crc_ex.c
+ 0
+ 0
+
+
+ 3
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+ stm32l4xx_hal_cryp.c
+ 0
+ 0
+
+
+ 3
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+ stm32l4xx_hal_cryp_ex.c
+ 0
+ 0
+
+
+ 3
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+ stm32l4xx_hal_dac.c
+ 0
+ 0
+
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+ stm32l4xx_hal_dac_ex.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+ stm32l4xx_hal_dcmi.c
+ 0
+ 0
+
+
+ 3
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+ stm32l4xx_hal_dfsdm.c
+ 0
+ 0
+
+
+ 3
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+ stm32l4xx_hal_dfsdm_ex.c
+ 0
+ 0
+
+
+ 3
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+ stm32l4xx_hal_dma.c
+ 0
+ 0
+
+
+ 3
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+ stm32l4xx_hal_dma_ex.c
+ 0
+ 0
+
+
+ 3
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+ stm32l4xx_hal_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+ stm32l4xx_hal_dsi.c
+ 0
+ 0
+
+
+ 3
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+ stm32l4xx_hal_exti.c
+ 0
+ 0
+
+
+ 3
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+ stm32l4xx_hal_firewall.c
+ 0
+ 0
+
+
+ 3
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+ stm32l4xx_hal_flash.c
+ 0
+ 0
+
+
+ 3
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+ stm32l4xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 3
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+ stm32l4xx_hal_flash_ramfunc.c
+ 0
+ 0
+
+
+ 3
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+ stm32l4xx_hal_gfxmmu.c
+ 0
+ 0
+
+
+ 3
+ 37
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+ stm32l4xx_hal_gpio.c
+ 0
+ 0
+
+
+ 3
+ 38
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+ stm32l4xx_hal_hash.c
+ 0
+ 0
+
+
+ 3
+ 39
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+ stm32l4xx_hal_hash_ex.c
+ 0
+ 0
+
+
+ 3
+ 40
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+ stm32l4xx_hal_hcd.c
+ 0
+ 0
+
+
+ 3
+ 41
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+ stm32l4xx_hal_i2c.c
+ 0
+ 0
+
+
+ 3
+ 42
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+ stm32l4xx_hal_i2c_ex.c
+ 0
+ 0
+
+
+ 3
+ 43
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+ stm32l4xx_hal_irda.c
+ 0
+ 0
+
+
+ 3
+ 44
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+ stm32l4xx_hal_iwdg.c
+ 0
+ 0
+
+
+ 3
+ 45
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+ stm32l4xx_hal_lcd.c
+ 0
+ 0
+
+
+ 3
+ 46
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+ stm32l4xx_hal_lptim.c
+ 0
+ 0
+
+
+ 3
+ 47
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+ stm32l4xx_hal_ltdc.c
+ 0
+ 0
+
+
+ 3
+ 48
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+ stm32l4xx_hal_ltdc_ex.c
+ 0
+ 0
+
+
+ 3
+ 49
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+ stm32l4xx_hal_nand.c
+ 0
+ 0
+
+
+ 3
+ 50
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+ stm32l4xx_hal_nor.c
+ 0
+ 0
+
+
+ 3
+ 51
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+ stm32l4xx_hal_opamp.c
+ 0
+ 0
+
+
+ 3
+ 52
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+ stm32l4xx_hal_opamp_ex.c
+ 0
+ 0
+
+
+ 3
+ 53
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+ stm32l4xx_hal_ospi.c
+ 0
+ 0
+
+
+ 3
+ 54
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+ stm32l4xx_hal_pcd.c
+ 0
+ 0
+
+
+ 3
+ 55
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+ stm32l4xx_hal_pcd_ex.c
+ 0
+ 0
+
+
+ 3
+ 56
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+ stm32l4xx_hal_pwr.c
+ 0
+ 0
+
+
+ 3
+ 57
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+ stm32l4xx_hal_pwr_ex.c
+ 0
+ 0
+
+
+ 3
+ 58
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+ stm32l4xx_hal_qspi.c
+ 0
+ 0
+
+
+ 3
+ 59
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+ stm32l4xx_hal_rcc.c
+ 0
+ 0
+
+
+ 3
+ 60
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+ stm32l4xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 3
+ 61
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+ stm32l4xx_hal_rng.c
+ 0
+ 0
+
+
+ 3
+ 62
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+ stm32l4xx_hal_rtc.c
+ 0
+ 0
+
+
+ 3
+ 63
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+ stm32l4xx_hal_rtc_ex.c
+ 0
+ 0
+
+
+ 3
+ 64
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+ stm32l4xx_hal_sai.c
+ 0
+ 0
+
+
+ 3
+ 65
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+ stm32l4xx_hal_sai_ex.c
+ 0
+ 0
+
+
+ 3
+ 66
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+ stm32l4xx_hal_sd.c
+ 0
+ 0
+
+
+ 3
+ 67
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+ stm32l4xx_hal_sd_ex.c
+ 0
+ 0
+
+
+ 3
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+ stm32l4xx_hal_smartcard.c
+ 0
+ 0
+
+
+ 3
+ 69
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+ stm32l4xx_hal_smartcard_ex.c
+ 0
+ 0
+
+
+ 3
+ 70
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+ stm32l4xx_hal_smbus.c
+ 0
+ 0
+
+
+ 3
+ 71
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+ stm32l4xx_hal_spi.c
+ 0
+ 0
+
+
+ 3
+ 72
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+ stm32l4xx_hal_spi_ex.c
+ 0
+ 0
+
+
+ 3
+ 73
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+ stm32l4xx_hal_sram.c
+ 0
+ 0
+
+
+ 3
+ 74
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+ stm32l4xx_hal_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 75
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+ stm32l4xx_hal_tim.c
+ 0
+ 0
+
+
+ 3
+ 76
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+ stm32l4xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 3
+ 77
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+ stm32l4xx_hal_timebase_tim_template.c
+ 0
+ 0
+
+
+ 3
+ 78
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+ stm32l4xx_hal_tsc.c
+ 0
+ 0
+
+
+ 3
+ 79
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 3
+ 80
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
+
+ 3
+ 81
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+ stm32l4xx_hal_usart.c
+ 0
+ 0
+
+
+ 3
+ 82
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+ stm32l4xx_hal_usart_ex.c
+ 0
+ 0
+
+
+ 3
+ 83
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+ stm32l4xx_hal_wwdg.c
+ 0
+ 0
+
+
+ 3
+ 84
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+ stm32l4xx_ll_adc.c
+ 0
+ 0
+
+
+ 3
+ 85
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+ stm32l4xx_ll_comp.c
+ 0
+ 0
+
+
+ 3
+ 86
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+ stm32l4xx_ll_crc.c
+ 0
+ 0
+
+
+ 3
+ 87
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+ stm32l4xx_ll_crs.c
+ 0
+ 0
+
+
+ 3
+ 88
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+ stm32l4xx_ll_dac.c
+ 0
+ 0
+
+
+ 3
+ 89
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+ stm32l4xx_ll_dma.c
+ 0
+ 0
+
+
+ 3
+ 90
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+ stm32l4xx_ll_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 91
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+ stm32l4xx_ll_exti.c
+ 0
+ 0
+
+
+ 3
+ 92
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+ stm32l4xx_ll_fmc.c
+ 0
+ 0
+
+
+ 3
+ 93
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+ stm32l4xx_ll_gpio.c
+ 0
+ 0
+
+
+ 3
+ 94
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+ stm32l4xx_ll_i2c.c
+ 0
+ 0
+
+
+ 3
+ 95
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+ stm32l4xx_ll_lptim.c
+ 0
+ 0
+
+
+ 3
+ 96
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+ stm32l4xx_ll_lpuart.c
+ 0
+ 0
+
+
+ 3
+ 97
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+ stm32l4xx_ll_opamp.c
+ 0
+ 0
+
+
+ 3
+ 98
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+ stm32l4xx_ll_pwr.c
+ 0
+ 0
+
+
+ 3
+ 99
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+ stm32l4xx_ll_rcc.c
+ 0
+ 0
+
+
+ 3
+ 100
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+ stm32l4xx_ll_rng.c
+ 0
+ 0
+
+
+ 3
+ 101
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+ stm32l4xx_ll_rtc.c
+ 0
+ 0
+
+
+ 3
+ 102
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+ stm32l4xx_ll_sdmmc.c
+ 0
+ 0
+
+
+ 3
+ 103
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+ stm32l4xx_ll_spi.c
+ 0
+ 0
+
+
+ 3
+ 104
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+ stm32l4xx_ll_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 105
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+ stm32l4xx_ll_tim.c
+ 0
+ 0
+
+
+ 3
+ 106
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+ stm32l4xx_ll_usart.c
+ 0
+ 0
+
+
+ 3
+ 107
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+ stm32l4xx_ll_usb.c
+ 0
+ 0
+
+
+ 3
+ 108
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+ stm32l4xx_ll_utils.c
+ 0
+ 0
+
+
+
+
+ Drivers/CMSIS
+ 1
+ 0
+ 0
+ 0
+
+ 4
+ 109
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\system_stm32l4xx.c
+ system_stm32l4xx.c
+ 0
+ 0
+
+
+
+
+ tos/arch
+ 0
+ 0
+ 0
+ 0
+
+ 5
+ 110
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+ tos_cpu.c
+ 0
+ 0
+
+
+ 5
+ 111
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+ port_c.c
+ 0
+ 0
+
+
+ 5
+ 112
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+ port_s.S
+ 0
+ 0
+
+
+
+
+ tos/kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 113
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_event.c
+ tos_event.c
+ 0
+ 0
+
+
+ 6
+ 114
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_global.c
+ tos_global.c
+ 0
+ 0
+
+
+ 6
+ 115
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmblk.c
+ tos_mmblk.c
+ 0
+ 0
+
+
+ 6
+ 116
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmheap.c
+ tos_mmheap.c
+ 0
+ 0
+
+
+ 6
+ 117
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mutex.c
+ tos_mutex.c
+ 0
+ 0
+
+
+ 6
+ 118
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_pend.c
+ tos_pend.c
+ 0
+ 0
+
+
+ 6
+ 119
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_robin.c
+ tos_robin.c
+ 0
+ 0
+
+
+ 6
+ 120
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sched.c
+ tos_sched.c
+ 0
+ 0
+
+
+ 6
+ 121
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sem.c
+ tos_sem.c
+ 0
+ 0
+
+
+ 6
+ 122
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sys.c
+ tos_sys.c
+ 0
+ 0
+
+
+ 6
+ 123
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_task.c
+ tos_task.c
+ 0
+ 0
+
+
+ 6
+ 124
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_tick.c
+ tos_tick.c
+ 0
+ 0
+
+
+ 6
+ 125
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_time.c
+ tos_time.c
+ 0
+ 0
+
+
+ 6
+ 126
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_timer.c
+ tos_timer.c
+ 0
+ 0
+
+
+ 6
+ 127
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+ tos_binary_heap.c
+ 0
+ 0
+
+
+ 6
+ 128
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+ tos_char_fifo.c
+ 0
+ 0
+
+
+ 6
+ 129
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_completion.c
+ tos_completion.c
+ 0
+ 0
+
+
+ 6
+ 130
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+ tos_countdownlatch.c
+ 0
+ 0
+
+
+ 6
+ 131
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+ tos_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 132
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_message_queue.c
+ tos_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 133
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+ tos_priority_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 134
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+ tos_priority_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 135
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+ tos_priority_queue.c
+ 0
+ 0
+
+
+ 6
+ 136
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+ tos_ring_queue.c
+ 0
+ 0
+
+
+ 6
+ 137
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_stopwatch.c
+ tos_stopwatch.c
+ 0
+ 0
+
+
+
+
+ tos/cmsis
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 138
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+ cmsis_os.c
+ 0
+ 0
+
+
+
+
+ tos/config
+ 1
+ 0
+ 0
+ 0
+
+ 8
+ 139
+ 5
+ 0
+ 0
+ 0
+ ..\..\TOS_CONFIG\tos_config.h
+ tos_config.h
+ 0
+ 0
+
+
+
+
+ at
+ 1
+ 0
+ 0
+ 0
+
+ 9
+ 140
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\net\at\src\tos_at.c
+ tos_at.c
+ 0
+ 0
+
+
+
+
+ net
+ 1
+ 0
+ 0
+ 0
+
+ 10
+ 141
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+ sal_module_wrapper.c
+ 0
+ 0
+
+
+
+
+ hal
+ 0
+ 0
+ 0
+ 0
+
+ 11
+ 142
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+ tos_hal_uart.c
+ 0
+ 0
+
+
+
+
+ devices
+ 1
+ 0
+ 0
+ 0
+
+ 12
+ 143
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\devices\m5313\m5313.c
+ m5313.c
+ 0
+ 0
+
+
+
+
+ app
+ 1
+ 0
+ 0
+ 0
+
+ 13
+ 144
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\app\mqttclient_iot_explorer_location.c
+ mqttclient_iot_explorer_location.c
+ 0
+ 0
+
+
+
+
+ mqttclient
+ 0
+ 0
+ 0
+ 0
+
+ 14
+ 145
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqttclient\mqttclient.c
+ mqttclient.c
+ 0
+ 0
+
+
+
+
+ mqttclient/mqtt
+ 0
+ 0
+ 0
+ 0
+
+ 15
+ 146
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectClient.c
+ MQTTConnectClient.c
+ 0
+ 0
+
+
+ 15
+ 147
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectServer.c
+ MQTTConnectServer.c
+ 0
+ 0
+
+
+ 15
+ 148
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTDeserializePublish.c
+ MQTTDeserializePublish.c
+ 0
+ 0
+
+
+ 15
+ 149
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTFormat.c
+ MQTTFormat.c
+ 0
+ 0
+
+
+ 15
+ 150
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTPacket.c
+ MQTTPacket.c
+ 0
+ 0
+
+
+ 15
+ 151
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSerializePublish.c
+ MQTTSerializePublish.c
+ 0
+ 0
+
+
+ 15
+ 152
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeClient.c
+ MQTTSubscribeClient.c
+ 0
+ 0
+
+
+ 15
+ 153
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeServer.c
+ MQTTSubscribeServer.c
+ 0
+ 0
+
+
+ 15
+ 154
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeClient.c
+ MQTTUnsubscribeClient.c
+ 0
+ 0
+
+
+ 15
+ 155
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeServer.c
+ MQTTUnsubscribeServer.c
+ 0
+ 0
+
+
+
+
+ mqttclient/salof
+ 0
+ 0
+ 0
+ 0
+
+ 16
+ 156
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\arch\tencentos-tiny\arch.c
+ arch.c
+ 0
+ 0
+
+
+ 16
+ 157
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\fifo.c
+ fifo.c
+ 0
+ 0
+
+
+ 16
+ 158
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\format.c
+ format.c
+ 0
+ 0
+
+
+ 16
+ 159
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\log\salof.c
+ salof.c
+ 0
+ 0
+
+
+
+
+ mqttclient/common
+ 0
+ 0
+ 0
+ 0
+
+ 17
+ 160
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\random.c
+ random.c
+ 0
+ 0
+
+
+ 17
+ 161
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\common\mqtt_list.c
+ mqtt_list.c
+ 0
+ 0
+
+
+
+
+ mqttclient/network
+ 0
+ 0
+ 0
+ 0
+
+ 18
+ 162
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\network\network.c
+ network.c
+ 0
+ 0
+
+
+ 18
+ 163
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tcp.c
+ nettype_tcp.c
+ 0
+ 0
+
+
+ 18
+ 164
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tls.c
+ nettype_tls.c
+ 0
+ 0
+
+
+
+
+ mqttclient/platform
+ 0
+ 0
+ 0
+ 0
+
+ 19
+ 165
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_memory.c
+ platform_memory.c
+ 0
+ 0
+
+
+ 19
+ 166
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_mutex.c
+ platform_mutex.c
+ 0
+ 0
+
+
+ 19
+ 167
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_net_socket.c
+ platform_net_socket.c
+ 0
+ 0
+
+
+ 19
+ 168
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_thread.c
+ platform_thread.c
+ 0
+ 0
+
+
+ 19
+ 169
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_timer.c
+ platform_timer.c
+ 0
+ 0
+
+
+
+
+ cjson
+ 0
+ 0
+ 0
+ 0
+
+ 20
+ 170
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\components\utils\JSON\src\cJSON.c
+ cJSON.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvprojx b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvprojx
new file mode 100644
index 00000000..1486f726
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/BDW01-STM32L496VG.uvprojx
@@ -0,0 +1,1347 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+ 5060183::V5.06 update 2 (build 183)::ARMCC
+
+
+ STM32L496VGTx
+ STMicroelectronics
+ Keil.STM32L4xx_DFP.2.4.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00040000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM))
+ 0
+ $$Device:STM32L496VGTx$Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32L496VGTx$CMSIS\SVD\STM32L4x6.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\app\
+ BDW01-STM32L496VG-mqttclient_iot_explorer_location
+ 1
+ 0
+ 1
+ 1
+ 0
+
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32L496xx
+
+ ..\..\BSP\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32L4xx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\hal\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\..\..\devices\sht3x;..\..\..\..\devices\lsm6dsl;..\..\..\..\devices\l2832tsww;..\..\..\..\devices\4G_EC20;..\..\..\..\devices\gps;..\..\..\..\devices\m5313;..\..\..\..\net\at\include;..\..\..\..\net\sal_module_wrapper;..\..\..\..\net\4G_module_wrapper;..\..\..\..\net\lora_module_wrapper;..\..\..\..\net\passthrough;..\..\..\..\components\math;..\..\..\..\components\connectivity\mqttclient\common;..\..\..\..\components\connectivity\mqttclient\common\log;..\..\..\..\components\connectivity\mqttclient\mqtt;..\..\..\..\components\connectivity\mqttclient\mqttclient;..\..\..\..\components\connectivity\mqttclient\network;..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny;..\..\..\..\components\utils\JSON\include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Application/MDK-ARM
+
+
+ startup_stm32l496xx.s
+ 2
+ .\startup_stm32l496xx.s
+
+
+
+
+ Application/User
+
+
+ gpio.c
+ 1
+ ..\..\BSP\Src\gpio.c
+
+
+ main.c
+ 1
+ ..\..\BSP\Src\main.c
+
+
+ mcu_init.c
+ 1
+ ..\..\BSP\Src\mcu_init.c
+
+
+ usart.c
+ 1
+ ..\..\BSP\Src\usart.c
+
+
+ stm32l4xx_hal_msp.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+
+
+ stm32l4xx_it.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_it.c
+
+
+ mymath.c
+ 1
+ ..\..\BSP\Src\mymath.c
+
+
+ i2c.c
+ 1
+ ..\..\BSP\Src\i2c.c
+
+
+ gps.c
+ 1
+ ..\..\BSP\Src\gps.c
+
+
+ tos_at_gps.c
+ 1
+ ..\..\BSP\Src\tos_at_gps.c
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+
+
+ stm32l4xx_hal.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+
+
+ stm32l4xx_hal_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+
+
+ stm32l4xx_hal_adc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+
+
+ stm32l4xx_hal_can.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+
+
+ stm32l4xx_hal_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+
+
+ stm32l4xx_hal_cortex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+
+
+ stm32l4xx_hal_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+
+
+ stm32l4xx_hal_crc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+
+
+ stm32l4xx_hal_cryp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+
+
+ stm32l4xx_hal_cryp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+
+
+ stm32l4xx_hal_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+
+
+ stm32l4xx_hal_dac_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+
+
+ stm32l4xx_hal_dcmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+
+
+ stm32l4xx_hal_dfsdm.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+
+
+ stm32l4xx_hal_dfsdm_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+
+
+ stm32l4xx_hal_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+
+
+ stm32l4xx_hal_dma_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+
+
+ stm32l4xx_hal_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+
+
+ stm32l4xx_hal_dsi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+
+
+ stm32l4xx_hal_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+
+
+ stm32l4xx_hal_firewall.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+
+
+ stm32l4xx_hal_flash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+
+
+ stm32l4xx_hal_flash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+
+
+ stm32l4xx_hal_flash_ramfunc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+
+
+ stm32l4xx_hal_gfxmmu.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+
+
+ stm32l4xx_hal_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+
+
+ stm32l4xx_hal_hash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+
+
+ stm32l4xx_hal_hash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+
+
+ stm32l4xx_hal_hcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+
+
+ stm32l4xx_hal_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+
+
+ stm32l4xx_hal_i2c_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+
+
+ stm32l4xx_hal_irda.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+
+
+ stm32l4xx_hal_iwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+
+
+ stm32l4xx_hal_lcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+
+
+ stm32l4xx_hal_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+
+
+ stm32l4xx_hal_ltdc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+
+
+ stm32l4xx_hal_ltdc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+
+
+ stm32l4xx_hal_nand.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+
+
+ stm32l4xx_hal_nor.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+
+
+ stm32l4xx_hal_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+
+
+ stm32l4xx_hal_opamp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+
+
+ stm32l4xx_hal_ospi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+
+
+ stm32l4xx_hal_pcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+
+
+ stm32l4xx_hal_pcd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+
+
+ stm32l4xx_hal_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+
+
+ stm32l4xx_hal_pwr_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+
+
+ stm32l4xx_hal_qspi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+
+
+ stm32l4xx_hal_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+
+
+ stm32l4xx_hal_rcc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+
+
+ stm32l4xx_hal_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+
+
+ stm32l4xx_hal_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+
+
+ stm32l4xx_hal_rtc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+
+
+ stm32l4xx_hal_sai.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+
+
+ stm32l4xx_hal_sai_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+
+
+ stm32l4xx_hal_sd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+
+
+ stm32l4xx_hal_sd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+
+
+ stm32l4xx_hal_smartcard.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+
+
+ stm32l4xx_hal_smartcard_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+
+
+ stm32l4xx_hal_smbus.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+
+
+ stm32l4xx_hal_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+
+
+ stm32l4xx_hal_spi_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+
+
+ stm32l4xx_hal_sram.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+
+
+ stm32l4xx_hal_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+
+
+ stm32l4xx_hal_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+
+
+ stm32l4xx_hal_tim_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+
+
+ stm32l4xx_hal_timebase_tim_template.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+
+
+ stm32l4xx_hal_tsc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+
+
+ stm32l4xx_hal_uart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+
+
+ stm32l4xx_hal_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+
+
+ stm32l4xx_hal_usart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+
+
+ stm32l4xx_hal_wwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+
+
+ stm32l4xx_ll_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+
+
+ stm32l4xx_ll_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+
+
+ stm32l4xx_ll_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+
+
+ stm32l4xx_ll_crs.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+
+
+ stm32l4xx_ll_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+
+
+ stm32l4xx_ll_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+
+
+ stm32l4xx_ll_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+
+
+ stm32l4xx_ll_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+
+
+ stm32l4xx_ll_fmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+
+
+ stm32l4xx_ll_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+
+
+ stm32l4xx_ll_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+
+
+ stm32l4xx_ll_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+
+
+ stm32l4xx_ll_lpuart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+
+
+ stm32l4xx_ll_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+
+
+ stm32l4xx_ll_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+
+
+ stm32l4xx_ll_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+
+
+ stm32l4xx_ll_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+
+
+ stm32l4xx_ll_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+
+
+ stm32l4xx_ll_sdmmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+
+
+ stm32l4xx_ll_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+
+
+ stm32l4xx_ll_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+
+
+ stm32l4xx_ll_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+
+
+ stm32l4xx_ll_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+
+
+ stm32l4xx_ll_usb.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+
+
+ stm32l4xx_ll_utils.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+
+
+
+
+ Drivers/CMSIS
+
+
+ system_stm32l4xx.c
+ 1
+ ..\..\BSP\Src\system_stm32l4xx.c
+
+
+
+
+ tos/arch
+
+
+ tos_cpu.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+
+
+ port_c.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+
+
+ port_s.S
+ 2
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+
+
+
+
+ tos/kernel
+
+
+ tos_event.c
+ 1
+ ..\..\..\..\kernel\core\tos_event.c
+
+
+ tos_global.c
+ 1
+ ..\..\..\..\kernel\core\tos_global.c
+
+
+ tos_mmblk.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmblk.c
+
+
+ tos_mmheap.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmheap.c
+
+
+ tos_mutex.c
+ 1
+ ..\..\..\..\kernel\core\tos_mutex.c
+
+
+ tos_pend.c
+ 1
+ ..\..\..\..\kernel\core\tos_pend.c
+
+
+ tos_robin.c
+ 1
+ ..\..\..\..\kernel\core\tos_robin.c
+
+
+ tos_sched.c
+ 1
+ ..\..\..\..\kernel\core\tos_sched.c
+
+
+ tos_sem.c
+ 1
+ ..\..\..\..\kernel\core\tos_sem.c
+
+
+ tos_sys.c
+ 1
+ ..\..\..\..\kernel\core\tos_sys.c
+
+
+ tos_task.c
+ 1
+ ..\..\..\..\kernel\core\tos_task.c
+
+
+ tos_tick.c
+ 1
+ ..\..\..\..\kernel\core\tos_tick.c
+
+
+ tos_time.c
+ 1
+ ..\..\..\..\kernel\core\tos_time.c
+
+
+ tos_timer.c
+ 1
+ ..\..\..\..\kernel\core\tos_timer.c
+
+
+ tos_binary_heap.c
+ 1
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+
+
+ tos_char_fifo.c
+ 1
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+
+
+ tos_completion.c
+ 1
+ ..\..\..\..\kernel\core\tos_completion.c
+
+
+ tos_countdownlatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+
+
+ tos_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+
+
+ tos_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_message_queue.c
+
+
+ tos_priority_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+
+
+ tos_priority_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+
+
+ tos_priority_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+
+
+ tos_ring_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+
+
+ tos_stopwatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_stopwatch.c
+
+
+
+
+ tos/cmsis
+
+
+ cmsis_os.c
+ 1
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+
+
+
+
+ tos/config
+
+
+ tos_config.h
+ 5
+ ..\..\TOS_CONFIG\tos_config.h
+
+
+
+
+ at
+
+
+ tos_at.c
+ 1
+ ..\..\..\..\net\at\src\tos_at.c
+
+
+
+
+ net
+
+
+ sal_module_wrapper.c
+ 1
+ ..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+
+
+
+
+ hal
+
+
+ tos_hal_uart.c
+ 1
+ ..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+
+
+
+
+ devices
+
+
+ m5313.c
+ 1
+ ..\..\..\..\devices\m5313\m5313.c
+
+
+
+
+ app
+
+
+ mqttclient_iot_explorer_location.c
+ 1
+ ..\..\BSP\app\mqttclient_iot_explorer_location.c
+
+
+
+
+ mqttclient
+
+
+ mqttclient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqttclient\mqttclient.c
+
+
+
+
+ mqttclient/mqtt
+
+
+ MQTTConnectClient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectClient.c
+
+
+ MQTTConnectServer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTConnectServer.c
+
+
+ MQTTDeserializePublish.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTDeserializePublish.c
+
+
+ MQTTFormat.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTFormat.c
+
+
+ MQTTPacket.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTPacket.c
+
+
+ MQTTSerializePublish.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSerializePublish.c
+
+
+ MQTTSubscribeClient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeClient.c
+
+
+ MQTTSubscribeServer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTSubscribeServer.c
+
+
+ MQTTUnsubscribeClient.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeClient.c
+
+
+ MQTTUnsubscribeServer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\mqtt\MQTTUnsubscribeServer.c
+
+
+
+
+ mqttclient/salof
+
+
+ arch.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\arch\tencentos-tiny\arch.c
+
+
+ fifo.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\fifo.c
+
+
+ format.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\format.c
+
+
+ salof.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\log\salof.c
+
+
+
+
+ mqttclient/common
+
+
+ random.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\random.c
+
+
+ mqtt_list.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\common\mqtt_list.c
+
+
+
+
+ mqttclient/network
+
+
+ network.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\network\network.c
+
+
+ nettype_tcp.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tcp.c
+
+
+ nettype_tls.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\network\nettype_tls.c
+
+
+
+
+ mqttclient/platform
+
+
+ platform_memory.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_memory.c
+
+
+ platform_mutex.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_mutex.c
+
+
+ platform_net_socket.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_net_socket.c
+
+
+ platform_thread.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_thread.c
+
+
+ platform_timer.c
+ 1
+ ..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny\platform_timer.c
+
+
+
+
+ cjson
+
+
+ cJSON.c
+ 1
+ ..\..\..\..\components\utils\JSON\src\cJSON.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/startup_stm32l496xx.s b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/startup_stm32l496xx.s
new file mode 100644
index 00000000..7ed6a1e3
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/mqttclient_iot_explorer_location/startup_stm32l496xx.s
@@ -0,0 +1,451 @@
+;*******************************************************************************
+;* File Name : startup_stm32l496xx.s
+;* Author : MCD Application Team
+;* Description : STM32L496xx Ultra Low Power devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;*******************************************************************************
+;* @attention
+;*
+;* Copyright (c) 2017 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software component is licensed by ST under BSD 3-Clause license,
+;* the "License"; You may not use this file except in compliance with the
+;* License. You may obtain a copy of the License at:
+;* opensource.org/licenses/BSD-3-Clause
+;*
+;*******************************************************************************
+;
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x8000
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x8000
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD/PVM1/PVM2/PVM3/PVM4 through EXTI Line detection
+ DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
+ DCD FLASH_IRQHandler ; FLASH
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line0
+ DCD EXTI1_IRQHandler ; EXTI Line1
+ DCD EXTI2_IRQHandler ; EXTI Line2
+ DCD EXTI3_IRQHandler ; EXTI Line3
+ DCD EXTI4_IRQHandler ; EXTI Line4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1, ADC2
+ DCD CAN1_TX_IRQHandler ; CAN1 TX
+ DCD CAN1_RX0_IRQHandler ; CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; External Line[9:5]s
+ DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15
+ DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16
+ DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; External Line[15:10]
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
+ DCD DFSDM1_FLT3_IRQHandler ; DFSDM1 Filter 3 global Interrupt
+ DCD TIM8_BRK_IRQHandler ; TIM8 Break Interrupt
+ DCD TIM8_UP_IRQHandler ; TIM8 Update Interrupt
+ DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation Interrupt
+ DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt
+ DCD ADC3_IRQHandler ; ADC3 global Interrupt
+ DCD FMC_IRQHandler ; FMC
+ DCD SDMMC1_IRQHandler ; SDMMC1
+ DCD TIM5_IRQHandler ; TIM5
+ DCD SPI3_IRQHandler ; SPI3
+ DCD UART4_IRQHandler ; UART4
+ DCD UART5_IRQHandler ; UART5
+ DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
+ DCD TIM7_IRQHandler ; TIM7
+ DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
+ DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
+ DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
+ DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
+ DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
+ DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter 0 global Interrupt
+ DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter 1 global Interrupt
+ DCD DFSDM1_FLT2_IRQHandler ; DFSDM1 Filter 2 global Interrupt
+ DCD COMP_IRQHandler ; COMP Interrupt
+ DCD LPTIM1_IRQHandler ; LP TIM1 interrupt
+ DCD LPTIM2_IRQHandler ; LP TIM2 interrupt
+ DCD OTG_FS_IRQHandler ; USB OTG FS
+ DCD DMA2_Channel6_IRQHandler ; DMA2 Channel 6
+ DCD DMA2_Channel7_IRQHandler ; DMA2 Channel 7
+ DCD LPUART1_IRQHandler ; LP UART1 interrupt
+ DCD QUADSPI_IRQHandler ; Quad SPI global interrupt
+ DCD I2C3_EV_IRQHandler ; I2C3 event
+ DCD I2C3_ER_IRQHandler ; I2C3 error
+ DCD SAI1_IRQHandler ; Serial Audio Interface 1 global interrupt
+ DCD SAI2_IRQHandler ; Serial Audio Interface 2 global interrupt
+ DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt
+ DCD TSC_IRQHandler ; Touch Sense Controller global interrupt
+ DCD LCD_IRQHandler ; LCD global interrupt
+ DCD 0 ; Reserved
+ DCD RNG_IRQHandler ; RNG global interrupt
+ DCD FPU_IRQHandler ; FPU
+ DCD CRS_IRQHandler ; CRS error
+ DCD I2C4_EV_IRQHandler ; I2C4 event
+ DCD I2C4_ER_IRQHandler ; I2C4 error
+ DCD DCMI_IRQHandler ; DCMI global interrupt
+ DCD CAN2_TX_IRQHandler ; CAN2 TX
+ DCD CAN2_RX0_IRQHandler ; CAN2 RX0
+ DCD CAN2_RX1_IRQHandler ; CAN2 RX1
+ DCD CAN2_SCE_IRQHandler ; CAN2 SCE
+ DCD DMA2D_IRQHandler ; DMA2D global interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT CAN1_TX_IRQHandler [WEAK]
+ EXPORT CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK]
+ EXPORT TIM1_UP_TIM16_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT3_IRQHandler [WEAK]
+ EXPORT TIM8_BRK_IRQHandler [WEAK]
+ EXPORT TIM8_UP_IRQHandler [WEAK]
+ EXPORT TIM8_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM8_CC_IRQHandler [WEAK]
+ EXPORT ADC3_IRQHandler [WEAK]
+ EXPORT FMC_IRQHandler [WEAK]
+ EXPORT SDMMC1_IRQHandler [WEAK]
+ EXPORT TIM5_IRQHandler [WEAK]
+ EXPORT SPI3_IRQHandler [WEAK]
+ EXPORT UART4_IRQHandler [WEAK]
+ EXPORT UART5_IRQHandler [WEAK]
+ EXPORT TIM6_DAC_IRQHandler [WEAK]
+ EXPORT TIM7_IRQHandler [WEAK]
+ EXPORT DMA2_Channel1_IRQHandler [WEAK]
+ EXPORT DMA2_Channel2_IRQHandler [WEAK]
+ EXPORT DMA2_Channel3_IRQHandler [WEAK]
+ EXPORT DMA2_Channel4_IRQHandler [WEAK]
+ EXPORT DMA2_Channel5_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT0_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT1_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT OTG_FS_IRQHandler [WEAK]
+ EXPORT DMA2_Channel6_IRQHandler [WEAK]
+ EXPORT DMA2_Channel7_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT QUADSPI_IRQHandler [WEAK]
+ EXPORT I2C3_EV_IRQHandler [WEAK]
+ EXPORT I2C3_ER_IRQHandler [WEAK]
+ EXPORT SAI1_IRQHandler [WEAK]
+ EXPORT SAI2_IRQHandler [WEAK]
+ EXPORT SWPMI1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT LCD_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT CRS_IRQHandler [WEAK]
+ EXPORT I2C4_EV_IRQHandler [WEAK]
+ EXPORT I2C4_ER_IRQHandler [WEAK]
+ EXPORT DCMI_IRQHandler [WEAK]
+ EXPORT CAN2_TX_IRQHandler [WEAK]
+ EXPORT CAN2_RX0_IRQHandler [WEAK]
+ EXPORT CAN2_RX1_IRQHandler [WEAK]
+ EXPORT CAN2_SCE_IRQHandler [WEAK]
+ EXPORT DMA2D_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+CAN1_TX_IRQHandler
+CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_TIM15_IRQHandler
+TIM1_UP_TIM16_IRQHandler
+TIM1_TRG_COM_TIM17_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+DFSDM1_FLT3_IRQHandler
+TIM8_BRK_IRQHandler
+TIM8_UP_IRQHandler
+TIM8_TRG_COM_IRQHandler
+TIM8_CC_IRQHandler
+ADC3_IRQHandler
+FMC_IRQHandler
+SDMMC1_IRQHandler
+TIM5_IRQHandler
+SPI3_IRQHandler
+UART4_IRQHandler
+UART5_IRQHandler
+TIM6_DAC_IRQHandler
+TIM7_IRQHandler
+DMA2_Channel1_IRQHandler
+DMA2_Channel2_IRQHandler
+DMA2_Channel3_IRQHandler
+DMA2_Channel4_IRQHandler
+DMA2_Channel5_IRQHandler
+DFSDM1_FLT0_IRQHandler
+DFSDM1_FLT1_IRQHandler
+DFSDM1_FLT2_IRQHandler
+COMP_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+OTG_FS_IRQHandler
+DMA2_Channel6_IRQHandler
+DMA2_Channel7_IRQHandler
+LPUART1_IRQHandler
+QUADSPI_IRQHandler
+I2C3_EV_IRQHandler
+I2C3_ER_IRQHandler
+SAI1_IRQHandler
+SAI2_IRQHandler
+SWPMI1_IRQHandler
+TSC_IRQHandler
+LCD_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+CRS_IRQHandler
+I2C4_EV_IRQHandler
+I2C4_ER_IRQHandler
+DCMI_IRQHandler
+CAN2_TX_IRQHandler
+CAN2_RX0_IRQHandler
+CAN2_RX1_IRQHandler
+CAN2_SCE_IRQHandler
+DMA2D_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
+;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvguix.Administrator b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvguix.Administrator
new file mode 100644
index 00000000..e1b0ff51
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvguix.Administrator
@@ -0,0 +1,3385 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 38003
+ Registers
+ 115 244
+
+
+ 346
+ Code Coverage
+ 810 160
+
+
+ 204
+ Performance Analyzer
+ 970
+
+
+
+
+
+ 1506
+ Symbols
+
+ 66 66 66
+
+
+ 1936
+ Watch 1
+
+ 66 66 66
+
+
+ 1937
+ Watch 2
+
+ 66 66 66
+
+
+ 1935
+ Call Stack + Locals
+
+ 66 66 66
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -1
+ -1
+
+
+ -1
+ -1
+
+
+ 99
+ 365
+ 1389
+ 724
+
+
+
+ 0
+
+ 60
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ D80300004F000000A0040000BF010000
+
+
+ 16
+ D803000065000000A0040000D5010000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000004B020000400600003D030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000AF010000A004000038020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 505
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000FC0300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003D0300004006000050030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 571
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000004B04000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3119
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000C4000000A0040000C8000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000CC00000065000000A0040000DA000000CC0000004F000000A0040000C40000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000330200000100000002000010040000000100000027FFFFFF5C050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002C01000049020000000000004F0000002C010000330200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000AB010000A0040000AF01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C5010000A00400004E02000000000000AF010000A00400003802000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF50020000AF010000540200003802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003302000040060000370200000100000001000010040000000100000021FEFFFF04010000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000004D02000040060000530300000000000037020000400600003D0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2075
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000004000F0000000000000000000000000000000001000000010000000180FE880000000004001000000000000000000000000000000000010000000100000001800B810000000004001100000000000000000000000000000000010000000100000001800C810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F08800000200000013000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000010000000000000001000000960000000200205000000000086D7174745F70756296000000000000000300086D7174745F70756216746F735F74665F6D6F64756C655F6D7174745F707562145245504F52545F444154415F54454D504C415445000000000000000000000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000004001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400180000000000000000000000000000000001000000010000000180C988000000000400190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000001000000000000000100000000000000000000000100000008002880DD880000000000001C0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000001000000000000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000001000000000000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000100000000000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000010000000000000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000001000000000000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000000000000446696C65F9010000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 709
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000400000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000004000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000D53656C6563742054617267657400000000000000000100000000000000010000009600000003002050000000001142445730312D53544D33324C3439365647960000000000000001001142445730312D53544D33324C3439365647000000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000400090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C00000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2372
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000001000000000000000100000000000000000000000100000003001380D88B0000000000000D000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000001000000000000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380D28B0000000000000E000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000001000000000000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000001000000000000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000010000000000000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000100000000000000010000000000000000000000010000000400138093070000000000000F00000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000100000000000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000100000000000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000010000000000000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380658A000000000000100000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000001000000000000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000001000000000000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000130000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7200000000000000000100000000000000010000000000000000000000010000000000000000000544656275673B020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 650100004F00000040040000C4000000
+
+
+ 16
+ 650100006500000040040000DA000000
+
+
+
+ 1005
+ 1005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000780200004004000033030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 650100006300000040040000C4000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000330300004006000046030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3223
+ 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF65010000C400000040040000C8000000010000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000650100006500000040040000DA000000650100004F00000040040000C40000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF610100004F0000006501000074020000010000000200001004000000010000003AFFFFFF6F050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000610100008A020000000000004F00000061010000740200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000074020000400400007802000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF2003000078020000240300003303000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA02000040060000BE020000000000000100000004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000000000D4020000400600004903000000000000BE02000040060000330300000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF400400004F0000004404000033030000010000000200001004000000010000009BFDFFFF6B02000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180004000000100000044040000650000004006000049030000440400004F000000400600003303000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2348
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008555342445F4344439600000000000000130008555342445F43444307696E7431365F740775696E74385F740672656D61696E056572726F72074F53433130304B04414E53490C726573706563746976656C79185F5F48414C5F554152545F4745545F49545F534F555243450F554152545F434C4541525F52544F460E55534152545F4953525F52544F460B4255464645525F53495A450A52785866657253697A651048414C5F554152545F52656365697665195F5F48414C5F554152545F434C4541525F49444C45464C4147115452414E534D49545445525F424F4152440C444D415F4343525F4349524314554152545F444D415472616E736D697443706C741748414C5F554152545F547843706C7443616C6C6261636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 670
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046770696F96000000000000000100046770696F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2361
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F727920263400000000000000000000000001000000010000000000000000000000010000000000138010010000020000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvoptx b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvoptx
new file mode 100644
index 00000000..074ecf12
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvoptx
@@ -0,0 +1,1356 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ TencentOS_tiny
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\list\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+
+ 0
+ Getting Started (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00285842.pdf
+
+
+ 1
+ User Manual (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00353127.pdf
+
+
+ 2
+ Bill of Materials (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_bom.zip
+
+
+ 3
+ Gerber Files (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_gerber.zip
+
+
+ 4
+ STM32L496G-Discovery Web Page (STM32L496G-Discovery)
+ http://www.st.com/en/evaluation-tools/32l496gdiscovery.html
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ARMRTXEVENTFLAGS
+ -L70 -Z18 -C0 -M0 -T1
+
+
+ 0
+ DLGTARM
+ (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
+
+
+ 0
+ ARMDBGFLAGS
+
+
+
+ 0
+ DLGUARM
+ (105=-1,-1,-1,-1,0)
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32L4xx_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U51FF68064965575333151687 -O10446 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024.FLM -FS08007800 -FL0C8000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+
+
+
+ 0
+ 1
+ buf
+
+
+ 1
+ 1
+ rc
+
+
+
+
+ 1
+ 0
+ 0x803d000
+ 0
+
+
+
+ 0
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Application/MDK-ARM
+ 0
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32l496xx.s
+ startup_stm32l496xx.s
+ 0
+ 0
+
+
+
+
+ Application/User
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\gpio.c
+ gpio.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\mcu_init.c
+ mcu_init.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\stm32l4xx_hal_msp.c
+ stm32l4xx_hal_msp.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\usart.c
+ usart.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\i2c.c
+ i2c.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Src\stm32l4xx_it.c
+ stm32l4xx_it.c
+ 0
+ 0
+
+
+
+
+ examples
+ 1
+ 0
+ 0
+ 0
+
+ 3
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\app\ota_download_through_http_sample.c
+ ota_download_through_http_sample.c
+ 0
+ 0
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 4
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+ stm32l4xx_hal_tim.c
+ 0
+ 0
+
+
+ 4
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+ stm32l4xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 4
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 4
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
+
+ 4
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+ stm32l4xx_hal.c
+ 0
+ 0
+
+
+ 4
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+ stm32l4xx_hal_i2c.c
+ 0
+ 0
+
+
+ 4
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+ stm32l4xx_hal_i2c_ex.c
+ 0
+ 0
+
+
+ 4
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+ stm32l4xx_hal_rcc.c
+ 0
+ 0
+
+
+ 4
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+ stm32l4xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 4
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+ stm32l4xx_hal_flash.c
+ 0
+ 0
+
+
+ 4
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+ stm32l4xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 4
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+ stm32l4xx_hal_flash_ramfunc.c
+ 0
+ 0
+
+
+ 4
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+ stm32l4xx_hal_gpio.c
+ 0
+ 0
+
+
+ 4
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+ stm32l4xx_hal_dma.c
+ 0
+ 0
+
+
+ 4
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+ stm32l4xx_hal_dma_ex.c
+ 0
+ 0
+
+
+ 4
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+ stm32l4xx_hal_pwr.c
+ 0
+ 0
+
+
+ 4
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+ stm32l4xx_hal_pwr_ex.c
+ 0
+ 0
+
+
+ 4
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+ stm32l4xx_hal_cortex.c
+ 0
+ 0
+
+
+ 4
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+ stm32l4xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 4
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+ stm32l4xx_hal_adc.c
+ 0
+ 0
+
+
+ 4
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+ stm32l4xx_hal_dac.c
+ 0
+ 0
+
+
+ 4
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+ stm32l4xx_hal_dac_ex.c
+ 0
+ 0
+
+
+ 4
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+ stm32l4xx_hal_spi.c
+ 0
+ 0
+
+
+ 4
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+ stm32l4xx_hal_spi_ex.c
+ 0
+ 0
+
+
+
+
+ Drivers/CMSIS
+ 1
+ 0
+ 0
+ 0
+
+ 5
+ 34
+ 1
+ 0
+ 0
+ 0
+ system_stm32l4xx.c
+ system_stm32l4xx.c
+ 0
+ 0
+
+
+
+
+ Hardware
+ 1
+ 0
+ 0
+ 0
+
+ 6
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash.c
+ onchip_flash.c
+ 0
+ 0
+
+
+ 6
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash_ota.c
+ onchip_flash_ota.c
+ 0
+ 0
+
+
+
+
+ kernel
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 37
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_binary_heap.c
+ tos_binary_heap.c
+ 0
+ 0
+
+
+ 7
+ 38
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_char_fifo.c
+ tos_char_fifo.c
+ 0
+ 0
+
+
+ 7
+ 39
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_completion.c
+ tos_completion.c
+ 0
+ 0
+
+
+ 7
+ 40
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_countdownlatch.c
+ tos_countdownlatch.c
+ 0
+ 0
+
+
+ 7
+ 41
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_event.c
+ tos_event.c
+ 0
+ 0
+
+
+ 7
+ 42
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_global.c
+ tos_global.c
+ 0
+ 0
+
+
+ 7
+ 43
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_mail_queue.c
+ tos_mail_queue.c
+ 0
+ 0
+
+
+ 7
+ 44
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_message_queue.c
+ tos_message_queue.c
+ 0
+ 0
+
+
+ 7
+ 45
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_mmblk.c
+ tos_mmblk.c
+ 0
+ 0
+
+
+ 7
+ 46
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_mmheap.c
+ tos_mmheap.c
+ 0
+ 0
+
+
+ 7
+ 47
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_mutex.c
+ tos_mutex.c
+ 0
+ 0
+
+
+ 7
+ 48
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_pend.c
+ tos_pend.c
+ 0
+ 0
+
+
+ 7
+ 49
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_priority_mail_queue.c
+ tos_priority_mail_queue.c
+ 0
+ 0
+
+
+ 7
+ 50
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_priority_message_queue.c
+ tos_priority_message_queue.c
+ 0
+ 0
+
+
+ 7
+ 51
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_priority_queue.c
+ tos_priority_queue.c
+ 0
+ 0
+
+
+ 7
+ 52
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_ring_queue.c
+ tos_ring_queue.c
+ 0
+ 0
+
+
+ 7
+ 53
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_robin.c
+ tos_robin.c
+ 0
+ 0
+
+
+ 7
+ 54
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_sched.c
+ tos_sched.c
+ 0
+ 0
+
+
+ 7
+ 55
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_sem.c
+ tos_sem.c
+ 0
+ 0
+
+
+ 7
+ 56
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_sys.c
+ tos_sys.c
+ 0
+ 0
+
+
+ 7
+ 57
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_task.c
+ tos_task.c
+ 0
+ 0
+
+
+ 7
+ 58
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_tick.c
+ tos_tick.c
+ 0
+ 0
+
+
+ 7
+ 59
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_time.c
+ tos_time.c
+ 0
+ 0
+
+
+ 7
+ 60
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_timer.c
+ tos_timer.c
+ 0
+ 0
+
+
+ 7
+ 61
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_barrier.c
+ tos_barrier.c
+ 0
+ 0
+
+
+ 7
+ 62
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_bitmap.c
+ tos_bitmap.c
+ 0
+ 0
+
+
+ 7
+ 63
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_rwlock.c
+ tos_rwlock.c
+ 0
+ 0
+
+
+ 7
+ 64
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\kernel\core\tos_stopwatch.c
+ tos_stopwatch.c
+ 0
+ 0
+
+
+
+
+ cpu
+ 0
+ 0
+ 0
+ 0
+
+ 8
+ 65
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+ port_s.S
+ 0
+ 0
+
+
+ 8
+ 66
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+ tos_cpu.c
+ 0
+ 0
+
+
+ 8
+ 67
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+ port_c.c
+ 0
+ 0
+
+
+
+
+ cmsis
+ 0
+ 0
+ 0
+ 0
+
+ 9
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\osal\cmsis_os\cmsis_os.c
+ cmsis_os.c
+ 0
+ 0
+
+
+
+
+ config
+ 1
+ 0
+ 0
+ 0
+
+ 10
+ 69
+ 5
+ 0
+ 0
+ 0
+ ..\..\..\TOS_CONFIG\tos_config.h
+ tos_config.h
+ 0
+ 0
+
+
+
+
+ at
+ 1
+ 0
+ 0
+ 0
+
+ 11
+ 70
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\net\at\src\tos_at.c
+ tos_at.c
+ 0
+ 0
+
+
+
+
+ devices
+ 1
+ 0
+ 0
+ 0
+
+ 12
+ 71
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\devices\m5313\m5313.c
+ m5313.c
+ 0
+ 0
+
+
+
+
+ sal_module_wrapper
+ 0
+ 0
+ 0
+ 0
+
+ 13
+ 72
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+ sal_module_wrapper.c
+ 0
+ 0
+
+
+
+
+ hal
+ 1
+ 0
+ 0
+ 0
+
+ 14
+ 73
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+ tos_hal_uart.c
+ 0
+ 0
+
+
+
+
+ ota_download
+ 1
+ 0
+ 0
+ 0
+
+ 15
+ 74
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\download\protocol\http\ota_download_http.c
+ ota_download_http.c
+ 0
+ 0
+
+
+ 15
+ 75
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\download\transport_layer\tcp\module\hal_tcp_module.c
+ hal_tcp_module.c
+ 0
+ 0
+
+
+
+
+ ota_common
+ 1
+ 0
+ 0
+ 0
+
+ 16
+ 76
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\common\flash\ota_flash.c
+ ota_flash.c
+ 0
+ 0
+
+
+ 16
+ 77
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\common\crc\crc8.c
+ crc8.c
+ 0
+ 0
+
+
+ 16
+ 78
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\common\image\ota_image.c
+ ota_image.c
+ 0
+ 0
+
+
+ 16
+ 79
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\common\partition\ota_partition.c
+ ota_partition.c
+ 0
+ 0
+
+
+ 16
+ 80
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\ota\common\env\ota_env.c
+ ota_env.c
+ 0
+ 0
+
+
+
+
+ kv
+ 0
+ 0
+ 0
+ 0
+
+ 17
+ 81
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\components\fs\kv\tos_kv.c
+ tos_kv.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvprojx b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvprojx
new file mode 100644
index 00000000..3a22c48e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/TencentOS_tiny.uvprojx
@@ -0,0 +1,887 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ TencentOS_tiny
+ 0x4
+ ARM-ADS
+ 5060183::V5.06 update 2 (build 183)::ARMCC
+
+
+ STM32L496VGTx
+ STMicroelectronics
+ Keil.STM32L4xx_DFP.2.4.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00040000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM))
+ 0
+ $$Device:STM32L496VGTx$Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32L496VGTx$CMSIS\SVD\STM32L4x6.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\obj\
+ TencentOS_tiny
+ 1
+ 0
+ 1
+ 1
+ 0
+ .\list\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 0
+ fromelf --bin --output=@L.bin !L
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8007800
+ 0xc8000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32L496xx,
+
+ ..\..\..\BSP\Inc;..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc;..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Legacy;..\..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32L4xx\Include;..\..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\..\kernel\core\include;..\..\..\TOS_CONFIG;..\..\..\..\..\platform\arch\arm\cortex-m4\keil;..\..\..\..\..\kernel\pm\include;..\..\..\..\..\osal\cmsis_os;..\..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\BSP\Hardware\DHT11;..\..\..\BSP\Hardware\OLED;..\..\..\BSP\Hardware\BH1750;..\..\..\..\..\devices\m5313;..\..\..\..\..\net\at\include;..\..\..\..\..\kernel\hal\include;..\..\..\..\..\net\sal_module_wrapper;..\..\..\..\..\components\ota\download\include;..\..\..\..\..\components\ota\common\crc;..\..\..\..\..\components\ota\common\image;..\..\..\..\..\components\ota\common\flash;..\..\..\..\..\components\ota\common\partition;..\..\..\..\..\components\ota\common\env;..\..\..\..\..\components\fs\kv\include;..\..\..\..\..\components\ota\common\info;..\..\..\..\..\components\ota\recovery\include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Application/MDK-ARM
+
+
+ startup_stm32l496xx.s
+ 2
+ .\startup_stm32l496xx.s
+
+
+
+
+ Application/User
+
+
+ gpio.c
+ 1
+ ..\..\..\BSP\Src\gpio.c
+
+
+ main.c
+ 1
+ ..\..\..\BSP\Src\main.c
+
+
+ mcu_init.c
+ 1
+ ..\..\..\BSP\Src\mcu_init.c
+
+
+ stm32l4xx_hal_msp.c
+ 1
+ ..\..\..\BSP\Src\stm32l4xx_hal_msp.c
+
+
+ usart.c
+ 1
+ ..\..\..\BSP\Src\usart.c
+
+
+ i2c.c
+ 1
+ ..\..\..\BSP\Src\i2c.c
+
+
+ stm32l4xx_it.c
+ 1
+ ..\..\..\BSP\Src\stm32l4xx_it.c
+
+
+
+
+ examples
+
+
+ ota_download_through_http_sample.c
+ 1
+ ..\..\..\BSP\app\ota_download_through_http_sample.c
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+
+
+ stm32l4xx_hal_tim.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+
+
+ stm32l4xx_hal_tim_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+
+
+ stm32l4xx_hal_uart.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+
+
+ stm32l4xx_hal.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+
+
+ stm32l4xx_hal_i2c.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+
+
+ stm32l4xx_hal_i2c_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+
+
+ stm32l4xx_hal_rcc.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+
+
+ stm32l4xx_hal_rcc_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+
+
+ stm32l4xx_hal_flash.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+
+
+ stm32l4xx_hal_flash_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+
+
+ stm32l4xx_hal_flash_ramfunc.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+
+
+ stm32l4xx_hal_gpio.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+
+
+ stm32l4xx_hal_dma.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+
+
+ stm32l4xx_hal_dma_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+
+
+ stm32l4xx_hal_pwr.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+
+
+ stm32l4xx_hal_pwr_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+
+
+ stm32l4xx_hal_cortex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+
+
+ stm32l4xx_hal_adc_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+
+
+ stm32l4xx_hal_adc.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+
+
+ stm32l4xx_hal_dac.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+
+
+ stm32l4xx_hal_dac_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+
+
+ stm32l4xx_hal_spi.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+
+
+ stm32l4xx_hal_spi_ex.c
+ 1
+ ..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+
+
+
+
+ Drivers/CMSIS
+
+
+ system_stm32l4xx.c
+ 1
+ system_stm32l4xx.c
+
+
+
+
+ Hardware
+
+
+ onchip_flash.c
+ 1
+ ..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash.c
+
+
+ onchip_flash_ota.c
+ 1
+ ..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash_ota.c
+
+
+
+
+ kernel
+
+
+ tos_binary_heap.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_binary_heap.c
+
+
+ tos_char_fifo.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_char_fifo.c
+
+
+ tos_completion.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_completion.c
+
+
+ tos_countdownlatch.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_countdownlatch.c
+
+
+ tos_event.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_event.c
+
+
+ tos_global.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_global.c
+
+
+ tos_mail_queue.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_mail_queue.c
+
+
+ tos_message_queue.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_message_queue.c
+
+
+ tos_mmblk.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_mmblk.c
+
+
+ tos_mmheap.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_mmheap.c
+
+
+ tos_mutex.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_mutex.c
+
+
+ tos_pend.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_pend.c
+
+
+ tos_priority_mail_queue.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_priority_mail_queue.c
+
+
+ tos_priority_message_queue.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_priority_message_queue.c
+
+
+ tos_priority_queue.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_priority_queue.c
+
+
+ tos_ring_queue.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_ring_queue.c
+
+
+ tos_robin.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_robin.c
+
+
+ tos_sched.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_sched.c
+
+
+ tos_sem.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_sem.c
+
+
+ tos_sys.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_sys.c
+
+
+ tos_task.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_task.c
+
+
+ tos_tick.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_tick.c
+
+
+ tos_time.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_time.c
+
+
+ tos_timer.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_timer.c
+
+
+ tos_barrier.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_barrier.c
+
+
+ tos_bitmap.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_bitmap.c
+
+
+ tos_rwlock.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_rwlock.c
+
+
+ tos_stopwatch.c
+ 1
+ ..\..\..\..\..\kernel\core\tos_stopwatch.c
+
+
+
+
+ cpu
+
+
+ port_s.S
+ 2
+ ..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+
+
+ tos_cpu.c
+ 1
+ ..\..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+
+
+ port_c.c
+ 1
+ ..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+
+
+
+
+ cmsis
+
+
+ cmsis_os.c
+ 1
+ ..\..\..\..\..\osal\cmsis_os\cmsis_os.c
+
+
+
+
+ config
+
+
+ tos_config.h
+ 5
+ ..\..\..\TOS_CONFIG\tos_config.h
+
+
+
+
+ at
+
+
+ tos_at.c
+ 1
+ ..\..\..\..\..\net\at\src\tos_at.c
+
+
+
+
+ devices
+
+
+ m5313.c
+ 1
+ ..\..\..\..\..\devices\m5313\m5313.c
+
+
+
+
+ sal_module_wrapper
+
+
+ sal_module_wrapper.c
+ 1
+ ..\..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+
+
+
+
+ hal
+
+
+ tos_hal_uart.c
+ 1
+ ..\..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+
+
+
+
+ ota_download
+
+
+ ota_download_http.c
+ 1
+ ..\..\..\..\..\components\ota\download\protocol\http\ota_download_http.c
+
+
+ hal_tcp_module.c
+ 1
+ ..\..\..\..\..\components\ota\download\transport_layer\tcp\module\hal_tcp_module.c
+
+
+
+
+ ota_common
+
+
+ ota_flash.c
+ 1
+ ..\..\..\..\..\components\ota\common\flash\ota_flash.c
+
+
+ crc8.c
+ 1
+ ..\..\..\..\..\components\ota\common\crc\crc8.c
+
+
+ ota_image.c
+ 1
+ ..\..\..\..\..\components\ota\common\image\ota_image.c
+
+
+ ota_partition.c
+ 1
+ ..\..\..\..\..\components\ota\common\partition\ota_partition.c
+
+
+ ota_env.c
+ 1
+ ..\..\..\..\..\components\ota\common\env\ota_env.c
+
+
+
+
+ kv
+
+
+ tos_kv.c
+ 1
+ ..\..\..\..\..\components\fs\kv\tos_kv.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/startup_stm32l496xx.s b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/startup_stm32l496xx.s
new file mode 100644
index 00000000..6f4d9dd4
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/startup_stm32l496xx.s
@@ -0,0 +1,450 @@
+;*******************************************************************************
+;* File Name : startup_stm32l496xx.s
+;* Author : MCD Application Team
+;* Description : STM32L496xx Ultra Low Power devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;*******************************************************************************
+;*
+;* © Copyright (c) 2017 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software component is licensed by ST under BSD 3-Clause license,
+;* the "License"; You may not use this file except in compliance with the
+;* License. You may obtain a copy of the License at:
+;* opensource.org/licenses/BSD-3-Clause
+;*
+;*******************************************************************************
+;
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x8000
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x8000
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD/PVM1/PVM2/PVM3/PVM4 through EXTI Line detection
+ DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
+ DCD FLASH_IRQHandler ; FLASH
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line0
+ DCD EXTI1_IRQHandler ; EXTI Line1
+ DCD EXTI2_IRQHandler ; EXTI Line2
+ DCD EXTI3_IRQHandler ; EXTI Line3
+ DCD EXTI4_IRQHandler ; EXTI Line4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1, ADC2
+ DCD CAN1_TX_IRQHandler ; CAN1 TX
+ DCD CAN1_RX0_IRQHandler ; CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; External Line[9:5]s
+ DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15
+ DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16
+ DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; External Line[15:10]
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
+ DCD DFSDM1_FLT3_IRQHandler ; DFSDM1 Filter 3 global Interrupt
+ DCD TIM8_BRK_IRQHandler ; TIM8 Break Interrupt
+ DCD TIM8_UP_IRQHandler ; TIM8 Update Interrupt
+ DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation Interrupt
+ DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt
+ DCD ADC3_IRQHandler ; ADC3 global Interrupt
+ DCD FMC_IRQHandler ; FMC
+ DCD SDMMC1_IRQHandler ; SDMMC1
+ DCD TIM5_IRQHandler ; TIM5
+ DCD SPI3_IRQHandler ; SPI3
+ DCD UART4_IRQHandler ; UART4
+ DCD UART5_IRQHandler ; UART5
+ DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
+ DCD TIM7_IRQHandler ; TIM7
+ DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
+ DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
+ DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
+ DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
+ DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
+ DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter 0 global Interrupt
+ DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter 1 global Interrupt
+ DCD DFSDM1_FLT2_IRQHandler ; DFSDM1 Filter 2 global Interrupt
+ DCD COMP_IRQHandler ; COMP Interrupt
+ DCD LPTIM1_IRQHandler ; LP TIM1 interrupt
+ DCD LPTIM2_IRQHandler ; LP TIM2 interrupt
+ DCD OTG_FS_IRQHandler ; USB OTG FS
+ DCD DMA2_Channel6_IRQHandler ; DMA2 Channel 6
+ DCD DMA2_Channel7_IRQHandler ; DMA2 Channel 7
+ DCD LPUART1_IRQHandler ; LP UART1 interrupt
+ DCD QUADSPI_IRQHandler ; Quad SPI global interrupt
+ DCD I2C3_EV_IRQHandler ; I2C3 event
+ DCD I2C3_ER_IRQHandler ; I2C3 error
+ DCD SAI1_IRQHandler ; Serial Audio Interface 1 global interrupt
+ DCD SAI2_IRQHandler ; Serial Audio Interface 2 global interrupt
+ DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt
+ DCD TSC_IRQHandler ; Touch Sense Controller global interrupt
+ DCD LCD_IRQHandler ; LCD global interrupt
+ DCD 0 ; Reserved
+ DCD RNG_IRQHandler ; RNG global interrupt
+ DCD FPU_IRQHandler ; FPU
+ DCD CRS_IRQHandler ; CRS error
+ DCD I2C4_EV_IRQHandler ; I2C4 event
+ DCD I2C4_ER_IRQHandler ; I2C4 error
+ DCD DCMI_IRQHandler ; DCMI global interrupt
+ DCD CAN2_TX_IRQHandler ; CAN2 TX
+ DCD CAN2_RX0_IRQHandler ; CAN2 RX0
+ DCD CAN2_RX1_IRQHandler ; CAN2 RX1
+ DCD CAN2_SCE_IRQHandler ; CAN2 SCE
+ DCD DMA2D_IRQHandler ; DMA2D global interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT CAN1_TX_IRQHandler [WEAK]
+ EXPORT CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK]
+ EXPORT TIM1_UP_TIM16_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT3_IRQHandler [WEAK]
+ EXPORT TIM8_BRK_IRQHandler [WEAK]
+ EXPORT TIM8_UP_IRQHandler [WEAK]
+ EXPORT TIM8_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM8_CC_IRQHandler [WEAK]
+ EXPORT ADC3_IRQHandler [WEAK]
+ EXPORT FMC_IRQHandler [WEAK]
+ EXPORT SDMMC1_IRQHandler [WEAK]
+ EXPORT TIM5_IRQHandler [WEAK]
+ EXPORT SPI3_IRQHandler [WEAK]
+ EXPORT UART4_IRQHandler [WEAK]
+ EXPORT UART5_IRQHandler [WEAK]
+ EXPORT TIM6_DAC_IRQHandler [WEAK]
+ EXPORT TIM7_IRQHandler [WEAK]
+ EXPORT DMA2_Channel1_IRQHandler [WEAK]
+ EXPORT DMA2_Channel2_IRQHandler [WEAK]
+ EXPORT DMA2_Channel3_IRQHandler [WEAK]
+ EXPORT DMA2_Channel4_IRQHandler [WEAK]
+ EXPORT DMA2_Channel5_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT0_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT1_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT OTG_FS_IRQHandler [WEAK]
+ EXPORT DMA2_Channel6_IRQHandler [WEAK]
+ EXPORT DMA2_Channel7_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT QUADSPI_IRQHandler [WEAK]
+ EXPORT I2C3_EV_IRQHandler [WEAK]
+ EXPORT I2C3_ER_IRQHandler [WEAK]
+ EXPORT SAI1_IRQHandler [WEAK]
+ EXPORT SAI2_IRQHandler [WEAK]
+ EXPORT SWPMI1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT LCD_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT CRS_IRQHandler [WEAK]
+ EXPORT I2C4_EV_IRQHandler [WEAK]
+ EXPORT I2C4_ER_IRQHandler [WEAK]
+ EXPORT DCMI_IRQHandler [WEAK]
+ EXPORT CAN2_TX_IRQHandler [WEAK]
+ EXPORT CAN2_RX0_IRQHandler [WEAK]
+ EXPORT CAN2_RX1_IRQHandler [WEAK]
+ EXPORT CAN2_SCE_IRQHandler [WEAK]
+ EXPORT DMA2D_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+CAN1_TX_IRQHandler
+CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_TIM15_IRQHandler
+TIM1_UP_TIM16_IRQHandler
+TIM1_TRG_COM_TIM17_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+DFSDM1_FLT3_IRQHandler
+TIM8_BRK_IRQHandler
+TIM8_UP_IRQHandler
+TIM8_TRG_COM_IRQHandler
+TIM8_CC_IRQHandler
+ADC3_IRQHandler
+FMC_IRQHandler
+SDMMC1_IRQHandler
+TIM5_IRQHandler
+SPI3_IRQHandler
+UART4_IRQHandler
+UART5_IRQHandler
+TIM6_DAC_IRQHandler
+TIM7_IRQHandler
+DMA2_Channel1_IRQHandler
+DMA2_Channel2_IRQHandler
+DMA2_Channel3_IRQHandler
+DMA2_Channel4_IRQHandler
+DMA2_Channel5_IRQHandler
+DFSDM1_FLT0_IRQHandler
+DFSDM1_FLT1_IRQHandler
+DFSDM1_FLT2_IRQHandler
+COMP_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+OTG_FS_IRQHandler
+DMA2_Channel6_IRQHandler
+DMA2_Channel7_IRQHandler
+LPUART1_IRQHandler
+QUADSPI_IRQHandler
+I2C3_EV_IRQHandler
+I2C3_ER_IRQHandler
+SAI1_IRQHandler
+SAI2_IRQHandler
+SWPMI1_IRQHandler
+TSC_IRQHandler
+LCD_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+CRS_IRQHandler
+I2C4_EV_IRQHandler
+I2C4_ER_IRQHandler
+DCMI_IRQHandler
+CAN2_TX_IRQHandler
+CAN2_RX0_IRQHandler
+CAN2_RX1_IRQHandler
+CAN2_SCE_IRQHandler
+DMA2D_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
+;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/system_stm32l4xx.c b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/system_stm32l4xx.c
new file mode 100644
index 00000000..d748f570
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_application_download_through_http/system_stm32l4xx.c
@@ -0,0 +1,337 @@
+/**
+ ******************************************************************************
+ * @file system_stm32l4xx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32l4xx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32l4xx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32l4xx_system
+ * @{
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32l4xx.h"
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Defines
+ * @{
+ */
+
+/************************* Miscellaneous Configuration ************************/
+/*!< Uncomment the following line if you need to relocate your vector Table in
+ Internal SRAM. */
+/* #define VECT_TAB_SRAM */
+#define VECT_TAB_OFFSET 0x7800 /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+/******************************************************************************/
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Variables
+ * @{
+ */
+ /* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000U;
+
+ const uint8_t AHBPrescTable[16] = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U};
+ const uint8_t APBPrescTable[8] = {0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U};
+ const uint32_t MSIRangeTable[12] = {100000U, 200000U, 400000U, 800000U, 1000000U, 2000000U, \
+ 4000000U, 8000000U, 16000000U, 24000000U, 32000000U, 48000000U};
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @param None
+ * @retval None
+ */
+
+void SystemInit(void)
+{
+ /* FPU settings ------------------------------------------------------------*/
+ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
+ #endif
+
+ /* Reset the RCC clock configuration to the default reset state ------------*/
+ /* Set MSION bit */
+ RCC->CR |= RCC_CR_MSION;
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00000000U;
+
+ /* Reset HSEON, CSSON , HSION, and PLLON bits */
+ RCC->CR &= 0xEAF6FFFFU;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x00001000U;
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000U;
+
+ /* Configure the Vector Table location add offset address ------------------*/
+#ifdef VECT_TAB_SRAM
+ SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
+#else
+ SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
+#endif
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp = 0U, msirange = 0U, pllvco = 0U, pllr = 2U, pllsource = 0U, pllm = 2U;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+ if((RCC->CR & RCC_CR_MSIRGSEL) == RESET)
+ { /* MSISRANGE from RCC_CSR applies */
+ msirange = (RCC->CSR & RCC_CSR_MSISRANGE) >> 8U;
+ }
+ else
+ { /* MSIRANGE from RCC_CR applies */
+ msirange = (RCC->CR & RCC_CR_MSIRANGE) >> 4U;
+ }
+ /*MSI frequency range in HZ*/
+ msirange = MSIRangeTable[msirange];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> 4U) + 1U ;
+
+ switch (pllsource)
+ {
+ case 0x02: /* HSI used as PLL clock source */
+ pllvco = (HSI_VALUE / pllm);
+ break;
+
+ case 0x03: /* HSE used as PLL clock source */
+ pllvco = (HSE_VALUE / pllm);
+ break;
+
+ default: /* MSI used as PLL clock source */
+ pllvco = (msirange / pllm);
+ break;
+ }
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 8U);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> 25U) + 1U) * 2U;
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)];
+ /* HCLK clock frequency */
+ SystemCoreClock >>= tmp;
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/gpio.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/gpio.h
new file mode 100644
index 00000000..1c7f4f49
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/gpio.h
@@ -0,0 +1,57 @@
+/**
+ ******************************************************************************
+ * File Name : gpio.h
+ * Description : This file contains all the functions prototypes for
+ * the gpio
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __gpio_H
+#define __gpio_H
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "main.h"
+
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+void MX_GPIO_Init(void);
+
+/* USER CODE BEGIN Prototypes */
+
+/* USER CODE END Prototypes */
+
+#ifdef __cplusplus
+}
+#endif
+#endif /*__ pinoutConfig_H */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/main.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/main.h
new file mode 100644
index 00000000..8e22be1a
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/main.h
@@ -0,0 +1,135 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file : main.h
+ * @brief : Header for main.c file.
+ * This file contains the common defines of the application.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __MAIN_H
+#define __MAIN_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32l4xx_hal.h"
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void Error_Handler(void);
+
+/* USER CODE BEGIN EFP */
+void _Error_Handler(char *file, int line);
+/* USER CODE END EFP */
+
+/* Private defines -----------------------------------------------------------*/
+#define KEY1_Pin GPIO_PIN_2
+#define KEY1_GPIO_Port GPIOE
+#define LED5_Pin GPIO_PIN_3
+#define LED5_GPIO_Port GPIOE
+#define SENSOR_EN_Pin GPIO_PIN_5
+#define SENSOR_EN_GPIO_Port GPIOE
+#define SENSOR_INT1_Pin GPIO_PIN_6
+#define SENSOR_INT1_GPIO_Port GPIOE
+#define SENSOR_INT2_Pin GPIO_PIN_13
+#define SENSOR_INT2_GPIO_Port GPIOC
+#define GPS_ON_Pin GPIO_PIN_1
+#define GPS_ON_GPIO_Port GPIOB
+#define BD_EN_Pin GPIO_PIN_2
+#define BD_EN_GPIO_Port GPIOB
+#define GPS_RST_Pin GPIO_PIN_7
+#define GPS_RST_GPIO_Port GPIOE
+#define NB_RST_Pin GPIO_PIN_8
+#define NB_RST_GPIO_Port GPIOE
+#define NB_WKUP_Pin GPIO_PIN_9
+#define NB_WKUP_GPIO_Port GPIOE
+#define NB_EN_Pin GPIO_PIN_11
+#define NB_EN_GPIO_Port GPIOE
+#define SEL1_Pin GPIO_PIN_12
+#define SEL1_GPIO_Port GPIOE
+#define SEL2_Pin GPIO_PIN_13
+#define SEL2_GPIO_Port GPIOE
+#define SEL3_Pin GPIO_PIN_14
+#define SEL3_GPIO_Port GPIOE
+#define KEY4_Pin GPIO_PIN_15
+#define KEY4_GPIO_Port GPIOE
+#define OLED_RST_Pin GPIO_PIN_12
+#define OLED_RST_GPIO_Port GPIOB
+#define OLED_EN_Pin GPIO_PIN_15
+#define OLED_EN_GPIO_Port GPIOB
+#define AU_CTR_Pin GPIO_PIN_8
+#define AU_CTR_GPIO_Port GPIOD
+#define AU_RST_Pin GPIO_PIN_13
+#define AU_RST_GPIO_Port GPIOD
+#define AU_EN_Pin GPIO_PIN_15
+#define AU_EN_GPIO_Port GPIOD
+#define CHARGE_STATE_Pin GPIO_PIN_6
+#define CHARGE_STATE_GPIO_Port GPIOC
+#define CARD_EN_Pin GPIO_PIN_7
+#define CARD_EN_GPIO_Port GPIOC
+#define PCIE_RST_Pin GPIO_PIN_8
+#define PCIE_RST_GPIO_Port GPIOA
+#define PCIE_EN_Pin GPIO_PIN_9
+#define PCIE_EN_GPIO_Port GPIOA
+#define CARD_END5_Pin GPIO_PIN_5
+#define CARD_END5_GPIO_Port GPIOD
+#define KEY3_Pin GPIO_PIN_6
+#define KEY3_GPIO_Port GPIOD
+#define KEY2_Pin GPIO_PIN_7
+#define KEY2_GPIO_Port GPIOD
+#define LED4_Pin GPIO_PIN_5
+#define LED4_GPIO_Port GPIOB
+#define LED3_Pin GPIO_PIN_8
+#define LED3_GPIO_Port GPIOB
+#define IR_OUT_Pin GPIO_PIN_9
+#define IR_OUT_GPIO_Port GPIOB
+#define LED2_Pin GPIO_PIN_0
+#define LED2_GPIO_Port GPIOE
+#define LED1_Pin GPIO_PIN_1
+#define LED1_GPIO_Port GPIOE
+/* USER CODE BEGIN Private defines */
+
+/* USER CODE END Private defines */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __MAIN_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/stm32l4xx_hal_conf.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/stm32l4xx_hal_conf.h
new file mode 100644
index 00000000..96c68cbc
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/stm32l4xx_hal_conf.h
@@ -0,0 +1,450 @@
+/**
+ ******************************************************************************
+ * @file stm32l4xx_hal_conf.h
+ * @brief HAL configuration file.
+ ******************************************************************************
+ * @attention
+ *
+ * © COPYRIGHT(c) 2020 STMicroelectronics
+ *
+ * Redistribution and use in source and binary forms, with or without modification,
+ * are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of STMicroelectronics nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ ******************************************************************************
+ */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32L4xx_HAL_CONF_H
+#define __STM32L4xx_HAL_CONF_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Exported types ------------------------------------------------------------*/
+/* Exported constants --------------------------------------------------------*/
+
+/* ########################## Module Selection ############################## */
+/**
+ * @brief This is the list of modules to be used in the HAL driver
+ */
+
+#define HAL_MODULE_ENABLED
+/*#define HAL_ADC_MODULE_ENABLED */
+/*#define HAL_CRYP_MODULE_ENABLED */
+/*#define HAL_CAN_MODULE_ENABLED */
+/*#define HAL_COMP_MODULE_ENABLED */
+#define HAL_CRC_MODULE_ENABLED
+/*#define HAL_CRYP_MODULE_ENABLED */
+/*#define HAL_DAC_MODULE_ENABLED */
+/*#define HAL_DCMI_MODULE_ENABLED */
+/*#define HAL_DMA2D_MODULE_ENABLED */
+/*#define HAL_DFSDM_MODULE_ENABLED */
+/*#define HAL_DSI_MODULE_ENABLED */
+/*#define HAL_FIREWALL_MODULE_ENABLED */
+/*#define HAL_GFXMMU_MODULE_ENABLED */
+/*#define HAL_HCD_MODULE_ENABLED */
+/*#define HAL_HASH_MODULE_ENABLED */
+/*#define HAL_I2S_MODULE_ENABLED */
+/*#define HAL_IRDA_MODULE_ENABLED */
+/*#define HAL_IWDG_MODULE_ENABLED */
+/*#define HAL_LTDC_MODULE_ENABLED */
+/*#define HAL_LCD_MODULE_ENABLED */
+/*#define HAL_LPTIM_MODULE_ENABLED */
+/*#define HAL_MMC_MODULE_ENABLED */
+/*#define HAL_NAND_MODULE_ENABLED */
+/*#define HAL_NOR_MODULE_ENABLED */
+/*#define HAL_OPAMP_MODULE_ENABLED */
+/*#define HAL_OSPI_MODULE_ENABLED */
+/*#define HAL_OSPI_MODULE_ENABLED */
+/*#define HAL_PCD_MODULE_ENABLED */
+/*#define HAL_PKA_MODULE_ENABLED */
+/*#define HAL_QSPI_MODULE_ENABLED */
+/*#define HAL_QSPI_MODULE_ENABLED */
+/*#define HAL_RNG_MODULE_ENABLED */
+/*#define HAL_RTC_MODULE_ENABLED */
+/*#define HAL_SAI_MODULE_ENABLED */
+/*#define HAL_SD_MODULE_ENABLED */
+/*#define HAL_SMBUS_MODULE_ENABLED */
+/*#define HAL_SMARTCARD_MODULE_ENABLED */
+/*#define HAL_SPI_MODULE_ENABLED */
+/*#define HAL_SRAM_MODULE_ENABLED */
+/*#define HAL_SWPMI_MODULE_ENABLED */
+/*#define HAL_TIM_MODULE_ENABLED */
+/*#define HAL_TSC_MODULE_ENABLED */
+#define HAL_UART_MODULE_ENABLED
+/*#define HAL_USART_MODULE_ENABLED */
+/*#define HAL_WWDG_MODULE_ENABLED */
+/*#define HAL_EXTI_MODULE_ENABLED */
+/*#define HAL_PSSI_MODULE_ENABLED */
+#define HAL_GPIO_MODULE_ENABLED
+#define HAL_EXTI_MODULE_ENABLED
+#define HAL_I2C_MODULE_ENABLED
+#define HAL_DMA_MODULE_ENABLED
+#define HAL_RCC_MODULE_ENABLED
+#define HAL_FLASH_MODULE_ENABLED
+#define HAL_PWR_MODULE_ENABLED
+#define HAL_CORTEX_MODULE_ENABLED
+
+/* ########################## Oscillator Values adaptation ####################*/
+/**
+ * @brief Adjust the value of External High Speed oscillator (HSE) used in your application.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSE is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE ((uint32_t)8000000U) /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (HSE_STARTUP_TIMEOUT)
+ #define HSE_STARTUP_TIMEOUT ((uint32_t)100U) /*!< Time out for HSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief Internal Multiple Speed oscillator (MSI) default value.
+ * This value is the default MSI range value after Reset.
+ */
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE ((uint32_t)4000000U) /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+/**
+ * @brief Internal High Speed oscillator (HSI) value.
+ * This value is used by the RCC HAL module to compute the system frequency
+ * (when HSI is used as system clock source, directly or through the PLL).
+ */
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE ((uint32_t)16000000U) /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @brief Internal High Speed oscillator (HSI48) value for USB FS, SDMMC and RNG.
+ * This internal oscillator is mainly dedicated to provide a high precision clock to
+ * the USB peripheral by means of a special Clock Recovery System (CRS) circuitry.
+ * When the CRS is not used, the HSI48 RC oscillator runs on it default frequency
+ * which is subject to manufacturing process variations.
+ */
+#if !defined (HSI48_VALUE)
+ #define HSI48_VALUE ((uint32_t)48000000U) /*!< Value of the Internal High Speed oscillator for USB FS/SDMMC/RNG in Hz.
+ The real value my vary depending on manufacturing process variations.*/
+#endif /* HSI48_VALUE */
+
+/**
+ * @brief Internal Low Speed oscillator (LSI) value.
+ */
+#if !defined (LSI_VALUE)
+ #define LSI_VALUE ((uint32_t)32000U) /*!< LSI Typical Value in Hz*/
+#endif /* LSI_VALUE */ /*!< Value of the Internal Low Speed oscillator in Hz
+ The real value may vary depending on the variations
+ in voltage and temperature.*/
+
+/**
+ * @brief External Low Speed oscillator (LSE) value.
+ * This value is used by the UART, RTC HAL module to compute the system frequency
+ */
+#if !defined (LSE_VALUE)
+ #define LSE_VALUE ((uint32_t)32768U) /*!< Value of the External oscillator in Hz*/
+#endif /* LSE_VALUE */
+
+#if !defined (LSE_STARTUP_TIMEOUT)
+ #define LSE_STARTUP_TIMEOUT ((uint32_t)5000U) /*!< Time out for LSE start up, in ms */
+#endif /* HSE_STARTUP_TIMEOUT */
+
+/**
+ * @brief External clock source for SAI1 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI1_CLOCK_VALUE)
+ #define EXTERNAL_SAI1_CLOCK_VALUE ((uint32_t)2097000U) /*!< Value of the SAI1 External clock source in Hz*/
+#endif /* EXTERNAL_SAI1_CLOCK_VALUE */
+
+/**
+ * @brief External clock source for SAI2 peripheral
+ * This value is used by the RCC HAL module to compute the SAI1 & SAI2 clock source
+ * frequency.
+ */
+#if !defined (EXTERNAL_SAI2_CLOCK_VALUE)
+ #define EXTERNAL_SAI2_CLOCK_VALUE ((uint32_t)48000U) /*!< Value of the SAI2 External clock source in Hz*/
+#endif /* EXTERNAL_SAI2_CLOCK_VALUE */
+
+/* Tip: To avoid modifying this file each time you need to use different HSE,
+ === you can define the HSE value in your toolchain compiler preprocessor. */
+
+/* ########################### System Configuration ######################### */
+/**
+ * @brief This is the HAL system configuration section
+ */
+
+#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
+#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
+#define USE_RTOS 0U
+#define PREFETCH_ENABLE 0U
+#define INSTRUCTION_CACHE_ENABLE 1U
+#define DATA_CACHE_ENABLE 1U
+
+/* ########################## Assert Selection ############################## */
+/**
+ * @brief Uncomment the line below to expanse the "assert_param" macro in the
+ * HAL drivers code
+ */
+/* #define USE_FULL_ASSERT 1U */
+
+/* ################## SPI peripheral configuration ########################## */
+
+/* CRC FEATURE: Use to activate CRC feature inside HAL SPI Driver
+ * Activated: CRC code is present inside driver
+ * Deactivated: CRC code cleaned from driver
+ */
+
+#define USE_SPI_CRC 0U
+
+/* Includes ------------------------------------------------------------------*/
+/**
+ * @brief Include module's header file
+ */
+
+#ifdef HAL_RCC_MODULE_ENABLED
+ #include "stm32l4xx_hal_rcc.h"
+ #include "stm32l4xx_hal_rcc_ex.h"
+#endif /* HAL_RCC_MODULE_ENABLED */
+
+#ifdef HAL_EXTI_MODULE_ENABLED
+ #include "stm32l4xx_hal_exti.h"
+#endif /* HAL_EXTI_MODULE_ENABLED */
+
+#ifdef HAL_GPIO_MODULE_ENABLED
+ #include "stm32l4xx_hal_gpio.h"
+#endif /* HAL_GPIO_MODULE_ENABLED */
+
+#ifdef HAL_DMA_MODULE_ENABLED
+ #include "stm32l4xx_hal_dma.h"
+ #include "stm32l4xx_hal_dma_ex.h"
+#endif /* HAL_DMA_MODULE_ENABLED */
+
+#ifdef HAL_DFSDM_MODULE_ENABLED
+ #include "stm32l4xx_hal_dfsdm.h"
+#endif /* HAL_DFSDM_MODULE_ENABLED */
+
+#ifdef HAL_CORTEX_MODULE_ENABLED
+ #include "stm32l4xx_hal_cortex.h"
+#endif /* HAL_CORTEX_MODULE_ENABLED */
+
+#ifdef HAL_ADC_MODULE_ENABLED
+ #include "stm32l4xx_hal_adc.h"
+#endif /* HAL_ADC_MODULE_ENABLED */
+
+#ifdef HAL_CAN_MODULE_ENABLED
+ #include "stm32l4xx_hal_can.h"
+#endif /* HAL_CAN_MODULE_ENABLED */
+
+#ifdef HAL_COMP_MODULE_ENABLED
+ #include "stm32l4xx_hal_comp.h"
+#endif /* HAL_COMP_MODULE_ENABLED */
+
+#ifdef HAL_CRC_MODULE_ENABLED
+ #include "stm32l4xx_hal_crc.h"
+#endif /* HAL_CRC_MODULE_ENABLED */
+
+#ifdef HAL_CRYP_MODULE_ENABLED
+ #include "stm32l4xx_hal_cryp.h"
+#endif /* HAL_CRYP_MODULE_ENABLED */
+
+#ifdef HAL_DAC_MODULE_ENABLED
+ #include "stm32l4xx_hal_dac.h"
+#endif /* HAL_DAC_MODULE_ENABLED */
+
+#ifdef HAL_DCMI_MODULE_ENABLED
+ #include "stm32l4xx_hal_dcmi.h"
+#endif /* HAL_DCMI_MODULE_ENABLED */
+
+#ifdef HAL_DMA2D_MODULE_ENABLED
+ #include "stm32l4xx_hal_dma2d.h"
+#endif /* HAL_DMA2D_MODULE_ENABLED */
+
+#ifdef HAL_DSI_MODULE_ENABLED
+ #include "stm32l4xx_hal_dsi.h"
+#endif /* HAL_DSI_MODULE_ENABLED */
+
+#ifdef HAL_FIREWALL_MODULE_ENABLED
+ #include "stm32l4xx_hal_firewall.h"
+#endif /* HAL_FIREWALL_MODULE_ENABLED */
+
+#ifdef HAL_FLASH_MODULE_ENABLED
+ #include "stm32l4xx_hal_flash.h"
+#endif /* HAL_FLASH_MODULE_ENABLED */
+
+#ifdef HAL_HASH_MODULE_ENABLED
+ #include "stm32l4xx_hal_hash.h"
+#endif /* HAL_HASH_MODULE_ENABLED */
+
+#ifdef HAL_SRAM_MODULE_ENABLED
+ #include "stm32l4xx_hal_sram.h"
+#endif /* HAL_SRAM_MODULE_ENABLED */
+
+#ifdef HAL_MMC_MODULE_ENABLED
+ #include "stm32l4xx_hal_mmc.h"
+#endif /* HAL_MMC_MODULE_ENABLED */
+
+#ifdef HAL_NOR_MODULE_ENABLED
+ #include "stm32l4xx_hal_nor.h"
+#endif /* HAL_NOR_MODULE_ENABLED */
+
+#ifdef HAL_NAND_MODULE_ENABLED
+ #include "stm32l4xx_hal_nand.h"
+#endif /* HAL_NAND_MODULE_ENABLED */
+
+#ifdef HAL_I2C_MODULE_ENABLED
+ #include "stm32l4xx_hal_i2c.h"
+#endif /* HAL_I2C_MODULE_ENABLED */
+
+#ifdef HAL_IWDG_MODULE_ENABLED
+ #include "stm32l4xx_hal_iwdg.h"
+#endif /* HAL_IWDG_MODULE_ENABLED */
+
+#ifdef HAL_LCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_lcd.h"
+#endif /* HAL_LCD_MODULE_ENABLED */
+
+#ifdef HAL_LPTIM_MODULE_ENABLED
+ #include "stm32l4xx_hal_lptim.h"
+#endif /* HAL_LPTIM_MODULE_ENABLED */
+
+#ifdef HAL_LTDC_MODULE_ENABLED
+ #include "stm32l4xx_hal_ltdc.h"
+#endif /* HAL_LTDC_MODULE_ENABLED */
+
+#ifdef HAL_OPAMP_MODULE_ENABLED
+ #include "stm32l4xx_hal_opamp.h"
+#endif /* HAL_OPAMP_MODULE_ENABLED */
+
+#ifdef HAL_OSPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_ospi.h"
+#endif /* HAL_OSPI_MODULE_ENABLED */
+
+#ifdef HAL_PKA_MODULE_ENABLED
+ #include "stm32l4xx_hal_pka.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_PWR_MODULE_ENABLED
+ #include "stm32l4xx_hal_pwr.h"
+#endif /* HAL_PWR_MODULE_ENABLED */
+
+#ifdef HAL_QSPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_qspi.h"
+#endif /* HAL_QSPI_MODULE_ENABLED */
+
+#ifdef HAL_RNG_MODULE_ENABLED
+ #include "stm32l4xx_hal_rng.h"
+#endif /* HAL_RNG_MODULE_ENABLED */
+
+#ifdef HAL_RTC_MODULE_ENABLED
+ #include "stm32l4xx_hal_rtc.h"
+#endif /* HAL_RTC_MODULE_ENABLED */
+
+#ifdef HAL_SAI_MODULE_ENABLED
+ #include "stm32l4xx_hal_sai.h"
+#endif /* HAL_SAI_MODULE_ENABLED */
+
+#ifdef HAL_SD_MODULE_ENABLED
+ #include "stm32l4xx_hal_sd.h"
+#endif /* HAL_SD_MODULE_ENABLED */
+
+#ifdef HAL_SMBUS_MODULE_ENABLED
+ #include "stm32l4xx_hal_smbus.h"
+#endif /* HAL_SMBUS_MODULE_ENABLED */
+
+#ifdef HAL_SPI_MODULE_ENABLED
+ #include "stm32l4xx_hal_spi.h"
+#endif /* HAL_SPI_MODULE_ENABLED */
+
+#ifdef HAL_SWPMI_MODULE_ENABLED
+ #include "stm32l4xx_hal_swpmi.h"
+#endif /* HAL_SWPMI_MODULE_ENABLED */
+
+#ifdef HAL_TIM_MODULE_ENABLED
+ #include "stm32l4xx_hal_tim.h"
+#endif /* HAL_TIM_MODULE_ENABLED */
+
+#ifdef HAL_TSC_MODULE_ENABLED
+ #include "stm32l4xx_hal_tsc.h"
+#endif /* HAL_TSC_MODULE_ENABLED */
+
+#ifdef HAL_UART_MODULE_ENABLED
+ #include "stm32l4xx_hal_uart.h"
+#endif /* HAL_UART_MODULE_ENABLED */
+
+#ifdef HAL_USART_MODULE_ENABLED
+ #include "stm32l4xx_hal_usart.h"
+#endif /* HAL_USART_MODULE_ENABLED */
+
+#ifdef HAL_IRDA_MODULE_ENABLED
+ #include "stm32l4xx_hal_irda.h"
+#endif /* HAL_IRDA_MODULE_ENABLED */
+
+#ifdef HAL_SMARTCARD_MODULE_ENABLED
+ #include "stm32l4xx_hal_smartcard.h"
+#endif /* HAL_SMARTCARD_MODULE_ENABLED */
+
+#ifdef HAL_WWDG_MODULE_ENABLED
+ #include "stm32l4xx_hal_wwdg.h"
+#endif /* HAL_WWDG_MODULE_ENABLED */
+
+#ifdef HAL_PCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_pcd.h"
+#endif /* HAL_PCD_MODULE_ENABLED */
+
+#ifdef HAL_HCD_MODULE_ENABLED
+ #include "stm32l4xx_hal_hcd.h"
+#endif /* HAL_HCD_MODULE_ENABLED */
+
+#ifdef HAL_GFXMMU_MODULE_ENABLED
+ #include "stm32l4xx_hal_gfxmmu.h"
+#endif /* HAL_GFXMMU_MODULE_ENABLED */
+
+#ifdef HAL_PSSI_MODULE_ENABLED
+ #include "stm32l4xx_hal_pssi.h"
+#endif /* HAL_PSSI_MODULE_ENABLED */
+
+/* Exported macro ------------------------------------------------------------*/
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief The assert_param macro is used for function's parameters check.
+ * @param expr: If expr is false, it calls assert_failed function
+ * which reports the name of the source file and the source
+ * line number of the call that failed.
+ * If expr is true, it returns no value.
+ * @retval None
+ */
+ #define assert_param(expr) ((expr) ? (void)0U : assert_failed((uint8_t *)__FILE__, __LINE__))
+/* Exported functions ------------------------------------------------------- */
+ void assert_failed(char *file, uint32_t line);
+#else
+ #define assert_param(expr) ((void)0U)
+#endif /* USE_FULL_ASSERT */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32L4xx_HAL_CONF_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/stm32l4xx_it.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/stm32l4xx_it.h
new file mode 100644
index 00000000..1bedbf68
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Inc/stm32l4xx_it.h
@@ -0,0 +1,69 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_it.h
+ * @brief This file contains the headers of the interrupt handlers.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Define to prevent recursive inclusion -------------------------------------*/
+#ifndef __STM32L4xx_IT_H
+#define __STM32L4xx_IT_H
+
+#ifdef __cplusplus
+ extern "C" {
+#endif
+
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+
+/* USER CODE END Includes */
+
+/* Exported types ------------------------------------------------------------*/
+/* USER CODE BEGIN ET */
+
+/* USER CODE END ET */
+
+/* Exported constants --------------------------------------------------------*/
+/* USER CODE BEGIN EC */
+
+/* USER CODE END EC */
+
+/* Exported macro ------------------------------------------------------------*/
+/* USER CODE BEGIN EM */
+
+/* USER CODE END EM */
+
+/* Exported functions prototypes ---------------------------------------------*/
+void NMI_Handler(void);
+void HardFault_Handler(void);
+void MemManage_Handler(void);
+void BusFault_Handler(void);
+void UsageFault_Handler(void);
+void SVC_Handler(void);
+void DebugMon_Handler(void);
+void PendSV_Handler(void);
+void SysTick_Handler(void);
+/* USER CODE BEGIN EFP */
+
+/* USER CODE END EFP */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __STM32L4xx_IT_H */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvguix.Administrator b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvguix.Administrator
new file mode 100644
index 00000000..588871d0
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvguix.Administrator
@@ -0,0 +1,3385 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 38003
+ Registers
+ 115 175
+
+
+ 346
+ Code Coverage
+ 810 160
+
+
+ 204
+ Performance Analyzer
+ 970
+
+
+
+
+
+ 1506
+ Symbols
+
+ 66 66 66
+
+
+ 1936
+ Watch 1
+
+ 66 66 66
+
+
+ 1937
+ Watch 2
+
+ 66 66 66
+
+
+ 1935
+ Call Stack + Locals
+
+ 66 66 66
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -32000
+ -32000
+
+
+ -1
+ -1
+
+
+ 99
+ 365
+ 1389
+ 724
+
+
+
+ 0
+
+ 60
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CC0000004F000000A0040000C4000000
+
+
+ 16
+ CC00000065000000A0040000DA000000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000004B020000400600003D030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000AF010000A004000038020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 505
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000FC0300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003D0300004006000050030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 571
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000004B04000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3119
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000C4000000A0040000C8000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000CC00000065000000A0040000DA000000CC0000004F000000A0040000C40000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000330200000100000002000010040000000100000027FFFFFF5C050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002C01000049020000000000004F0000002C010000330200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000AB010000A0040000AF01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C5010000A00400004E02000000000000AF010000A00400003802000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF50020000AF010000540200003802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003302000040060000370200000100000001000010040000000100000021FEFFFF04010000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000004D02000040060000530300000000000037020000400600003D0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2075
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000004000F0000000000000000000000000000000001000000010000000180FE880000000004001000000000000000000000000000000000010000000100000001800B810000000004001100000000000000000000000000000000010000000100000001800C810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F08800000200000013000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000010000000000000001000000960000000200205000000000086D7174745F70756296000000000000000300086D7174745F70756216746F735F74665F6D6F64756C655F6D7174745F707562145245504F52545F444154415F54454D504C415445000000000000000000000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000004001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400180000000000000000000000000000000001000000010000000180C988000000000400190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000001000000000000000100000000000000000000000100000008002880DD880000000000001C0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000001000000000000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000001000000000000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000100000000000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000010000000000000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000001000000000000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000000000000446696C65F9010000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 709
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000400000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000004000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000D53656C6563742054617267657400000000000000000100000000000000010000009600000003002050000000001142445730312D53544D33324C3439365647960000000000000001001142445730312D53544D33324C3439365647000000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000400090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C00000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2372
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000001000000000000000100000000000000000000000100000003001380D88B0000000000000D000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000001000000000000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380D28B0000000000000E000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000001000000000000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000001000000000000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000010000000000000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000100000000000000010000000000000000000000010000000400138093070000000000000F00000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000100000000000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000100000000000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000010000000000000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380658A000000000000100000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000001000000000000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000001000000000000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000130000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7200000000000000000100000000000000010000000000000000000000010000000000000000000544656275673B020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 650100004F00000040040000C4000000
+
+
+ 16
+ 650100006500000040040000DA000000
+
+
+
+ 1005
+ 1005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000780200004004000033030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 650100006300000040040000C4000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000330300004006000046030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3223
+ 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF65010000C400000040040000C8000000010000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000650100006500000040040000DA000000650100004F00000040040000C40000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF610100004F0000006501000074020000010000000200001004000000010000003AFFFFFF6F050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000610100008A020000000000004F00000061010000740200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000074020000400400007802000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF2003000078020000240300003303000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA02000040060000BE020000000000000100000004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000000000D4020000400600004903000000000000BE02000040060000330300000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF400400004F0000004404000033030000010000000200001004000000010000009BFDFFFF6B02000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180004000000100000044040000650000004006000049030000440400004F000000400600003303000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2348
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008555342445F4344439600000000000000130008555342445F43444307696E7431365F740775696E74385F740672656D61696E056572726F72074F53433130304B04414E53490C726573706563746976656C79185F5F48414C5F554152545F4745545F49545F534F555243450F554152545F434C4541525F52544F460E55534152545F4953525F52544F460B4255464645525F53495A450A52785866657253697A651048414C5F554152545F52656365697665195F5F48414C5F554152545F434C4541525F49444C45464C4147115452414E534D49545445525F424F4152440C444D415F4343525F4349524314554152545F444D415472616E736D697443706C741748414C5F554152545F547843706C7443616C6C6261636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 670
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046770696F96000000000000000100046770696F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2361
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F727920263400000000000000000000000001000000010000000000000000000000010000000000138010010000020000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvoptx b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvoptx
new file mode 100644
index 00000000..3aba1b67
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvoptx
@@ -0,0 +1,1732 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ TencentOS_tiny
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+ .\list\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+
+ 0
+ Getting Started (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00285842.pdf
+
+
+ 1
+ User Manual (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00353127.pdf
+
+
+ 2
+ Bill of Materials (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_bom.zip
+
+
+ 3
+ Gerber Files (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_gerber.zip
+
+
+ 4
+ STM32L496G-Discovery Web Page (STM32L496G-Discovery)
+ http://www.st.com/en/evaluation-tools/32l496gdiscovery.html
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ ARMRTXEVENTFLAGS
+ -L70 -Z18 -C0 -M0 -T1
+
+
+ 0
+ DLGTARM
+ (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)
+
+
+ 0
+ ARMDBGFLAGS
+
+
+
+ 0
+ DLGUARM
+ (105=-1,-1,-1,-1,0)
+
+
+ 0
+ UL2CM3
+ -U -O206 -S8 -C0 -P00 -N00("") -D00(00000000) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024.FLM -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U7C8A080019134B364A4C4E00 -O10446 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP (ARM Core") -D00(2BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024.FLM -FS08000000 -FL07800 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+
+
+
+ 0
+ 1
+ pEraseInit->Page + pEraseInit->NbPages
+
+
+ 1
+ 1
+ page_index
+
+
+
+
+ 1
+ 0
+ app_addr
+ 0
+
+
+
+ 0
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Application/MDK-ARM
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32l496xx.s
+ startup_stm32l496xx.s
+ 0
+ 0
+
+
+
+
+ Application/User
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\Src\stm32l4xx_hal_msp.c
+ stm32l4xx_hal_msp.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\Src\stm32l4xx_it.c
+ stm32l4xx_it.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\Src\gpio.c
+ gpio.c
+ 0
+ 0
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+ stm32l4xx_hal_tim.c
+ 0
+ 0
+
+
+ 3
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+ stm32l4xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 3
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 3
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
+
+ 3
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+ stm32l4xx_hal.c
+ 0
+ 0
+
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+ stm32l4xx_hal_i2c.c
+ 0
+ 0
+
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+ stm32l4xx_hal_i2c_ex.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+ stm32l4xx_hal_rcc.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+ stm32l4xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+ stm32l4xx_hal_flash.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+ stm32l4xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+ stm32l4xx_hal_flash_ramfunc.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+ stm32l4xx_hal_gpio.c
+ 0
+ 0
+
+
+ 3
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+ stm32l4xx_hal_dma.c
+ 0
+ 0
+
+
+ 3
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+ stm32l4xx_hal_dma_ex.c
+ 0
+ 0
+
+
+ 3
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+ stm32l4xx_hal_pwr.c
+ 0
+ 0
+
+
+ 3
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+ stm32l4xx_hal_pwr_ex.c
+ 0
+ 0
+
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+ stm32l4xx_hal_cortex.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+ stm32l4xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 3
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+ stm32l4xx_hal_adc.c
+ 0
+ 0
+
+
+ 3
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+ stm32l4xx_hal_dac.c
+ 0
+ 0
+
+
+ 3
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+ stm32l4xx_hal_dac_ex.c
+ 0
+ 0
+
+
+ 3
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+ stm32l4xx_hal_spi.c
+ 0
+ 0
+
+
+ 3
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+ stm32l4xx_hal_spi_ex.c
+ 0
+ 0
+
+
+
+
+ Drivers/CMSIS
+ 1
+ 0
+ 0
+ 0
+
+ 4
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\Src\system_stm32l4xx.c
+ system_stm32l4xx.c
+ 0
+ 0
+
+
+
+
+ Hardware
+ 1
+ 0
+ 0
+ 0
+
+ 5
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash.c
+ onchip_flash.c
+ 0
+ 0
+
+
+ 5
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash_ota.c
+ onchip_flash_ota.c
+ 0
+ 0
+
+
+
+
+ kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_binary_heap.c
+ tos_binary_heap.c
+ 0
+ 0
+
+
+ 6
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_char_fifo.c
+ tos_char_fifo.c
+ 0
+ 0
+
+
+ 6
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_completion.c
+ tos_completion.c
+ 0
+ 0
+
+
+ 6
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_countdownlatch.c
+ tos_countdownlatch.c
+ 0
+ 0
+
+
+ 6
+ 37
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_event.c
+ tos_event.c
+ 0
+ 0
+
+
+ 6
+ 38
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_global.c
+ tos_global.c
+ 0
+ 0
+
+
+ 6
+ 39
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_mail_queue.c
+ tos_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 40
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_message_queue.c
+ tos_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 41
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_mmblk.c
+ tos_mmblk.c
+ 0
+ 0
+
+
+ 6
+ 42
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_mmheap.c
+ tos_mmheap.c
+ 0
+ 0
+
+
+ 6
+ 43
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_mutex.c
+ tos_mutex.c
+ 0
+ 0
+
+
+ 6
+ 44
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_pend.c
+ tos_pend.c
+ 0
+ 0
+
+
+ 6
+ 45
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_priority_mail_queue.c
+ tos_priority_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 46
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_priority_message_queue.c
+ tos_priority_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 47
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_priority_queue.c
+ tos_priority_queue.c
+ 0
+ 0
+
+
+ 6
+ 48
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_ring_queue.c
+ tos_ring_queue.c
+ 0
+ 0
+
+
+ 6
+ 49
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_robin.c
+ tos_robin.c
+ 0
+ 0
+
+
+ 6
+ 50
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_sched.c
+ tos_sched.c
+ 0
+ 0
+
+
+ 6
+ 51
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_sem.c
+ tos_sem.c
+ 0
+ 0
+
+
+ 6
+ 52
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_sys.c
+ tos_sys.c
+ 0
+ 0
+
+
+ 6
+ 53
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_task.c
+ tos_task.c
+ 0
+ 0
+
+
+ 6
+ 54
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_tick.c
+ tos_tick.c
+ 0
+ 0
+
+
+ 6
+ 55
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_time.c
+ tos_time.c
+ 0
+ 0
+
+
+ 6
+ 56
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_timer.c
+ tos_timer.c
+ 0
+ 0
+
+
+ 6
+ 57
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_barrier.c
+ tos_barrier.c
+ 0
+ 0
+
+
+ 6
+ 58
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_bitmap.c
+ tos_bitmap.c
+ 0
+ 0
+
+
+ 6
+ 59
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_rwlock.c
+ tos_rwlock.c
+ 0
+ 0
+
+
+ 6
+ 60
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\kernel\core\tos_stopwatch.c
+ tos_stopwatch.c
+ 0
+ 0
+
+
+
+
+ cpu
+ 1
+ 0
+ 0
+ 0
+
+ 7
+ 61
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+ port_s.S
+ 0
+ 0
+
+
+ 7
+ 62
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+ tos_cpu.c
+ 0
+ 0
+
+
+ 7
+ 63
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+ port_c.c
+ 0
+ 0
+
+
+
+
+ config
+ 1
+ 0
+ 0
+ 0
+
+ 8
+ 64
+ 5
+ 0
+ 0
+ 0
+ ..\TOS-CONFIG\tos_config.h
+ tos_config.h
+ 0
+ 0
+
+
+
+
+ ota_recovery
+ 1
+ 0
+ 0
+ 0
+
+ 9
+ 65
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\recovery\ota_recovery.c
+ ota_recovery.c
+ 0
+ 0
+
+
+ 9
+ 66
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\recovery\ota_recovery_xip.c
+ ota_recovery_xip.c
+ 0
+ 0
+
+
+ 9
+ 67
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\recovery\ota_patch.c
+ ota_patch.c
+ 0
+ 0
+
+
+ 9
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\recovery\ota_patch_xip.c
+ ota_patch_xip.c
+ 0
+ 0
+
+
+
+
+ ota_common
+ 1
+ 0
+ 0
+ 0
+
+ 10
+ 69
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\flash\ota_flash.c
+ ota_flash.c
+ 0
+ 0
+
+
+ 10
+ 70
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\crc\crc8.c
+ crc8.c
+ 0
+ 0
+
+
+ 10
+ 71
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\image\ota_image.c
+ ota_image.c
+ 0
+ 0
+
+
+ 10
+ 72
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\env\ota_env.c
+ ota_env.c
+ 0
+ 0
+
+
+ 10
+ 73
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\partition\ota_partition.c
+ ota_partition.c
+ 0
+ 0
+
+
+ 10
+ 74
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\info\ota_info.c
+ ota_info.c
+ 0
+ 0
+
+
+
+
+ lzma
+ 1
+ 0
+ 0
+ 0
+
+ 11
+ 75
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zAlloc.c
+ 7zAlloc.c
+ 0
+ 0
+
+
+ 11
+ 76
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zArcIn.c
+ 7zArcIn.c
+ 0
+ 0
+
+
+ 11
+ 77
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zBuf.c
+ 7zBuf.c
+ 0
+ 0
+
+
+ 11
+ 78
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zBuf2.c
+ 7zBuf2.c
+ 0
+ 0
+
+
+ 11
+ 79
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zCrc.c
+ 7zCrc.c
+ 0
+ 0
+
+
+ 11
+ 80
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zCrcOpt.c
+ 7zCrcOpt.c
+ 0
+ 0
+
+
+ 11
+ 81
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zDec.c
+ 7zDec.c
+ 0
+ 0
+
+
+ 11
+ 82
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zFile.c
+ 7zFile.c
+ 0
+ 0
+
+
+ 11
+ 83
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zStream.c
+ 7zStream.c
+ 0
+ 0
+
+
+ 11
+ 84
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Aes.c
+ Aes.c
+ 0
+ 0
+
+
+ 11
+ 85
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\AesOpt.c
+ AesOpt.c
+ 0
+ 0
+
+
+ 11
+ 86
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Alloc.c
+ Alloc.c
+ 0
+ 0
+
+
+ 11
+ 87
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bcj2.c
+ Bcj2.c
+ 0
+ 0
+
+
+ 11
+ 88
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bcj2Enc.c
+ Bcj2Enc.c
+ 0
+ 0
+
+
+ 11
+ 89
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bra.c
+ Bra.c
+ 0
+ 0
+
+
+ 11
+ 90
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bra86.c
+ Bra86.c
+ 0
+ 0
+
+
+ 11
+ 91
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\BraIA64.c
+ BraIA64.c
+ 0
+ 0
+
+
+ 11
+ 92
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\CpuArch.c
+ CpuArch.c
+ 0
+ 0
+
+
+ 11
+ 93
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Delta.c
+ Delta.c
+ 0
+ 0
+
+
+ 11
+ 94
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\DllSecur.c
+ DllSecur.c
+ 0
+ 0
+
+
+ 11
+ 95
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzFind.c
+ LzFind.c
+ 0
+ 0
+
+
+ 11
+ 96
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma2Dec.c
+ Lzma2Dec.c
+ 0
+ 0
+
+
+ 11
+ 97
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma2Enc.c
+ Lzma2Enc.c
+ 0
+ 0
+
+
+ 11
+ 98
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma86Dec.c
+ Lzma86Dec.c
+ 0
+ 0
+
+
+ 11
+ 99
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma86Enc.c
+ Lzma86Enc.c
+ 0
+ 0
+
+
+ 11
+ 100
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzmaDec.c
+ LzmaDec.c
+ 0
+ 0
+
+
+ 11
+ 101
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzmaEnc.c
+ LzmaEnc.c
+ 0
+ 0
+
+
+ 11
+ 102
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzmaLib.c
+ LzmaLib.c
+ 0
+ 0
+
+
+ 11
+ 103
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Ppmd7.c
+ Ppmd7.c
+ 0
+ 0
+
+
+ 11
+ 104
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Ppmd7Dec.c
+ Ppmd7Dec.c
+ 0
+ 0
+
+
+ 11
+ 105
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Ppmd7Enc.c
+ Ppmd7Enc.c
+ 0
+ 0
+
+
+ 11
+ 106
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Sha256.c
+ Sha256.c
+ 0
+ 0
+
+
+ 11
+ 107
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Sort.c
+ Sort.c
+ 0
+ 0
+
+
+ 11
+ 108
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Xz.c
+ Xz.c
+ 0
+ 0
+
+
+ 11
+ 109
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzCrc64.c
+ XzCrc64.c
+ 0
+ 0
+
+
+ 11
+ 110
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzCrc64Opt.c
+ XzCrc64Opt.c
+ 0
+ 0
+
+
+ 11
+ 111
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzDec.c
+ XzDec.c
+ 0
+ 0
+
+
+ 11
+ 112
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzEnc.c
+ XzEnc.c
+ 0
+ 0
+
+
+ 11
+ 113
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzIn.c
+ XzIn.c
+ 0
+ 0
+
+
+
+
+ lzma_wrapper
+ 0
+ 0
+ 0
+ 0
+
+ 12
+ 114
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\ota\common\lzma\wrapper\lzma_uncompress.c
+ lzma_uncompress.c
+ 0
+ 0
+
+
+
+
+ kv
+ 0
+ 0
+ 0
+ 0
+
+ 13
+ 115
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\..\..\components\fs\kv\tos_kv.c
+ tos_kv.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvprojx b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvprojx
new file mode 100644
index 00000000..c28c0c5a
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/TencentOS_tiny.uvprojx
@@ -0,0 +1,1037 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ TencentOS_tiny
+ 0x4
+ ARM-ADS
+ 5060183::V5.06 update 2 (build 183)::ARMCC
+
+
+ STM32L496VGTx
+ STMicroelectronics
+ Keil.STM32L4xx_DFP.2.4.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00040000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM))
+ 0
+ $$Device:STM32L496VGTx$Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32L496VGTx$CMSIS\SVD\STM32L4x6.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\obj\
+ TencentOS_tiny
+ 1
+ 0
+ 1
+ 1
+ 0
+ .\list\
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x7800
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x50000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32L496xx,
+
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc;..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Legacy;..\..\..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32L4xx\Include;..\..\..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\..\..\kernel\core\include;..\TOS-CONFIG;..\..\..\..\..\..\platform\arch\arm\cortex-m4\keil;..\..\..\..\..\..\kernel\pm\include;..\..\..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\..\..\components\ota\recovery\include;..\..\..\..\..\..\components\ota\common\crc;..\..\..\..\..\..\components\ota\common\image;..\..\..\..\..\..\components\ota\common\flash;..\..\..\..\..\..\components\ota\common\bsdiff;..\..\..\..\..\..\components\ota\common\lzma\3rdparty;..\..\..\..\..\..\components\ota\common\lzma\wrapper;..\..\..\..\..\..\components\ota\common\partition;..\..\..\..\..\..\components\ota\common\env;..\..\..\..\..\..\components\fs\kv\include;..\..\..\..\..\..\components\ota\common\info;..\Inc
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Application/MDK-ARM
+
+
+ startup_stm32l496xx.s
+ 2
+ .\startup_stm32l496xx.s
+
+
+
+
+ Application/User
+
+
+ main.c
+ 1
+ ..\Src\main.c
+
+
+ stm32l4xx_hal_msp.c
+ 1
+ ..\Src\stm32l4xx_hal_msp.c
+
+
+ stm32l4xx_it.c
+ 1
+ ..\Src\stm32l4xx_it.c
+
+
+ gpio.c
+ 1
+ ..\Src\gpio.c
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+
+
+ stm32l4xx_hal_tim.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+
+
+ stm32l4xx_hal_tim_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+
+
+ stm32l4xx_hal_uart.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+
+
+ stm32l4xx_hal.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+
+
+ stm32l4xx_hal_i2c.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+
+
+ stm32l4xx_hal_i2c_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+
+
+ stm32l4xx_hal_rcc.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+
+
+ stm32l4xx_hal_rcc_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+
+
+ stm32l4xx_hal_flash.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+
+
+ stm32l4xx_hal_flash_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+
+
+ stm32l4xx_hal_flash_ramfunc.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+
+
+ stm32l4xx_hal_gpio.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+
+
+ stm32l4xx_hal_dma.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+
+
+ stm32l4xx_hal_dma_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+
+
+ stm32l4xx_hal_pwr.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+
+
+ stm32l4xx_hal_pwr_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+
+
+ stm32l4xx_hal_cortex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+
+
+ stm32l4xx_hal_adc_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+
+
+ stm32l4xx_hal_adc.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+
+
+ stm32l4xx_hal_dac.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+
+
+ stm32l4xx_hal_dac_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+
+
+ stm32l4xx_hal_spi.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+
+
+ stm32l4xx_hal_spi_ex.c
+ 1
+ ..\..\..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+
+
+
+
+ Drivers/CMSIS
+
+
+ system_stm32l4xx.c
+ 1
+ ..\Src\system_stm32l4xx.c
+
+
+
+
+ Hardware
+
+
+ onchip_flash.c
+ 1
+ ..\..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash.c
+
+
+ onchip_flash_ota.c
+ 1
+ ..\..\..\..\BSP\Hardware\ONCHIP_FLASH\onchip_flash_ota.c
+
+
+
+
+ kernel
+
+
+ tos_binary_heap.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_binary_heap.c
+
+
+ tos_char_fifo.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_char_fifo.c
+
+
+ tos_completion.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_completion.c
+
+
+ tos_countdownlatch.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_countdownlatch.c
+
+
+ tos_event.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_event.c
+
+
+ tos_global.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_global.c
+
+
+ tos_mail_queue.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_mail_queue.c
+
+
+ tos_message_queue.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_message_queue.c
+
+
+ tos_mmblk.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_mmblk.c
+
+
+ tos_mmheap.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_mmheap.c
+
+
+ tos_mutex.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_mutex.c
+
+
+ tos_pend.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_pend.c
+
+
+ tos_priority_mail_queue.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_priority_mail_queue.c
+
+
+ tos_priority_message_queue.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_priority_message_queue.c
+
+
+ tos_priority_queue.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_priority_queue.c
+
+
+ tos_ring_queue.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_ring_queue.c
+
+
+ tos_robin.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_robin.c
+
+
+ tos_sched.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_sched.c
+
+
+ tos_sem.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_sem.c
+
+
+ tos_sys.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_sys.c
+
+
+ tos_task.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_task.c
+
+
+ tos_tick.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_tick.c
+
+
+ tos_time.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_time.c
+
+
+ tos_timer.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_timer.c
+
+
+ tos_barrier.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_barrier.c
+
+
+ tos_bitmap.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_bitmap.c
+
+
+ tos_rwlock.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_rwlock.c
+
+
+ tos_stopwatch.c
+ 1
+ ..\..\..\..\..\..\kernel\core\tos_stopwatch.c
+
+
+
+
+ cpu
+
+
+ port_s.S
+ 2
+ ..\..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+
+
+ tos_cpu.c
+ 1
+ ..\..\..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+
+
+ port_c.c
+ 1
+ ..\..\..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+
+
+
+
+ config
+
+
+ tos_config.h
+ 5
+ ..\TOS-CONFIG\tos_config.h
+
+
+
+
+ ota_recovery
+
+
+ ota_recovery.c
+ 1
+ ..\..\..\..\..\..\components\ota\recovery\ota_recovery.c
+
+
+ ota_recovery_xip.c
+ 1
+ ..\..\..\..\..\..\components\ota\recovery\ota_recovery_xip.c
+
+
+ ota_patch.c
+ 1
+ ..\..\..\..\..\..\components\ota\recovery\ota_patch.c
+
+
+ ota_patch_xip.c
+ 1
+ ..\..\..\..\..\..\components\ota\recovery\ota_patch_xip.c
+
+
+
+
+ ota_common
+
+
+ ota_flash.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\flash\ota_flash.c
+
+
+ crc8.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\crc\crc8.c
+
+
+ ota_image.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\image\ota_image.c
+
+
+ ota_env.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\env\ota_env.c
+
+
+ ota_partition.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\partition\ota_partition.c
+
+
+ ota_info.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\info\ota_info.c
+
+
+
+
+ lzma
+
+
+ 7zAlloc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zAlloc.c
+
+
+ 7zArcIn.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zArcIn.c
+
+
+ 7zBuf.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zBuf.c
+
+
+ 7zBuf2.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zBuf2.c
+
+
+ 7zCrc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zCrc.c
+
+
+ 7zCrcOpt.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zCrcOpt.c
+
+
+ 7zDec.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zDec.c
+
+
+ 7zFile.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zFile.c
+
+
+ 7zStream.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\7zStream.c
+
+
+ Aes.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Aes.c
+
+
+ AesOpt.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\AesOpt.c
+
+
+ Alloc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Alloc.c
+
+
+ Bcj2.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bcj2.c
+
+
+ Bcj2Enc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bcj2Enc.c
+
+
+ Bra.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bra.c
+
+
+ Bra86.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Bra86.c
+
+
+ BraIA64.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\BraIA64.c
+
+
+ CpuArch.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\CpuArch.c
+
+
+ Delta.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Delta.c
+
+
+ DllSecur.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\DllSecur.c
+
+
+ LzFind.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzFind.c
+
+
+ Lzma2Dec.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma2Dec.c
+
+
+ Lzma2Enc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma2Enc.c
+
+
+ Lzma86Dec.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma86Dec.c
+
+
+ Lzma86Enc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Lzma86Enc.c
+
+
+ LzmaDec.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzmaDec.c
+
+
+ LzmaEnc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzmaEnc.c
+
+
+ LzmaLib.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\LzmaLib.c
+
+
+ Ppmd7.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Ppmd7.c
+
+
+ Ppmd7Dec.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Ppmd7Dec.c
+
+
+ Ppmd7Enc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Ppmd7Enc.c
+
+
+ Sha256.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Sha256.c
+
+
+ Sort.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Sort.c
+
+
+ Xz.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\Xz.c
+
+
+ XzCrc64.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzCrc64.c
+
+
+ XzCrc64Opt.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzCrc64Opt.c
+
+
+ XzDec.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzDec.c
+
+
+ XzEnc.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzEnc.c
+
+
+ XzIn.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\3rdparty\XzIn.c
+
+
+
+
+ lzma_wrapper
+
+
+ lzma_uncompress.c
+ 1
+ ..\..\..\..\..\..\components\ota\common\lzma\wrapper\lzma_uncompress.c
+
+
+
+
+ kv
+
+
+ tos_kv.c
+ 1
+ ..\..\..\..\..\..\components\fs\kv\tos_kv.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/startup_stm32l496xx.s b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/startup_stm32l496xx.s
new file mode 100644
index 00000000..c52f4b6f
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/MDK-ARM/startup_stm32l496xx.s
@@ -0,0 +1,450 @@
+;*******************************************************************************
+;* File Name : startup_stm32l496xx.s
+;* Author : MCD Application Team
+;* Description : STM32L496xx Ultra Low Power devices vector table for MDK-ARM toolchain.
+;* This module performs:
+;* - Set the initial SP
+;* - Set the initial PC == Reset_Handler
+;* - Set the vector table entries with the exceptions ISR address
+;* - Branches to __main in the C library (which eventually
+;* calls main()).
+;* After Reset the Cortex-M4 processor is in Thread mode,
+;* priority is Privileged, and the Stack is set to Main.
+;* <<< Use Configuration Wizard in Context Menu >>>
+;*******************************************************************************
+;*
+;* © Copyright (c) 2017 STMicroelectronics.
+;* All rights reserved.
+;*
+;* This software component is licensed by ST under BSD 3-Clause license,
+;* the "License"; You may not use this file except in compliance with the
+;* License. You may obtain a copy of the License at:
+;* opensource.org/licenses/BSD-3-Clause
+;*
+;*******************************************************************************
+;
+; Amount of memory (in bytes) allocated for Stack
+; Tailor this value to your application needs
+; Stack Configuration
+; Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Stack_Size EQU 0x800
+
+ AREA STACK, NOINIT, READWRITE, ALIGN=3
+Stack_Mem SPACE Stack_Size
+__initial_sp
+
+
+; Heap Configuration
+; Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
+;
+
+Heap_Size EQU 0x6000
+
+ AREA HEAP, NOINIT, READWRITE, ALIGN=3
+__heap_base
+Heap_Mem SPACE Heap_Size
+__heap_limit
+
+ PRESERVE8
+ THUMB
+
+
+; Vector Table Mapped to Address 0 at Reset
+ AREA RESET, DATA, READONLY
+ EXPORT __Vectors
+ EXPORT __Vectors_End
+ EXPORT __Vectors_Size
+
+__Vectors DCD __initial_sp ; Top of Stack
+ DCD Reset_Handler ; Reset Handler
+ DCD NMI_Handler ; NMI Handler
+ DCD HardFault_Handler ; Hard Fault Handler
+ DCD MemManage_Handler ; MPU Fault Handler
+ DCD BusFault_Handler ; Bus Fault Handler
+ DCD UsageFault_Handler ; Usage Fault Handler
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD 0 ; Reserved
+ DCD SVC_Handler ; SVCall Handler
+ DCD DebugMon_Handler ; Debug Monitor Handler
+ DCD 0 ; Reserved
+ DCD PendSV_Handler ; PendSV Handler
+ DCD SysTick_Handler ; SysTick Handler
+
+ ; External Interrupts
+ DCD WWDG_IRQHandler ; Window WatchDog
+ DCD PVD_PVM_IRQHandler ; PVD/PVM1/PVM2/PVM3/PVM4 through EXTI Line detection
+ DCD TAMP_STAMP_IRQHandler ; Tamper and TimeStamps through the EXTI line
+ DCD RTC_WKUP_IRQHandler ; RTC Wakeup through the EXTI line
+ DCD FLASH_IRQHandler ; FLASH
+ DCD RCC_IRQHandler ; RCC
+ DCD EXTI0_IRQHandler ; EXTI Line0
+ DCD EXTI1_IRQHandler ; EXTI Line1
+ DCD EXTI2_IRQHandler ; EXTI Line2
+ DCD EXTI3_IRQHandler ; EXTI Line3
+ DCD EXTI4_IRQHandler ; EXTI Line4
+ DCD DMA1_Channel1_IRQHandler ; DMA1 Channel 1
+ DCD DMA1_Channel2_IRQHandler ; DMA1 Channel 2
+ DCD DMA1_Channel3_IRQHandler ; DMA1 Channel 3
+ DCD DMA1_Channel4_IRQHandler ; DMA1 Channel 4
+ DCD DMA1_Channel5_IRQHandler ; DMA1 Channel 5
+ DCD DMA1_Channel6_IRQHandler ; DMA1 Channel 6
+ DCD DMA1_Channel7_IRQHandler ; DMA1 Channel 7
+ DCD ADC1_2_IRQHandler ; ADC1, ADC2
+ DCD CAN1_TX_IRQHandler ; CAN1 TX
+ DCD CAN1_RX0_IRQHandler ; CAN1 RX0
+ DCD CAN1_RX1_IRQHandler ; CAN1 RX1
+ DCD CAN1_SCE_IRQHandler ; CAN1 SCE
+ DCD EXTI9_5_IRQHandler ; External Line[9:5]s
+ DCD TIM1_BRK_TIM15_IRQHandler ; TIM1 Break and TIM15
+ DCD TIM1_UP_TIM16_IRQHandler ; TIM1 Update and TIM16
+ DCD TIM1_TRG_COM_TIM17_IRQHandler ; TIM1 Trigger and Commutation and TIM17
+ DCD TIM1_CC_IRQHandler ; TIM1 Capture Compare
+ DCD TIM2_IRQHandler ; TIM2
+ DCD TIM3_IRQHandler ; TIM3
+ DCD TIM4_IRQHandler ; TIM4
+ DCD I2C1_EV_IRQHandler ; I2C1 Event
+ DCD I2C1_ER_IRQHandler ; I2C1 Error
+ DCD I2C2_EV_IRQHandler ; I2C2 Event
+ DCD I2C2_ER_IRQHandler ; I2C2 Error
+ DCD SPI1_IRQHandler ; SPI1
+ DCD SPI2_IRQHandler ; SPI2
+ DCD USART1_IRQHandler ; USART1
+ DCD USART2_IRQHandler ; USART2
+ DCD USART3_IRQHandler ; USART3
+ DCD EXTI15_10_IRQHandler ; External Line[15:10]
+ DCD RTC_Alarm_IRQHandler ; RTC Alarm (A and B) through EXTI Line
+ DCD DFSDM1_FLT3_IRQHandler ; DFSDM1 Filter 3 global Interrupt
+ DCD TIM8_BRK_IRQHandler ; TIM8 Break Interrupt
+ DCD TIM8_UP_IRQHandler ; TIM8 Update Interrupt
+ DCD TIM8_TRG_COM_IRQHandler ; TIM8 Trigger and Commutation Interrupt
+ DCD TIM8_CC_IRQHandler ; TIM8 Capture Compare Interrupt
+ DCD ADC3_IRQHandler ; ADC3 global Interrupt
+ DCD FMC_IRQHandler ; FMC
+ DCD SDMMC1_IRQHandler ; SDMMC1
+ DCD TIM5_IRQHandler ; TIM5
+ DCD SPI3_IRQHandler ; SPI3
+ DCD UART4_IRQHandler ; UART4
+ DCD UART5_IRQHandler ; UART5
+ DCD TIM6_DAC_IRQHandler ; TIM6 and DAC1&2 underrun errors
+ DCD TIM7_IRQHandler ; TIM7
+ DCD DMA2_Channel1_IRQHandler ; DMA2 Channel 1
+ DCD DMA2_Channel2_IRQHandler ; DMA2 Channel 2
+ DCD DMA2_Channel3_IRQHandler ; DMA2 Channel 3
+ DCD DMA2_Channel4_IRQHandler ; DMA2 Channel 4
+ DCD DMA2_Channel5_IRQHandler ; DMA2 Channel 5
+ DCD DFSDM1_FLT0_IRQHandler ; DFSDM1 Filter 0 global Interrupt
+ DCD DFSDM1_FLT1_IRQHandler ; DFSDM1 Filter 1 global Interrupt
+ DCD DFSDM1_FLT2_IRQHandler ; DFSDM1 Filter 2 global Interrupt
+ DCD COMP_IRQHandler ; COMP Interrupt
+ DCD LPTIM1_IRQHandler ; LP TIM1 interrupt
+ DCD LPTIM2_IRQHandler ; LP TIM2 interrupt
+ DCD OTG_FS_IRQHandler ; USB OTG FS
+ DCD DMA2_Channel6_IRQHandler ; DMA2 Channel 6
+ DCD DMA2_Channel7_IRQHandler ; DMA2 Channel 7
+ DCD LPUART1_IRQHandler ; LP UART1 interrupt
+ DCD QUADSPI_IRQHandler ; Quad SPI global interrupt
+ DCD I2C3_EV_IRQHandler ; I2C3 event
+ DCD I2C3_ER_IRQHandler ; I2C3 error
+ DCD SAI1_IRQHandler ; Serial Audio Interface 1 global interrupt
+ DCD SAI2_IRQHandler ; Serial Audio Interface 2 global interrupt
+ DCD SWPMI1_IRQHandler ; Serial Wire Interface 1 global interrupt
+ DCD TSC_IRQHandler ; Touch Sense Controller global interrupt
+ DCD LCD_IRQHandler ; LCD global interrupt
+ DCD 0 ; Reserved
+ DCD RNG_IRQHandler ; RNG global interrupt
+ DCD FPU_IRQHandler ; FPU
+ DCD CRS_IRQHandler ; CRS error
+ DCD I2C4_EV_IRQHandler ; I2C4 event
+ DCD I2C4_ER_IRQHandler ; I2C4 error
+ DCD DCMI_IRQHandler ; DCMI global interrupt
+ DCD CAN2_TX_IRQHandler ; CAN2 TX
+ DCD CAN2_RX0_IRQHandler ; CAN2 RX0
+ DCD CAN2_RX1_IRQHandler ; CAN2 RX1
+ DCD CAN2_SCE_IRQHandler ; CAN2 SCE
+ DCD DMA2D_IRQHandler ; DMA2D global interrupt
+
+__Vectors_End
+
+__Vectors_Size EQU __Vectors_End - __Vectors
+
+ AREA |.text|, CODE, READONLY
+
+; Reset handler
+Reset_Handler PROC
+ EXPORT Reset_Handler [WEAK]
+ IMPORT SystemInit
+ IMPORT __main
+
+ LDR R0, =SystemInit
+ BLX R0
+ LDR R0, =__main
+ BX R0
+ ENDP
+
+; Dummy Exception Handlers (infinite loops which can be modified)
+
+NMI_Handler PROC
+ EXPORT NMI_Handler [WEAK]
+ B .
+ ENDP
+HardFault_Handler\
+ PROC
+ EXPORT HardFault_Handler [WEAK]
+ B .
+ ENDP
+MemManage_Handler\
+ PROC
+ EXPORT MemManage_Handler [WEAK]
+ B .
+ ENDP
+BusFault_Handler\
+ PROC
+ EXPORT BusFault_Handler [WEAK]
+ B .
+ ENDP
+UsageFault_Handler\
+ PROC
+ EXPORT UsageFault_Handler [WEAK]
+ B .
+ ENDP
+SVC_Handler PROC
+ EXPORT SVC_Handler [WEAK]
+ B .
+ ENDP
+DebugMon_Handler\
+ PROC
+ EXPORT DebugMon_Handler [WEAK]
+ B .
+ ENDP
+PendSV_Handler PROC
+ EXPORT PendSV_Handler [WEAK]
+ B .
+ ENDP
+SysTick_Handler PROC
+ EXPORT SysTick_Handler [WEAK]
+ B .
+ ENDP
+
+Default_Handler PROC
+
+ EXPORT WWDG_IRQHandler [WEAK]
+ EXPORT PVD_PVM_IRQHandler [WEAK]
+ EXPORT TAMP_STAMP_IRQHandler [WEAK]
+ EXPORT RTC_WKUP_IRQHandler [WEAK]
+ EXPORT FLASH_IRQHandler [WEAK]
+ EXPORT RCC_IRQHandler [WEAK]
+ EXPORT EXTI0_IRQHandler [WEAK]
+ EXPORT EXTI1_IRQHandler [WEAK]
+ EXPORT EXTI2_IRQHandler [WEAK]
+ EXPORT EXTI3_IRQHandler [WEAK]
+ EXPORT EXTI4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel1_IRQHandler [WEAK]
+ EXPORT DMA1_Channel2_IRQHandler [WEAK]
+ EXPORT DMA1_Channel3_IRQHandler [WEAK]
+ EXPORT DMA1_Channel4_IRQHandler [WEAK]
+ EXPORT DMA1_Channel5_IRQHandler [WEAK]
+ EXPORT DMA1_Channel6_IRQHandler [WEAK]
+ EXPORT DMA1_Channel7_IRQHandler [WEAK]
+ EXPORT ADC1_2_IRQHandler [WEAK]
+ EXPORT CAN1_TX_IRQHandler [WEAK]
+ EXPORT CAN1_RX0_IRQHandler [WEAK]
+ EXPORT CAN1_RX1_IRQHandler [WEAK]
+ EXPORT CAN1_SCE_IRQHandler [WEAK]
+ EXPORT EXTI9_5_IRQHandler [WEAK]
+ EXPORT TIM1_BRK_TIM15_IRQHandler [WEAK]
+ EXPORT TIM1_UP_TIM16_IRQHandler [WEAK]
+ EXPORT TIM1_TRG_COM_TIM17_IRQHandler [WEAK]
+ EXPORT TIM1_CC_IRQHandler [WEAK]
+ EXPORT TIM2_IRQHandler [WEAK]
+ EXPORT TIM3_IRQHandler [WEAK]
+ EXPORT TIM4_IRQHandler [WEAK]
+ EXPORT I2C1_EV_IRQHandler [WEAK]
+ EXPORT I2C1_ER_IRQHandler [WEAK]
+ EXPORT I2C2_EV_IRQHandler [WEAK]
+ EXPORT I2C2_ER_IRQHandler [WEAK]
+ EXPORT SPI1_IRQHandler [WEAK]
+ EXPORT SPI2_IRQHandler [WEAK]
+ EXPORT USART1_IRQHandler [WEAK]
+ EXPORT USART2_IRQHandler [WEAK]
+ EXPORT USART3_IRQHandler [WEAK]
+ EXPORT EXTI15_10_IRQHandler [WEAK]
+ EXPORT RTC_Alarm_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT3_IRQHandler [WEAK]
+ EXPORT TIM8_BRK_IRQHandler [WEAK]
+ EXPORT TIM8_UP_IRQHandler [WEAK]
+ EXPORT TIM8_TRG_COM_IRQHandler [WEAK]
+ EXPORT TIM8_CC_IRQHandler [WEAK]
+ EXPORT ADC3_IRQHandler [WEAK]
+ EXPORT FMC_IRQHandler [WEAK]
+ EXPORT SDMMC1_IRQHandler [WEAK]
+ EXPORT TIM5_IRQHandler [WEAK]
+ EXPORT SPI3_IRQHandler [WEAK]
+ EXPORT UART4_IRQHandler [WEAK]
+ EXPORT UART5_IRQHandler [WEAK]
+ EXPORT TIM6_DAC_IRQHandler [WEAK]
+ EXPORT TIM7_IRQHandler [WEAK]
+ EXPORT DMA2_Channel1_IRQHandler [WEAK]
+ EXPORT DMA2_Channel2_IRQHandler [WEAK]
+ EXPORT DMA2_Channel3_IRQHandler [WEAK]
+ EXPORT DMA2_Channel4_IRQHandler [WEAK]
+ EXPORT DMA2_Channel5_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT0_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT1_IRQHandler [WEAK]
+ EXPORT DFSDM1_FLT2_IRQHandler [WEAK]
+ EXPORT COMP_IRQHandler [WEAK]
+ EXPORT LPTIM1_IRQHandler [WEAK]
+ EXPORT LPTIM2_IRQHandler [WEAK]
+ EXPORT OTG_FS_IRQHandler [WEAK]
+ EXPORT DMA2_Channel6_IRQHandler [WEAK]
+ EXPORT DMA2_Channel7_IRQHandler [WEAK]
+ EXPORT LPUART1_IRQHandler [WEAK]
+ EXPORT QUADSPI_IRQHandler [WEAK]
+ EXPORT I2C3_EV_IRQHandler [WEAK]
+ EXPORT I2C3_ER_IRQHandler [WEAK]
+ EXPORT SAI1_IRQHandler [WEAK]
+ EXPORT SAI2_IRQHandler [WEAK]
+ EXPORT SWPMI1_IRQHandler [WEAK]
+ EXPORT TSC_IRQHandler [WEAK]
+ EXPORT LCD_IRQHandler [WEAK]
+ EXPORT RNG_IRQHandler [WEAK]
+ EXPORT FPU_IRQHandler [WEAK]
+ EXPORT CRS_IRQHandler [WEAK]
+ EXPORT I2C4_EV_IRQHandler [WEAK]
+ EXPORT I2C4_ER_IRQHandler [WEAK]
+ EXPORT DCMI_IRQHandler [WEAK]
+ EXPORT CAN2_TX_IRQHandler [WEAK]
+ EXPORT CAN2_RX0_IRQHandler [WEAK]
+ EXPORT CAN2_RX1_IRQHandler [WEAK]
+ EXPORT CAN2_SCE_IRQHandler [WEAK]
+ EXPORT DMA2D_IRQHandler [WEAK]
+
+WWDG_IRQHandler
+PVD_PVM_IRQHandler
+TAMP_STAMP_IRQHandler
+RTC_WKUP_IRQHandler
+FLASH_IRQHandler
+RCC_IRQHandler
+EXTI0_IRQHandler
+EXTI1_IRQHandler
+EXTI2_IRQHandler
+EXTI3_IRQHandler
+EXTI4_IRQHandler
+DMA1_Channel1_IRQHandler
+DMA1_Channel2_IRQHandler
+DMA1_Channel3_IRQHandler
+DMA1_Channel4_IRQHandler
+DMA1_Channel5_IRQHandler
+DMA1_Channel6_IRQHandler
+DMA1_Channel7_IRQHandler
+ADC1_2_IRQHandler
+CAN1_TX_IRQHandler
+CAN1_RX0_IRQHandler
+CAN1_RX1_IRQHandler
+CAN1_SCE_IRQHandler
+EXTI9_5_IRQHandler
+TIM1_BRK_TIM15_IRQHandler
+TIM1_UP_TIM16_IRQHandler
+TIM1_TRG_COM_TIM17_IRQHandler
+TIM1_CC_IRQHandler
+TIM2_IRQHandler
+TIM3_IRQHandler
+TIM4_IRQHandler
+I2C1_EV_IRQHandler
+I2C1_ER_IRQHandler
+I2C2_EV_IRQHandler
+I2C2_ER_IRQHandler
+SPI1_IRQHandler
+SPI2_IRQHandler
+USART1_IRQHandler
+USART2_IRQHandler
+USART3_IRQHandler
+EXTI15_10_IRQHandler
+RTC_Alarm_IRQHandler
+DFSDM1_FLT3_IRQHandler
+TIM8_BRK_IRQHandler
+TIM8_UP_IRQHandler
+TIM8_TRG_COM_IRQHandler
+TIM8_CC_IRQHandler
+ADC3_IRQHandler
+FMC_IRQHandler
+SDMMC1_IRQHandler
+TIM5_IRQHandler
+SPI3_IRQHandler
+UART4_IRQHandler
+UART5_IRQHandler
+TIM6_DAC_IRQHandler
+TIM7_IRQHandler
+DMA2_Channel1_IRQHandler
+DMA2_Channel2_IRQHandler
+DMA2_Channel3_IRQHandler
+DMA2_Channel4_IRQHandler
+DMA2_Channel5_IRQHandler
+DFSDM1_FLT0_IRQHandler
+DFSDM1_FLT1_IRQHandler
+DFSDM1_FLT2_IRQHandler
+COMP_IRQHandler
+LPTIM1_IRQHandler
+LPTIM2_IRQHandler
+OTG_FS_IRQHandler
+DMA2_Channel6_IRQHandler
+DMA2_Channel7_IRQHandler
+LPUART1_IRQHandler
+QUADSPI_IRQHandler
+I2C3_EV_IRQHandler
+I2C3_ER_IRQHandler
+SAI1_IRQHandler
+SAI2_IRQHandler
+SWPMI1_IRQHandler
+TSC_IRQHandler
+LCD_IRQHandler
+RNG_IRQHandler
+FPU_IRQHandler
+CRS_IRQHandler
+I2C4_EV_IRQHandler
+I2C4_ER_IRQHandler
+DCMI_IRQHandler
+CAN2_TX_IRQHandler
+CAN2_RX0_IRQHandler
+CAN2_RX1_IRQHandler
+CAN2_SCE_IRQHandler
+DMA2D_IRQHandler
+
+ B .
+
+ ENDP
+
+ ALIGN
+
+;*******************************************************************************
+; User Stack and Heap initialization
+;*******************************************************************************
+ IF :DEF:__MICROLIB
+
+ EXPORT __initial_sp
+ EXPORT __heap_base
+ EXPORT __heap_limit
+
+ ELSE
+
+ IMPORT __use_two_region_memory
+ EXPORT __user_initial_stackheap
+
+__user_initial_stackheap
+
+ LDR R0, = Heap_Mem
+ LDR R1, =(Stack_Mem + Stack_Size)
+ LDR R2, = (Heap_Mem + Heap_Size)
+ LDR R3, = Stack_Mem
+ BX LR
+
+ ALIGN
+
+ ENDIF
+
+ END
+
+;************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE*****
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/gpio.c b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/gpio.c
new file mode 100644
index 00000000..efc114d1
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/gpio.c
@@ -0,0 +1,172 @@
+/**
+ ******************************************************************************
+ * File Name : gpio.c
+ * Description : This file provides code for the configuration
+ * of all used GPIO pins.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/* Includes ------------------------------------------------------------------*/
+#include "gpio.h"
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/*----------------------------------------------------------------------------*/
+/* Configure GPIO */
+/*----------------------------------------------------------------------------*/
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/** Configure pins as
+ * Analog
+ * Input
+ * Output
+ * EVENT_OUT
+ * EXTI
+*/
+void MX_GPIO_Init(void)
+{
+
+ GPIO_InitTypeDef GPIO_InitStruct;
+
+ /* GPIO Ports Clock Enable */
+ __HAL_RCC_GPIOE_CLK_ENABLE();
+ __HAL_RCC_GPIOC_CLK_ENABLE();
+ __HAL_RCC_GPIOH_CLK_ENABLE();
+ __HAL_RCC_GPIOA_CLK_ENABLE();
+ __HAL_RCC_GPIOB_CLK_ENABLE();
+ __HAL_RCC_GPIOD_CLK_ENABLE();
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOE, LED5_Pin|LED2_Pin|LED1_Pin, GPIO_PIN_SET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOE, SENSOR_EN_Pin|GPS_RST_Pin|NB_RST_Pin|NB_WKUP_Pin
+ |NB_EN_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOB, GPS_ON_Pin|BD_EN_Pin|OLED_RST_Pin|OLED_EN_Pin
+ |LED3_Pin|IR_OUT_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(GPIOD, AU_CTR_Pin|AU_RST_Pin|AU_EN_Pin|CARD_END5_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(CARD_EN_GPIO_Port, CARD_EN_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(PCIE_RST_GPIO_Port, PCIE_RST_Pin, GPIO_PIN_SET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(PCIE_EN_GPIO_Port, PCIE_EN_Pin, GPIO_PIN_RESET);
+
+ /*Configure GPIO pin Output Level */
+ HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET);
+
+ /*Configure GPIO pins : KEY1_Pin SEL1_Pin SEL2_Pin SEL3_Pin
+ KEY4_Pin */
+ GPIO_InitStruct.Pin = KEY1_Pin|SEL1_Pin|SEL2_Pin|SEL3_Pin
+ |KEY4_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : LED5_Pin SENSOR_EN_Pin GPS_RST_Pin NB_RST_Pin
+ NB_WKUP_Pin NB_EN_Pin LED2_Pin LED1_Pin */
+ GPIO_InitStruct.Pin = LED5_Pin|SENSOR_EN_Pin|GPS_RST_Pin|NB_RST_Pin
+ |NB_WKUP_Pin|NB_EN_Pin|LED2_Pin|LED1_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : SENSOR_INT1_Pin */
+ GPIO_InitStruct.Pin = SENSOR_INT1_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(SENSOR_INT1_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : SENSOR_INT2_Pin */
+ GPIO_InitStruct.Pin = SENSOR_INT2_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(SENSOR_INT2_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PA5 PA6 */
+ GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_6;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : PB0 */
+ GPIO_InitStruct.Pin = GPIO_PIN_0;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF5_SPI1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : GPS_ON_Pin BD_EN_Pin OLED_RST_Pin OLED_EN_Pin
+ LED4_Pin LED3_Pin IR_OUT_Pin */
+ GPIO_InitStruct.Pin = GPS_ON_Pin|BD_EN_Pin|OLED_RST_Pin|OLED_EN_Pin
+ |LED4_Pin|LED3_Pin|IR_OUT_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : AU_CTR_Pin AU_RST_Pin AU_EN_Pin CARD_END5_Pin */
+ GPIO_InitStruct.Pin = AU_CTR_Pin|AU_RST_Pin|AU_EN_Pin|CARD_END5_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : CHARGE_STATE_Pin */
+ GPIO_InitStruct.Pin = CHARGE_STATE_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(CHARGE_STATE_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pin : CARD_EN_Pin */
+ GPIO_InitStruct.Pin = CARD_EN_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(CARD_EN_GPIO_Port, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : PCIE_RST_Pin PCIE_EN_Pin */
+ GPIO_InitStruct.Pin = PCIE_RST_Pin|PCIE_EN_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
+ HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
+
+ /*Configure GPIO pins : KEY3_Pin KEY2_Pin */
+ GPIO_InitStruct.Pin = KEY3_Pin|KEY2_Pin;
+ GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
+
+}
+
+/* USER CODE BEGIN 2 */
+
+/* USER CODE END 2 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/main.c b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/main.c
new file mode 100644
index 00000000..574fcd88
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/main.c
@@ -0,0 +1,249 @@
+/**
+ ******************************************************************************
+ * @file : main.c
+ * @brief : Main program body
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+#include "stdio.h"
+#include "stm32l4xx_hal.h"
+
+#include "ota_recovery.h"
+
+#include "tos_kv.h"
+
+/* Private function prototypes -----------------------------------------------*/
+void SystemClock_Config(void);
+static void MX_USART1_UART_Init(void);
+
+UART_HandleTypeDef huart1;
+
+int fputc(int ch, FILE *f)
+{
+ if (ch == '\n') {
+ HAL_UART_Transmit(&huart1, (void *)"\r", 1,30000);
+ }
+ HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
+ return ch;
+}
+
+extern ota_flash_drv_t stm32l4_norflash_onchip_drv_ota;
+extern ota_flash_prop_t stm32l4_norflash_onchip_prop_ota;
+
+int main(void)
+{
+ ota_err_t ret;
+
+ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
+ HAL_Init();
+
+ /* Configure the system clock */
+ SystemClock_Config();
+ MX_GPIO_Init();
+ MX_USART1_UART_Init();
+
+ uint32_t partition_addr = 0x080FF800;
+
+
+ if ((ret = ota_env_init(OTA_UPDATE_IN_POSITION, partition_addr, &stm32l4_norflash_onchip_drv_ota, &stm32l4_norflash_onchip_prop_ota)) != OTA_ERR_NONE) {
+ printf("env init failed!OTA errcode = %d\n", ret);
+ return -1;
+ } else {
+ printf("env init successfully!\r\n");
+ printf("+-------------------------+\r\n");
+ printf("|Active APP | 0x%08x |\r\n", ota_partition_start(OTA_PARTITION_ACTIVE_APP));
+ printf("| OTA | 0x%08x |\r\n", ota_partition_start(OTA_PARTITION_OTA));
+ printf("| KV | 0x%08x |\r\n", ota_partition_start(OTA_PARTITION_KV));
+ printf("| Version | %d.%d |\r\n", ota_partition_init_version_get().major, ota_partition_init_version_get().minor);
+ printf("+-------------------------+\r\n");
+ }
+
+// while(1)
+// {;}
+
+//ota_img_vs_t new_version;
+//new_version.major = 0;
+//new_version.minor = 2;
+
+//tos_kv_set("new_version", &new_version, sizeof(ota_img_vs_t));
+
+#if 0
+ if ((ret = ota_recovery_xip()) != OTA_ERR_NONE) {
+ printf("recovery failed, OTA errcode = %d!\r\n", ret);
+ } else {
+ printf("recovery successfully!\r\n");
+ }
+#else
+ if ((ret = ota_recovery()) != OTA_ERR_NONE) {
+ printf("recovery failed, OTA errcode = %d!\r\n", ret);
+ } else {
+ printf("recovery successfully!\r\n");
+ }
+#endif
+
+
+ uint32_t jmp_addr, app_addr = ota_partition_start(OTA_PARTITION_ACTIVE_APP);
+
+ /* test if user code is programmed starting from address app_addr */
+ if (((*(uint32_t *)app_addr) & 0x2FFE0000) == 0x20000000) {
+ /* Jump to user application */
+ jmp_addr = *(uint32_t *)(app_addr + 4);
+
+ /* Initialize user application's Stack Pointer */
+ __set_MSP(*(uint32_t *)app_addr);
+ ((void (*)(void))jmp_addr)();
+ }
+}
+
+void _Error_Handler(char *file, int line)
+{
+ /* USER CODE BEGIN Error_Handler_Debug */
+ /* User can add his own implementation to report the HAL error return state */
+ while(1)
+ {
+ printf("err %s,L%d\r\n",file,line);
+ }
+ /* USER CODE END Error_Handler_Debug */
+}
+
+/**
+ * @brief System Clock Configuration
+ * @retval None
+ */
+void SystemClock_Config(void)
+{
+
+ RCC_OscInitTypeDef RCC_OscInitStruct;
+ RCC_ClkInitTypeDef RCC_ClkInitStruct;
+ RCC_PeriphCLKInitTypeDef PeriphClkInit;
+
+ /**Initializes the CPU, AHB and APB busses clocks
+ */
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI|RCC_OSCILLATORTYPE_HSE
+ |RCC_OSCILLATORTYPE_MSI;
+ RCC_OscInitStruct.HSEState = RCC_HSE_ON;
+ RCC_OscInitStruct.LSIState = RCC_LSI_ON;
+ RCC_OscInitStruct.MSIState = RCC_MSI_ON;
+ RCC_OscInitStruct.MSICalibrationValue = 0;
+ RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_11;
+ RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
+ if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Initializes the CPU, AHB and APB busses clocks
+ */
+ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
+ |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
+ RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI;
+ RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
+ RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
+ RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
+
+ if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_USART2
+ |RCC_PERIPHCLK_USART3|RCC_PERIPHCLK_UART4
+ |RCC_PERIPHCLK_LPUART1|RCC_PERIPHCLK_SAI2
+ |RCC_PERIPHCLK_I2C2|RCC_PERIPHCLK_I2C3
+ |RCC_PERIPHCLK_USB|RCC_PERIPHCLK_SDMMC1
+ |RCC_PERIPHCLK_ADC;
+ PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK2;
+ PeriphClkInit.Usart2ClockSelection = RCC_USART2CLKSOURCE_PCLK1;
+ PeriphClkInit.Usart3ClockSelection = RCC_USART3CLKSOURCE_PCLK1;
+ PeriphClkInit.Uart4ClockSelection = RCC_UART4CLKSOURCE_PCLK1;
+ PeriphClkInit.Lpuart1ClockSelection = RCC_LPUART1CLKSOURCE_PCLK1;
+ PeriphClkInit.I2c2ClockSelection = RCC_I2C2CLKSOURCE_PCLK1;
+ PeriphClkInit.I2c3ClockSelection = RCC_I2C3CLKSOURCE_PCLK1;
+ PeriphClkInit.Sai2ClockSelection = RCC_SAI2CLKSOURCE_PLLSAI1;
+ PeriphClkInit.AdcClockSelection = RCC_ADCCLKSOURCE_PLLSAI1;
+ PeriphClkInit.UsbClockSelection = RCC_USBCLKSOURCE_PLLSAI1;
+ PeriphClkInit.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_PLLSAI1;
+ PeriphClkInit.PLLSAI1.PLLSAI1Source = RCC_PLLSOURCE_HSE;
+ PeriphClkInit.PLLSAI1.PLLSAI1M = 1;
+ PeriphClkInit.PLLSAI1.PLLSAI1N = 12;
+ PeriphClkInit.PLLSAI1.PLLSAI1P = RCC_PLLP_DIV4;
+ PeriphClkInit.PLLSAI1.PLLSAI1Q = RCC_PLLQ_DIV4;
+ PeriphClkInit.PLLSAI1.PLLSAI1R = RCC_PLLR_DIV4;
+ PeriphClkInit.PLLSAI1.PLLSAI1ClockOut = RCC_PLLSAI1_SAI1CLK|RCC_PLLSAI1_48M2CLK
+ |RCC_PLLSAI1_ADC1CLK;
+ if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure the main internal regulator output voltage
+ */
+ if (HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+ /**Configure the Systick interrupt time
+ */
+ HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
+
+ /**Configure the Systick
+ */
+ HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
+
+ /* SysTick_IRQn interrupt configuration */
+ HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
+}
+
+/**
+ * @brief USART2 Initialization Function
+ * @param None
+ * @retval None
+ */
+static void MX_USART1_UART_Init(void)
+{
+
+ huart1.Instance = USART1;
+ huart1.Init.BaudRate = 115200;
+ huart1.Init.WordLength = UART_WORDLENGTH_8B;
+ huart1.Init.StopBits = UART_STOPBITS_1;
+ huart1.Init.Parity = UART_PARITY_NONE;
+ huart1.Init.Mode = UART_MODE_TX_RX;
+ huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
+ huart1.Init.OverSampling = UART_OVERSAMPLING_16;
+ huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
+ huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
+ if (HAL_UART_Init(&huart1) != HAL_OK)
+ {
+ _Error_Handler(__FILE__, __LINE__);
+ }
+
+}
+
+
+
+
+#ifdef USE_FULL_ASSERT
+/**
+ * @brief Reports the name of the source file and the source line number
+ * where the assert_param error has occurred.
+ * @param file: pointer to the source file name
+ * @param line: assert_param error line source number
+ * @retval None
+ */
+void assert_failed(char *file, uint32_t line)
+{
+}
+
+#endif /* USE_FULL_ASSERT */
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/stm32l4xx_hal_msp.c b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/stm32l4xx_hal_msp.c
new file mode 100644
index 00000000..fb39c720
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/stm32l4xx_hal_msp.c
@@ -0,0 +1,153 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * File Name : stm32l4xx_hal_msp.c
+ * Description : This file provides code for the MSP Initialization
+ * and de-Initialization codes.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+#include "stm32l4xx_hal.h"
+
+/**
+ * Initializes the Global MSP.
+ */
+void HAL_MspInit(void)
+{
+ /* USER CODE BEGIN MspInit 0 */
+
+ /* USER CODE END MspInit 0 */
+
+ __HAL_RCC_SYSCFG_CLK_ENABLE();
+ __HAL_RCC_PWR_CLK_ENABLE();
+
+ /* System interrupt init*/
+
+ /* USER CODE BEGIN MspInit 1 */
+
+ /* USER CODE END MspInit 1 */
+}
+
+/**
+* @brief CRC MSP Initialization
+* This function configures the hardware resources used in this example
+* @param hcrc: CRC handle pointer
+* @retval None
+*/
+void HAL_CRC_MspInit(CRC_HandleTypeDef* hcrc)
+{
+ if(hcrc->Instance==CRC)
+ {
+ /* USER CODE BEGIN CRC_MspInit 0 */
+
+ /* USER CODE END CRC_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_CRC_CLK_ENABLE();
+ /* USER CODE BEGIN CRC_MspInit 1 */
+
+ /* USER CODE END CRC_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief CRC MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param hcrc: CRC handle pointer
+* @retval None
+*/
+void HAL_CRC_MspDeInit(CRC_HandleTypeDef* hcrc)
+{
+ if(hcrc->Instance==CRC)
+ {
+ /* USER CODE BEGIN CRC_MspDeInit 0 */
+
+ /* USER CODE END CRC_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_CRC_CLK_DISABLE();
+ /* USER CODE BEGIN CRC_MspDeInit 1 */
+
+ /* USER CODE END CRC_MspDeInit 1 */
+ }
+
+}
+
+/**
+* @brief UART MSP Initialization
+* This function configures the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspInit(UART_HandleTypeDef* huart)
+{
+ GPIO_InitTypeDef GPIO_InitStruct;
+ if(huart->Instance==USART1)
+ {
+ /* USER CODE BEGIN USART1_MspInit 0 */
+
+ /* USER CODE END USART1_MspInit 0 */
+ /* Peripheral clock enable */
+ __HAL_RCC_USART1_CLK_ENABLE();
+
+ /**USART1 GPIO Configuration
+ PB6 ------> USART1_TX
+ PB7 ------> USART1_RX
+ */
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
+ GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
+
+ /* USER CODE BEGIN USART1_MspInit 1 */
+
+ /* USER CODE END USART1_MspInit 1 */
+ }
+
+}
+
+/**
+* @brief UART MSP De-Initialization
+* This function freeze the hardware resources used in this example
+* @param huart: UART handle pointer
+* @retval None
+*/
+void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
+{
+ if(huart->Instance==USART1)
+ {
+ /* USER CODE BEGIN USART1_MspDeInit 0 */
+
+ /* USER CODE END USART1_MspDeInit 0 */
+ /* Peripheral clock disable */
+ __HAL_RCC_USART1_CLK_DISABLE();
+
+ /**USART1 GPIO Configuration
+ PB6 ------> USART1_TX
+ PB7 ------> USART1_RX
+ */
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6|GPIO_PIN_7);
+
+ /* USER CODE BEGIN USART1_MspDeInit 1 */
+
+ /* USER CODE END USART1_MspDeInit 1 */
+ }
+}
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/stm32l4xx_it.c b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/stm32l4xx_it.c
new file mode 100644
index 00000000..39097b6c
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/stm32l4xx_it.c
@@ -0,0 +1,202 @@
+/* USER CODE BEGIN Header */
+/**
+ ******************************************************************************
+ * @file stm32l4xx_it.c
+ * @brief Interrupt Service Routines.
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2020 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+/* USER CODE END Header */
+
+/* Includes ------------------------------------------------------------------*/
+#include "stm32l4xx_it.h"
+/* Private includes ----------------------------------------------------------*/
+/* USER CODE BEGIN Includes */
+/* USER CODE END Includes */
+
+/* Private typedef -----------------------------------------------------------*/
+/* USER CODE BEGIN TD */
+
+/* USER CODE END TD */
+
+/* Private define ------------------------------------------------------------*/
+/* USER CODE BEGIN PD */
+
+/* USER CODE END PD */
+
+/* Private macro -------------------------------------------------------------*/
+/* USER CODE BEGIN PM */
+
+/* USER CODE END PM */
+
+/* Private variables ---------------------------------------------------------*/
+/* USER CODE BEGIN PV */
+
+/* USER CODE END PV */
+
+/* Private function prototypes -----------------------------------------------*/
+/* USER CODE BEGIN PFP */
+
+/* USER CODE END PFP */
+
+/* Private user code ---------------------------------------------------------*/
+/* USER CODE BEGIN 0 */
+
+/* USER CODE END 0 */
+
+/* External variables --------------------------------------------------------*/
+
+/* USER CODE BEGIN EV */
+
+/* USER CODE END EV */
+
+/******************************************************************************/
+/* Cortex-M4 Processor Interruption and Exception Handlers */
+/******************************************************************************/
+/**
+ * @brief This function handles Non maskable interrupt.
+ */
+void NMI_Handler(void)
+{
+ /* USER CODE BEGIN NonMaskableInt_IRQn 0 */
+
+ /* USER CODE END NonMaskableInt_IRQn 0 */
+ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */
+
+ /* USER CODE END NonMaskableInt_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Hard fault interrupt.
+ */
+void HardFault_Handler(void)
+{
+ /* USER CODE BEGIN HardFault_IRQn 0 */
+
+ /* USER CODE END HardFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_HardFault_IRQn 0 */
+ /* USER CODE END W1_HardFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Memory management fault.
+ */
+void MemManage_Handler(void)
+{
+ /* USER CODE BEGIN MemoryManagement_IRQn 0 */
+
+ /* USER CODE END MemoryManagement_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_MemoryManagement_IRQn 0 */
+ /* USER CODE END W1_MemoryManagement_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Prefetch fault, memory access fault.
+ */
+void BusFault_Handler(void)
+{
+ /* USER CODE BEGIN BusFault_IRQn 0 */
+
+ /* USER CODE END BusFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_BusFault_IRQn 0 */
+ /* USER CODE END W1_BusFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles Undefined instruction or illegal state.
+ */
+void UsageFault_Handler(void)
+{
+ /* USER CODE BEGIN UsageFault_IRQn 0 */
+
+ /* USER CODE END UsageFault_IRQn 0 */
+ while (1)
+ {
+ /* USER CODE BEGIN W1_UsageFault_IRQn 0 */
+ /* USER CODE END W1_UsageFault_IRQn 0 */
+ }
+}
+
+/**
+ * @brief This function handles System service call via SWI instruction.
+ */
+void SVC_Handler(void)
+{
+ /* USER CODE BEGIN SVCall_IRQn 0 */
+
+ /* USER CODE END SVCall_IRQn 0 */
+ /* USER CODE BEGIN SVCall_IRQn 1 */
+
+ /* USER CODE END SVCall_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Debug monitor.
+ */
+void DebugMon_Handler(void)
+{
+ /* USER CODE BEGIN DebugMonitor_IRQn 0 */
+
+ /* USER CODE END DebugMonitor_IRQn 0 */
+ /* USER CODE BEGIN DebugMonitor_IRQn 1 */
+
+ /* USER CODE END DebugMonitor_IRQn 1 */
+}
+
+/**
+ * @brief This function handles Pendable request for system service.
+ */
+__weak void PendSV_Handler(void)
+{
+ /* USER CODE BEGIN PendSV_IRQn 0 */
+
+ /* USER CODE END PendSV_IRQn 0 */
+ /* USER CODE BEGIN PendSV_IRQn 1 */
+
+ /* USER CODE END PendSV_IRQn 1 */
+}
+
+/**
+ * @brief This function handles System tick timer.
+ */
+void SysTick_Handler(void)
+{
+ /* USER CODE BEGIN SysTick_IRQn 0 */
+
+ /* USER CODE END SysTick_IRQn 0 */
+ HAL_IncTick();
+ /* USER CODE BEGIN SysTick_IRQn 1 */
+
+ /* USER CODE END SysTick_IRQn 1 */
+}
+
+/******************************************************************************/
+/* STM32L4xx Peripheral Interrupt Handlers */
+/* Add here the Interrupt Handlers for the used peripherals. */
+/* For the available peripheral interrupt handler names, */
+/* please refer to the startup file (startup_stm32l4xx.s). */
+/******************************************************************************/
+
+/* USER CODE BEGIN 1 */
+
+/* USER CODE END 1 */
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/system_stm32l4xx.c b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/system_stm32l4xx.c
new file mode 100644
index 00000000..26bd5179
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/Src/system_stm32l4xx.c
@@ -0,0 +1,337 @@
+/**
+ ******************************************************************************
+ * @file system_stm32l4xx.c
+ * @author MCD Application Team
+ * @brief CMSIS Cortex-M4 Device Peripheral Access Layer System Source File
+ *
+ * This file provides two functions and one global variable to be called from
+ * user application:
+ * - SystemInit(): This function is called at startup just after reset and
+ * before branch to main program. This call is made inside
+ * the "startup_stm32l4xx.s" file.
+ *
+ * - SystemCoreClock variable: Contains the core clock (HCLK), it can be used
+ * by the user application to setup the SysTick
+ * timer or configure other parameters.
+ *
+ * - SystemCoreClockUpdate(): Updates the variable SystemCoreClock and must
+ * be called whenever the core clock is changed
+ * during program execution.
+ *
+ * After each device reset the MSI (4 MHz) is used as system clock source.
+ * Then SystemInit() function is called, in "startup_stm32l4xx.s" file, to
+ * configure the system clock before to branch to main program.
+ *
+ * This file configures the system clock as follows:
+ *=============================================================================
+ *-----------------------------------------------------------------------------
+ * System Clock source | MSI
+ *-----------------------------------------------------------------------------
+ * SYSCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * HCLK(Hz) | 4000000
+ *-----------------------------------------------------------------------------
+ * AHB Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB1 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * APB2 Prescaler | 1
+ *-----------------------------------------------------------------------------
+ * PLL_M | 1
+ *-----------------------------------------------------------------------------
+ * PLL_N | 8
+ *-----------------------------------------------------------------------------
+ * PLL_P | 7
+ *-----------------------------------------------------------------------------
+ * PLL_Q | 2
+ *-----------------------------------------------------------------------------
+ * PLL_R | 2
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI1_R | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_P | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_Q | NA
+ *-----------------------------------------------------------------------------
+ * PLLSAI2_R | NA
+ *-----------------------------------------------------------------------------
+ * Require 48MHz for USB OTG FS, | Disabled
+ * SDIO and RNG clock |
+ *-----------------------------------------------------------------------------
+ *=============================================================================
+ ******************************************************************************
+ * @attention
+ *
+ * © Copyright (c) 2017 STMicroelectronics.
+ * All rights reserved.
+ *
+ * This software component is licensed by ST under BSD 3-Clause license,
+ * the "License"; You may not use this file except in compliance with the
+ * License. You may obtain a copy of the License at:
+ * opensource.org/licenses/BSD-3-Clause
+ *
+ ******************************************************************************
+ */
+
+/** @addtogroup CMSIS
+ * @{
+ */
+
+/** @addtogroup stm32l4xx_system
+ * @{
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Includes
+ * @{
+ */
+
+#include "stm32l4xx.h"
+
+#if !defined (HSE_VALUE)
+ #define HSE_VALUE 8000000U /*!< Value of the External oscillator in Hz */
+#endif /* HSE_VALUE */
+
+#if !defined (MSI_VALUE)
+ #define MSI_VALUE 4000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* MSI_VALUE */
+
+#if !defined (HSI_VALUE)
+ #define HSI_VALUE 16000000U /*!< Value of the Internal oscillator in Hz*/
+#endif /* HSI_VALUE */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_TypesDefinitions
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Defines
+ * @{
+ */
+
+/************************* Miscellaneous Configuration ************************/
+/*!< Uncomment the following line if you need to relocate your vector Table in
+ Internal SRAM. */
+/* #define VECT_TAB_SRAM */
+#define VECT_TAB_OFFSET 0x00 /*!< Vector Table base offset field.
+ This value must be a multiple of 0x200. */
+/******************************************************************************/
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Macros
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Variables
+ * @{
+ */
+ /* The SystemCoreClock variable is updated in three ways:
+ 1) by calling CMSIS function SystemCoreClockUpdate()
+ 2) by calling HAL API function HAL_RCC_GetHCLKFreq()
+ 3) each time HAL_RCC_ClockConfig() is called to configure the system clock frequency
+ Note: If you use this function to configure the system clock; then there
+ is no need to call the 2 first functions listed above, since SystemCoreClock
+ variable is updated automatically.
+ */
+ uint32_t SystemCoreClock = 4000000U;
+
+ const uint8_t AHBPrescTable[16] = {0U, 0U, 0U, 0U, 0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U, 6U, 7U, 8U, 9U};
+ const uint8_t APBPrescTable[8] = {0U, 0U, 0U, 0U, 1U, 2U, 3U, 4U};
+ const uint32_t MSIRangeTable[12] = {100000U, 200000U, 400000U, 800000U, 1000000U, 2000000U, \
+ 4000000U, 8000000U, 16000000U, 24000000U, 32000000U, 48000000U};
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_FunctionPrototypes
+ * @{
+ */
+
+/**
+ * @}
+ */
+
+/** @addtogroup STM32L4xx_System_Private_Functions
+ * @{
+ */
+
+/**
+ * @brief Setup the microcontroller system.
+ * @param None
+ * @retval None
+ */
+
+void SystemInit(void)
+{
+ /* FPU settings ------------------------------------------------------------*/
+ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1)
+ SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */
+ #endif
+
+ /* Reset the RCC clock configuration to the default reset state ------------*/
+ /* Set MSION bit */
+ RCC->CR |= RCC_CR_MSION;
+
+ /* Reset CFGR register */
+ RCC->CFGR = 0x00000000U;
+
+ /* Reset HSEON, CSSON , HSION, and PLLON bits */
+ RCC->CR &= 0xEAF6FFFFU;
+
+ /* Reset PLLCFGR register */
+ RCC->PLLCFGR = 0x00001000U;
+
+ /* Reset HSEBYP bit */
+ RCC->CR &= 0xFFFBFFFFU;
+
+ /* Disable all interrupts */
+ RCC->CIER = 0x00000000U;
+
+ /* Configure the Vector Table location add offset address ------------------*/
+#ifdef VECT_TAB_SRAM
+ SCB->VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */
+#else
+ SCB->VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH */
+#endif
+}
+
+/**
+ * @brief Update SystemCoreClock variable according to Clock Register Values.
+ * The SystemCoreClock variable contains the core clock (HCLK), it can
+ * be used by the user application to setup the SysTick timer or configure
+ * other parameters.
+ *
+ * @note Each time the core clock (HCLK) changes, this function must be called
+ * to update SystemCoreClock variable value. Otherwise, any configuration
+ * based on this variable will be incorrect.
+ *
+ * @note - The system frequency computed by this function is not the real
+ * frequency in the chip. It is calculated based on the predefined
+ * constant and the selected clock source:
+ *
+ * - If SYSCLK source is MSI, SystemCoreClock will contain the MSI_VALUE(*)
+ *
+ * - If SYSCLK source is HSI, SystemCoreClock will contain the HSI_VALUE(**)
+ *
+ * - If SYSCLK source is HSE, SystemCoreClock will contain the HSE_VALUE(***)
+ *
+ * - If SYSCLK source is PLL, SystemCoreClock will contain the HSE_VALUE(***)
+ * or HSI_VALUE(*) or MSI_VALUE(*) multiplied/divided by the PLL factors.
+ *
+ * (*) MSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 4 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (**) HSI_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 16 MHz) but the real value may vary depending on the variations
+ * in voltage and temperature.
+ *
+ * (***) HSE_VALUE is a constant defined in stm32l4xx_hal.h file (default value
+ * 8 MHz), user has to ensure that HSE_VALUE is same as the real
+ * frequency of the crystal used. Otherwise, this function may
+ * have wrong result.
+ *
+ * - The result of this function could be not correct when using fractional
+ * value for HSE crystal.
+ *
+ * @param None
+ * @retval None
+ */
+void SystemCoreClockUpdate(void)
+{
+ uint32_t tmp = 0U, msirange = 0U, pllvco = 0U, pllr = 2U, pllsource = 0U, pllm = 2U;
+
+ /* Get MSI Range frequency--------------------------------------------------*/
+ if((RCC->CR & RCC_CR_MSIRGSEL) == RESET)
+ { /* MSISRANGE from RCC_CSR applies */
+ msirange = (RCC->CSR & RCC_CSR_MSISRANGE) >> 8U;
+ }
+ else
+ { /* MSIRANGE from RCC_CR applies */
+ msirange = (RCC->CR & RCC_CR_MSIRANGE) >> 4U;
+ }
+ /*MSI frequency range in HZ*/
+ msirange = MSIRangeTable[msirange];
+
+ /* Get SYSCLK source -------------------------------------------------------*/
+ switch (RCC->CFGR & RCC_CFGR_SWS)
+ {
+ case 0x00: /* MSI used as system clock source */
+ SystemCoreClock = msirange;
+ break;
+
+ case 0x04: /* HSI used as system clock source */
+ SystemCoreClock = HSI_VALUE;
+ break;
+
+ case 0x08: /* HSE used as system clock source */
+ SystemCoreClock = HSE_VALUE;
+ break;
+
+ case 0x0C: /* PLL used as system clock source */
+ /* PLL_VCO = (HSE_VALUE or HSI_VALUE or MSI_VALUE/ PLLM) * PLLN
+ SYSCLK = PLL_VCO / PLLR
+ */
+ pllsource = (RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC);
+ pllm = ((RCC->PLLCFGR & RCC_PLLCFGR_PLLM) >> 4U) + 1U ;
+
+ switch (pllsource)
+ {
+ case 0x02: /* HSI used as PLL clock source */
+ pllvco = (HSI_VALUE / pllm);
+ break;
+
+ case 0x03: /* HSE used as PLL clock source */
+ pllvco = (HSE_VALUE / pllm);
+ break;
+
+ default: /* MSI used as PLL clock source */
+ pllvco = (msirange / pllm);
+ break;
+ }
+ pllvco = pllvco * ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> 8U);
+ pllr = (((RCC->PLLCFGR & RCC_PLLCFGR_PLLR) >> 25U) + 1U) * 2U;
+ SystemCoreClock = pllvco/pllr;
+ break;
+
+ default:
+ SystemCoreClock = msirange;
+ break;
+ }
+ /* Compute HCLK clock frequency --------------------------------------------*/
+ /* Get HCLK prescaler */
+ tmp = AHBPrescTable[((RCC->CFGR & RCC_CFGR_HPRE) >> 4U)];
+ /* HCLK clock frequency */
+ SystemCoreClock >>= tmp;
+}
+
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/**
+ * @}
+ */
+
+/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/event_driven/tos_config.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/event_driven/tos_config.h
new file mode 100644
index 00000000..43493faf
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/event_driven/tos_config.h
@@ -0,0 +1,19 @@
+#ifndef _TOS_CONFIG_H_
+#define _TOS_CONFIG_H_
+
+#include "stm32l4xx.h"
+
+#define TOS_CFG_EVENT_DRIVEN_EN 1u
+
+#define TOS_CFG_MMHEAP_EN 1u
+
+#define TOS_CFG_MMHEAP_DEFAULT_POOL_SIZE 0x8000
+
+#define TOS_CFG_PWR_MGR_EN 0u
+
+#define TOS_CFG_CPU_TICK_PER_SECOND 1000u
+
+#define TOS_CFG_CPU_CLOCK (SystemCoreClock)
+
+#endif
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/mqtt_config.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/mqtt_config.h
new file mode 100644
index 00000000..c2caeb53
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/mqtt_config.h
@@ -0,0 +1,48 @@
+/*
+ * @Author: jiejie
+ * @Github: https://github.com/jiejieTop
+ * @Date: 2019-12-15 00:42:16
+ * @LastEditTime: 2020-02-25 09:25:35
+ * @Description: the code belongs to jiejie, please keep the author information and source code according to the license.
+ */
+#ifndef _MQTT_CONFIG_H_
+#define _MQTT_CONFIG_H_
+
+//#define LOG_IS_SALOF
+
+#define LOG_LEVEL DEBUG_LEVEL //WARN_LEVEL DEBUG_LEVEL
+
+#ifdef LOG_IS_SALOF
+ #define USE_LOG (1U)
+ #define USE_SALOF (1U)
+ #define SALOF_OS USE_TENCENTOS
+ #define USE_IDLE_HOOK (0U)
+ #define LOG_COLOR (0U)
+ #define LOG_TS (0U)
+ #define LOG_TAR (0U)
+ #define SALOF_BUFF_SIZE (512U)
+ #define SALOF_FIFO_SIZE (1024U)
+ #define SALOF_TASK_STACK_SIZE (1024U)
+ #define SALOF_TASK_TICK (50U)
+#endif
+
+
+#define MQTT_MAX_PACKET_ID (0xFFFF - 1)
+#define MQTT_TOPIC_LEN_MAX 64
+#define MQTT_ACK_HANDLER_NUM_MAX 64
+#define MQTT_DEFAULT_BUF_SIZE 1024
+#define MQTT_DEFAULT_CMD_TIMEOUT 4000
+#define MQTT_MAX_CMD_TIMEOUT 20000
+#define MQTT_MIN_CMD_TIMEOUT 1000
+#define MQTT_KEEP_ALIVE_INTERVAL 100 // unit: second
+#define MQTT_VERSION 4 // 4 is mqtt 3.1.1
+#define MQTT_RECONNECT_DEFAULT_DURATION 1000
+#define MQTT_THREAD_STACK_SIZE 2048
+#define MQTT_THREAD_PRIO 5
+#define MQTT_THREAD_TICK 50
+
+#define MQTT_NETSOCKET_USE_AT
+
+//#define MQTT_NETWORK_TYPE_TLS
+
+#endif /* _MQTT_CONFIG_H_ */
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/tickless/tos_config.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/tickless/tos_config.h
new file mode 100644
index 00000000..e02e32a2
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/tickless/tos_config.h
@@ -0,0 +1,41 @@
+#ifndef _TOS_CONFIG_H_
+#define _TOS_CONFIG_H_
+
+#include "stm32l4xx.h"
+
+#define TOS_CFG_TASK_PRIO_MAX 10u
+
+#define TOS_CFG_ROUND_ROBIN_EN 1u
+
+#define TOS_CFG_OBJECT_VERIFY_EN 1u
+
+#define TOS_CFG_TASK_DYNAMIC_CREATE_EN 0u
+
+#define TOS_CFG_EVENT_EN 1u
+
+#define TOS_CFG_MMBLK_EN 1u
+
+#define TOS_CFG_MMHEAP_EN 1u
+
+#define TOS_CFG_MMHEAP_DEFAULT_POOL_SIZE 0x6000
+
+#define TOS_CFG_MUTEX_EN 1u
+
+#define TOS_CFG_TIMER_EN 1u
+
+#define TOS_CFG_PWR_MGR_EN 1u
+
+#define TOS_CFG_TICKLESS_EN 1u
+
+#define TOS_CFG_SEM_EN 1u
+
+#define TOS_CFG_IDLE_TASK_STK_SIZE 512u
+
+#define TOS_CFG_CPU_TICK_PER_SECOND 1000u
+
+#define TOS_CFG_CPU_CLOCK (SystemCoreClock)
+
+#define TOS_CFG_TIMER_AS_PROC 1u
+
+#endif
+
diff --git a/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/tos_config.h b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/tos_config.h
new file mode 100644
index 00000000..92579b54
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/ota/ota_bootloader_recovery/TOS-CONFIG/tos_config.h
@@ -0,0 +1,55 @@
+#ifndef _TOS_CONFIG_H_
+#define _TOS_CONFIG_H_
+
+#include "stm32l4xx.h"
+
+#define TOS_CFG_TASK_PRIO_MAX 10u
+
+#define TOS_CFG_ROUND_ROBIN_EN 0u
+
+#define TOS_CFG_OBJECT_VERIFY_EN 1u
+
+#define TOS_CFG_TASK_DYNAMIC_CREATE_EN 0u
+
+#define TOS_CFG_EVENT_EN 1u
+
+#define TOS_CFG_MMBLK_EN 1u
+
+#define TOS_CFG_MMHEAP_EN 0u
+
+#define TOS_CFG_MMHEAP_DEFAULT_POOL_EN 1u
+
+#define TOS_CFG_MMHEAP_DEFAULT_POOL_SIZE 0x2000
+
+#define TOS_CFG_MUTEX_EN 1u
+
+#define TOS_CFG_MESSAGE_QUEUE_EN 1u
+
+#define TOS_CFG_MAIL_QUEUE_EN 1u
+
+#define TOS_CFG_PRIORITY_MESSAGE_QUEUE_EN 0u
+
+#define TOS_CFG_PRIORITY_MAIL_QUEUE_EN 0u
+
+#define TOS_CFG_TIMER_EN 1u
+
+#define TOS_CFG_PWR_MGR_EN 0u
+
+#define TOS_CFG_TICKLESS_EN 0u
+
+#define TOS_CFG_SEM_EN 1u
+
+#define TOS_CFG_TASK_STACK_DRAUGHT_DEPTH_DETACT_EN 1u
+
+#define TOS_CFG_FAULT_BACKTRACE_EN 0u
+
+#define TOS_CFG_IDLE_TASK_STK_SIZE 128u
+
+#define TOS_CFG_CPU_TICK_PER_SECOND 1000u
+
+#define TOS_CFG_CPU_CLOCK (SystemCoreClock)
+
+#define TOS_CFG_TIMER_AS_PROC 1u
+
+#endif
+
diff --git a/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.sct b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.sct
new file mode 100644
index 00000000..c3369f91
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.sct
@@ -0,0 +1,15 @@
+; *************************************************************
+; *** Scatter-Loading Description File generated by uVision ***
+; *************************************************************
+
+LR_IROM1 0x08000000 0x00100000 { ; load region size_region
+ ER_IROM1 0x08000000 0x00100000 { ; load address = execution address
+ *.o (RESET, +First)
+ *(InRoot$$Sections)
+ .ANY (+RO)
+ }
+ RW_IRAM1 0x20000000 0x00040000 { ; RW data
+ .ANY (+RW +ZI)
+ }
+}
+
diff --git a/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvguix.Administrator b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvguix.Administrator
new file mode 100644
index 00000000..fc8a2daa
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvguix.Administrator
@@ -0,0 +1,3385 @@
+
+
+
+ -6.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+
+
+ 38003
+ Registers
+ 115 175
+
+
+ 346
+ Code Coverage
+ 810 160
+
+
+ 204
+ Performance Analyzer
+ 970
+
+
+
+
+
+ 1506
+ Symbols
+
+ 66 66 66
+
+
+ 1936
+ Watch 1
+
+ 66 66 66
+
+
+ 1937
+ Watch 2
+
+ 66 66 66
+
+
+ 1935
+ Call Stack + Locals
+
+ 66 66 66
+
+
+ 2506
+ Trace Data
+
+ 75 135 130 95 70 230 200 150
+
+
+
+
+
+
+
+ 1
+ 1
+ 0
+ 0
+ -1
+
+
+
+
+
+
+ 44
+ 2
+ 3
+
+ -1
+ -1
+
+
+ -1
+ -1
+
+
+ 99
+ 365
+ 1389
+ 724
+
+
+
+ 0
+
+ 60
+ 010000000400000001000000010000000100000001000000000000000200000000000000010000000100000000000000280000002800000000000000
+
+
+
+ 0
+ Build
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CC0000004F000000A0040000C4000000
+
+
+ 16
+ CC00000065000000A0040000DA000000
+
+
+
+ 1005
+ 1005
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 109
+ 109
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 195
+ 195
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 196
+ 196
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 197
+ 197
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 000000004B020000400600003D030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000AF010000A004000038020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ CF000000660000009D040000AB000000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 0300000066000000290100001A020000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD0000000703000042010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 030000004E0200003D06000024030000
+
+
+ 16
+ B7000000CD000000A3010000A3020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000C60100009D0400001F020000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ B7000000CD0000007F01000074010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 505
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000FC0300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 000000003D0300004006000050030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 1
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 0
+ 0
+ 0
+ 0
+ 571
+ 0
+ 8192
+ 2
+
+ 16
+ 00000000380000004B04000054000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3119
+ 000000000B000000000000000020000000000000FFFFFFFFFFFFFFFFCC000000C4000000A0040000C8000000000000000100000004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000000000000CC00000065000000A0040000DA000000CC0000004F000000A0040000C40000000000000040280046060000000B446973617373656D626C7900000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF2C0100004F00000030010000330200000100000002000010040000000100000027FFFFFF5C050000FFFFFFFF05000000ED0300006D000000C3000000C4000000739400000180001000000100000000000000650000002C01000049020000000000004F0000002C010000330200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73010000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7301000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657301000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273000000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000000000000FFFFFFFFFFFFFFFF00000000AB010000A0040000AF01000000000000010000000400000001000000000000000000000000000000000000000000000001000000C6000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180008000000000000000000000C5010000A00400004E02000000000000AF010000A00400003802000000000000404100460E0000001343616C6C20537461636B202B204C6F63616C73000000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031000000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203100000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFFFFFFFFFF0000000001000000000000000000000001000000FFFFFFFF50020000AF010000540200003802000000000000020000000400000000000000000000000000000000000000000000000000000002000000C6000000FFFFFFFF8F07000001000000FFFFFFFF8F07000001000000C6000000000000000080000001000000FFFFFFFFFFFFFFFF000000003302000040060000370200000100000001000010040000000100000021FEFFFF04010000FFFFFFFF04000000C5000000C7000000B40100007794000001800080000001000000000000004D02000040060000530300000000000037020000400600003D0300000000000040820056040000000C4275696C64204F757470757401000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2075
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000400020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000004000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000004000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000004000F0000000000000000000000000000000001000000010000000180FE880000000004001000000000000000000000000000000000010000000100000001800B810000000004001100000000000000000000000000000000010000000100000001800C810000000004001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F08800000200000013000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000040000000000000000000000000000010000000000000001000000960000000200205000000000086D7174745F70756296000000000000000300086D7174745F70756216746F735F74665F6D6F64756C655F6D7174745F707562145245504F52545F444154415F54454D504C415445000000000000000000000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000004001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400180000000000000000000000000000000001000000010000000180C988000000000400190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000001000000000000000100000000000000000000000100000008002880DD880000000000001C0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000001000000000000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000001000000000000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000100000000000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000010000000000000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000001000000000000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000000000000446696C65F9010000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 709
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000400000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000004000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000D53656C6563742054617267657400000000000000000100000000000000010000009600000003002050000000001142445730312D53544D33324C3439365647960000000000000001001142445730312D53544D33324C3439365647000000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000400090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C00000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2372
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000001000000000000000100000000000000000000000100000003001380D88B0000000000000D000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000001000000000000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380D28B0000000000000E000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000001000000000000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000001000000000000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000010000000000000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000100000000000000010000000000000000000000010000000400138093070000000000000F00000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000100000000000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000100000000000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000010000000000000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000001000000000000000100000000000000000000000100000004001380658A000000000000100000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000001000000000000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000001000000000000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000010000000000000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000130000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F7201000000000000000100000000000000010000000000000000000000010000000000000000000544656275673B020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+ 1
+ Debug
+
+ -1
+ -1
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 650100004F00000040040000C4000000
+
+
+ 16
+ 650100006500000040040000DA000000
+
+
+
+ 1005
+ 1005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 109
+ 109
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 1465
+ 1465
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1466
+ 1466
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1467
+ 1467
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1468
+ 1468
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1506
+ 1506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 16384
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 1913
+ 1913
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 1935
+ 1935
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1936
+ 1936
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1937
+ 1937
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1939
+ 1939
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1940
+ 1940
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1941
+ 1941
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 1942
+ 1942
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 195
+ 195
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 196
+ 196
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 197
+ 197
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 198
+ 198
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 00000000780200004004000033030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 199
+ 199
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 203
+ 203
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 8192
+ 0
+
+ 16
+ 650100006300000040040000C4000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 204
+ 204
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 221
+ 221
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000000000000000000000000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 2506
+ 2506
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 2507
+ 2507
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 343
+ 343
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 346
+ 346
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35824
+ 35824
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 68010000660000003D040000AB000000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 35885
+ 35885
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35886
+ 35886
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35887
+ 35887
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35888
+ 35888
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35889
+ 35889
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35890
+ 35890
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35891
+ 35891
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35892
+ 35892
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35893
+ 35893
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35894
+ 35894
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35895
+ 35895
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35896
+ 35896
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35897
+ 35897
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35898
+ 35898
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35899
+ 35899
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35900
+ 35900
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35901
+ 35901
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35902
+ 35902
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35903
+ 35903
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35904
+ 35904
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 35905
+ 35905
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 38003
+ 38003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000660000005E0100005B020000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 38007
+ 38007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B000000D502000010010000
+
+
+
+ 436
+ 436
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 03000000D50200003D0600001A030000
+
+
+ 16
+ 850000009B0000007101000071020000
+
+
+
+ 437
+ 437
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 440
+ 440
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 32768
+ 0
+
+ 16
+ 47040000660000003D0600001A030000
+
+
+ 16
+ 74050000BB0100009008000076020000
+
+
+
+ 50000
+ 50000
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50001
+ 50001
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50002
+ 50002
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50003
+ 50003
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50004
+ 50004
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50005
+ 50005
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50006
+ 50006
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50007
+ 50007
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50008
+ 50008
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50009
+ 50009
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50010
+ 50010
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50011
+ 50011
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50012
+ 50012
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50013
+ 50013
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50014
+ 50014
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50015
+ 50015
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50016
+ 50016
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50017
+ 50017
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50018
+ 50018
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 50019
+ 50019
+ 0
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ DB030000660000009D040000A6010000
+
+
+ 16
+ 850000009B0000004D01000042010000
+
+
+
+ 59392
+ 59392
+ 1
+ 0
+ 0
+ 0
+ 940
+ 0
+ 8192
+ 0
+
+ 16
+ 0000000000000000B70300001C000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59393
+ 0
+ 1
+ 0
+ 0
+ 0
+ 32767
+ 0
+ 4096
+ 0
+
+ 16
+ 00000000330300004006000046030000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59399
+ 59399
+ 0
+ 0
+ 0
+ 0
+ 463
+ 0
+ 8192
+ 1
+
+ 16
+ 000000001C000000DA01000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 59400
+ 59400
+ 1
+ 0
+ 0
+ 0
+ 612
+ 0
+ 8192
+ 2
+
+ 16
+ 000000001C0000006F02000038000000
+
+
+ 16
+ 0A0000000A0000006E0000006E000000
+
+
+
+ 3223
+ 000000000C000000000000000020000001000000FFFFFFFFFFFFFFFF65010000C400000040040000C8000000010000000100001004000000010000000000000000000000FFFFFFFF06000000CB00000057010000CC000000F08B00005A01000079070000FFFF02000B004354616262656450616E650020000001000000650100006500000040040000DA000000650100004F00000040040000C40000000000000040280056060000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFFD40300004F000000D8030000BF010000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000D803000065000000A0040000D5010000D80300004F000000A0040000BF01000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000010000001000000FFFFFFFFFFFFFFFF610100004F0000006501000074020000010000000200001004000000010000003AFFFFFF6F050000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000018000100000010000000000000065000000610100008A020000000000004F00000061010000740200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000080000001000000FFFFFFFFFFFFFFFF0000000074020000400400007802000001000000010000100400000001000000000000000000000000000000000000000000000001000000C60000000000000001000000000000000000000001000000FFFFFFFF2003000078020000240300003303000000000000020000000400000000000000000000000000000000000000000000000000000001000000C600000001000000C6000000000000000080000000000000FFFFFFFFFFFFFFFF00000000BA02000040060000BE020000000000000100000004000000010000000000000000000000FFFFFFFF04000000C5000000C7000000B4010000779400000180008000000000000000000000D4020000400600004903000000000000BE02000040060000330300000000000040820046040000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0742726F77736572000000007794000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000040000001000000FFFFFFFFFFFFFFFF400400004F0000004404000033030000010000000200001004000000010000009BFDFFFF6B02000000000000000000000000000001000000FFFFFFFF0E0000008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB0900000180004000000100000044040000650000004006000049030000440400004F000000400600003303000000000000404100560E0000001343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572000000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7301000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727301000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFF8F07000001000000FFFFFFFF8F070000000000000000000000000000
+
+
+ 59392
+ File
+
+ 2348
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE8030000000000000000000000000000000000000000000000010000000100000096000000020020500000000008555342445F4344439600000000000000130008555342445F43444307696E7431365F740775696E74385F740672656D61696E056572726F72074F53433130304B04414E53490C726573706563746976656C79185F5F48414C5F554152545F4745545F49545F534F555243450F554152545F434C4541525F52544F460E55534152545F4953525F52544F460B4255464645525F53495A450A52785866657253697A651048414C5F554152545F52656365697665195F5F48414C5F554152545F434C4541525F49444C45464C4147115452414E534D49545445525F424F4152440C444D415F4343525F4349524314554152545F444D415472616E736D697443706C741748414C5F554152545F547843706C7443616C6C6261636B00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020001001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E1000000000000FFFFFFFF000100000000000000010000000000000001000000018001E1000000000000FFFFFFFF000100000000000000010000000000000001000000018003E1000000000000FFFFFFFF0001000000000000000100000000000000010000000180CD7F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF000000000000000000010000000000000001000000018023E1000000000000FFFFFFFF000100000000000000010000000000000001000000018022E1000000000000FFFFFFFF000100000000000000010000000000000001000000018025E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802BE1000000000000FFFFFFFF00010000000000000001000000000000000100000001802CE1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001807A8A000000000000FFFFFFFF00010000000000000001000000000000000100000001807B8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180D3B0000000000000FFFFFFFF000100000000000000010000000000000001000000018015B1000000000000FFFFFFFF0001000000000000000100000000000000010000000180F4B0000000000000FFFFFFFF000100000000000000010000000000000001000000018036B1000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FF88000000000000FFFFFFFF0001000000000000000100000000000000010000000180FE88000000000000FFFFFFFF00010000000000000001000000000000000100000001800B81000000000000FFFFFFFF00010000000000000001000000000000000100000001800C81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180F088000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE7F000000000000FFFFFFFF000100000000000000010000000000000001000000018024E1000000000000FFFFFFFF00010000000000000001000000000000000100000001800A81000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001802280000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C488000000000000FFFFFFFF0001000000000000000100000000000000010000000180C988000000000000FFFFFFFF0001000000000000000100000000000000010000000180C788000000000000FFFFFFFF0001000000000000000100000000000000010000000180C888000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180DD88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180FB7F000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 1423
+ 2800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000000000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000000000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000000000C0000000000000000000000000000000001000000010000000180F4B00000000000000D000000000000000000000000000000000100000001000000018036B10000000000000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF880000000000000F0000000000000000000000000000000001000000010000000180FE880000000000001000000000000000000000000000000000010000000100000001800B810000000000001100000000000000000000000000000000010000000100000001800C810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F088000000000000130000000000000000000000000000000001000000010000000180EE7F00000000000014000000000000000000000000000000000100000001000000018024E10000000000001500000000000000000000000000000000010000000100000001800A810000000000001600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000180000000000000000000000000000000001000000010000000180C988000000000000190000000000000000000000000000000001000000010000000180C7880000000000001A0000000000000000000000000000000001000000010000000180C8880000000000001B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180DD880000000000001C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001D000000000000000000000000000000000100000001000000
+
+
+
+ 59399
+ Build
+
+ 670
+ 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000046770696F96000000000000000100046770696F000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000FFFFFFFF0001000000000000000100000000000000010000000180D07F000000000000FFFFFFFF00010000000000000001000000000000000100000001803080000000000000FFFFFFFF00010000000000000001000000000000000100000001809E8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D17F000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001804C8A000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001806680000000000000FFFFFFFF0001000000000000000100000000000000010000000180EB88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180C07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180B08A000000000000FFFFFFFF0001000000000000000100000000000000010000000180A801000000000000FFFFFFFF00010000000000000001000000000000000100000001807202000000000000FFFFFFFF0001000000000000000100000000000000010000000180BE01000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 583
+ 1000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F000000000000000000000000000000000000000000000001000000010000000180D07F00000000000001000000000000000000000000000000000100000001000000018030800000000000000200000000000000000000000000000000010000000100000001809E8A000000000000030000000000000000000000000000000001000000010000000180D17F0000000000000400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000000500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001806680000000000000060000000000000000000000000000000001000000010000000180EB880000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000080000000000000000000000000000000001000000010000000180B08A000000000000090000000000000000000000000000000001000000010000000180A8010000000000000A000000000000000000000000000000000100000001000000018072020000000000000B0000000000000000000000000000000001000000010000000180BE010000000000000C000000000000000000000000000000000100000001000000
+
+
+
+ 59400
+ Debug
+
+ 2361
+ 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F727920263400000000000000000000000001000000010000000000000000000000010000000000138010010000020000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000020000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC88000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801780000000000000FFFFFFFF00010000000000000001000000000000000100000001801D80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001801A80000000000000FFFFFFFF00010000000000000001000000000000000100000001801B80000000000000FFFFFFFF0001000000000000000100000000000000010000000180E57F000000000000FFFFFFFF00010000000000000001000000000000000100000001801C80000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800089000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF0000000000000000000100000000000000010000000180E48B000000000000FFFFFFFF0001000000000000000100000000000000010000000180F07F000000000000FFFFFFFF0001000000000000000100000000000000010000000180E888000000000000FFFFFFFF00010000000000000001000000000000000100000001803B01000000000000FFFFFFFF0001000000000000000100000000000000010000000180BB8A000000000000FFFFFFFF0001000000000000000100000000000000010000000180D88B000000000000FFFFFFFF0001000000000000000100000000000000010000000180D28B000000000000FFFFFFFF00010000000000000001000000000000000100000001809307000000000000FFFFFFFF0001000000000000000100000000000000010000000180658A000000000000FFFFFFFF0001000000000000000100000000000000010000000180C18A000000000000FFFFFFFF0001000000000000000100000000000000010000000180EE8B000000000000FFFFFFFF00010000000000000001000000000000000100000001800000000000000000FFFFFFFF00000000000000000001000000000000000100000001800189000000000000FFFFFFFF000100000000000000010000000000000001000000
+
+
+ 898
+ 1900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000000000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000000100000000000000000000000000000000010000000100000001801D800000000000000200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000000300000000000000000000000000000000010000000100000001801B80000000000000040000000000000000000000000000000001000000010000000180E57F0000000000000500000000000000000000000000000000010000000100000001801C800000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000000700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B000000000000080000000000000000000000000000000001000000010000000180F07F000000000000090000000000000000000000000000000001000000010000000180E8880000000000000A00000000000000000000000000000000010000000100000001803B010000000000000B0000000000000000000000000000000001000000010000000180BB8A0000000000000C0000000000000000000000000000000001000000010000000180D88B0000000000000D0000000000000000000000000000000001000000010000000180D28B0000000000000E000000000000000000000000000000000100000001000000018093070000000000000F0000000000000000000000000000000001000000010000000180658A000000000000100000000000000000000000000000000001000000010000000180C18A000000000000110000000000000000000000000000000001000000010000000180EE8B0000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180018900000000000013000000000000000000000000000000000100000001000000
+
+
+
+ 0
+ 1600
+ 900
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvoptx b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvoptx
new file mode 100644
index 00000000..a14c1c5b
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvoptx
@@ -0,0 +1,2016 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+
+ 12000000
+
+ 1
+ 1
+ 0
+ 1
+ 0
+
+
+ 1
+ 65535
+ 0
+ 0
+ 0
+
+
+ 79
+ 66
+ 8
+
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 18
+
+
+ 0
+ Getting Started (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00285842.pdf
+
+
+ 1
+ User Manual (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\DM00353127.pdf
+
+
+ 2
+ Bill of Materials (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_bom.zip
+
+
+ 3
+ Gerber Files (STM32L496G-Discovery)
+ d:\Keil_v5\ARM\PACK\Keil\STM32L4xx_DFP\2.4.0\MDK\Boards\ST\STM32L496G-DISCO\Documentation\stm32l496g-disco_gerber.zip
+
+
+ 4
+ STM32L496G-Discovery Web Page (STM32L496G-Discovery)
+ http://www.st.com/en/evaluation-tools/32l496gdiscovery.html
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 5
+
+
+
+
+
+
+
+
+
+
+ STLink\ST-LINKIII-KEIL_SWO.dll
+
+
+
+ 0
+ UL2CM3
+ UL2CM3(-S0 -C0 -P0 ) -FN1 -FC1000 -FD20000000 -FF0STM32L4xx_1024 -FL0100000 -FS08000000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+ 0
+ ST-LINKIII-KEIL_SWO
+ -U51FF68064965575333151687 -O206 -S1 -C0 -A0 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM)
+
+
+
+
+ 0
+
+
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+
+
+ 0
+
+ 1
+ 0
+ 2
+ 10000000
+
+
+
+
+
+ Application/MDK-ARM
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 2
+ 0
+ 0
+ 0
+ .\startup_stm32l496xx.s
+ startup_stm32l496xx.s
+ 0
+ 0
+
+
+
+
+ Application/User
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\gpio.c
+ gpio.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\main.c
+ main.c
+ 0
+ 0
+
+
+ 2
+ 4
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mcu_init.c
+ mcu_init.c
+ 0
+ 0
+
+
+ 2
+ 5
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\usart.c
+ usart.c
+ 0
+ 0
+
+
+ 2
+ 6
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+ stm32l4xx_hal_msp.c
+ 0
+ 0
+
+
+ 2
+ 7
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\stm32l4xx_it.c
+ stm32l4xx_it.c
+ 0
+ 0
+
+
+ 2
+ 8
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\mymath.c
+ mymath.c
+ 0
+ 0
+
+
+ 2
+ 9
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\i2c.c
+ i2c.c
+ 0
+ 0
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+ 0
+ 0
+ 0
+ 0
+
+ 3
+ 10
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+ stm32l4xx_hal.c
+ 0
+ 0
+
+
+ 3
+ 11
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+ stm32l4xx_hal_adc.c
+ 0
+ 0
+
+
+ 3
+ 12
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+ stm32l4xx_hal_adc_ex.c
+ 0
+ 0
+
+
+ 3
+ 13
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+ stm32l4xx_hal_can.c
+ 0
+ 0
+
+
+ 3
+ 14
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+ stm32l4xx_hal_comp.c
+ 0
+ 0
+
+
+ 3
+ 15
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+ stm32l4xx_hal_cortex.c
+ 0
+ 0
+
+
+ 3
+ 16
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+ stm32l4xx_hal_crc.c
+ 0
+ 0
+
+
+ 3
+ 17
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+ stm32l4xx_hal_crc_ex.c
+ 0
+ 0
+
+
+ 3
+ 18
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+ stm32l4xx_hal_cryp.c
+ 0
+ 0
+
+
+ 3
+ 19
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+ stm32l4xx_hal_cryp_ex.c
+ 0
+ 0
+
+
+ 3
+ 20
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+ stm32l4xx_hal_dac.c
+ 0
+ 0
+
+
+ 3
+ 21
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+ stm32l4xx_hal_dac_ex.c
+ 0
+ 0
+
+
+ 3
+ 22
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+ stm32l4xx_hal_dcmi.c
+ 0
+ 0
+
+
+ 3
+ 23
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+ stm32l4xx_hal_dfsdm.c
+ 0
+ 0
+
+
+ 3
+ 24
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+ stm32l4xx_hal_dfsdm_ex.c
+ 0
+ 0
+
+
+ 3
+ 25
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+ stm32l4xx_hal_dma.c
+ 0
+ 0
+
+
+ 3
+ 26
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+ stm32l4xx_hal_dma_ex.c
+ 0
+ 0
+
+
+ 3
+ 27
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+ stm32l4xx_hal_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 28
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+ stm32l4xx_hal_dsi.c
+ 0
+ 0
+
+
+ 3
+ 29
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+ stm32l4xx_hal_exti.c
+ 0
+ 0
+
+
+ 3
+ 30
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+ stm32l4xx_hal_firewall.c
+ 0
+ 0
+
+
+ 3
+ 31
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+ stm32l4xx_hal_flash.c
+ 0
+ 0
+
+
+ 3
+ 32
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+ stm32l4xx_hal_flash_ex.c
+ 0
+ 0
+
+
+ 3
+ 33
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+ stm32l4xx_hal_flash_ramfunc.c
+ 0
+ 0
+
+
+ 3
+ 34
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+ stm32l4xx_hal_gfxmmu.c
+ 0
+ 0
+
+
+ 3
+ 35
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+ stm32l4xx_hal_gpio.c
+ 0
+ 0
+
+
+ 3
+ 36
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+ stm32l4xx_hal_hash.c
+ 0
+ 0
+
+
+ 3
+ 37
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+ stm32l4xx_hal_hash_ex.c
+ 0
+ 0
+
+
+ 3
+ 38
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+ stm32l4xx_hal_hcd.c
+ 0
+ 0
+
+
+ 3
+ 39
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+ stm32l4xx_hal_i2c.c
+ 0
+ 0
+
+
+ 3
+ 40
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+ stm32l4xx_hal_i2c_ex.c
+ 0
+ 0
+
+
+ 3
+ 41
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+ stm32l4xx_hal_irda.c
+ 0
+ 0
+
+
+ 3
+ 42
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+ stm32l4xx_hal_iwdg.c
+ 0
+ 0
+
+
+ 3
+ 43
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+ stm32l4xx_hal_lcd.c
+ 0
+ 0
+
+
+ 3
+ 44
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+ stm32l4xx_hal_lptim.c
+ 0
+ 0
+
+
+ 3
+ 45
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+ stm32l4xx_hal_ltdc.c
+ 0
+ 0
+
+
+ 3
+ 46
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+ stm32l4xx_hal_ltdc_ex.c
+ 0
+ 0
+
+
+ 3
+ 47
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+ stm32l4xx_hal_nand.c
+ 0
+ 0
+
+
+ 3
+ 48
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+ stm32l4xx_hal_nor.c
+ 0
+ 0
+
+
+ 3
+ 49
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+ stm32l4xx_hal_opamp.c
+ 0
+ 0
+
+
+ 3
+ 50
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+ stm32l4xx_hal_opamp_ex.c
+ 0
+ 0
+
+
+ 3
+ 51
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+ stm32l4xx_hal_ospi.c
+ 0
+ 0
+
+
+ 3
+ 52
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+ stm32l4xx_hal_pcd.c
+ 0
+ 0
+
+
+ 3
+ 53
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+ stm32l4xx_hal_pcd_ex.c
+ 0
+ 0
+
+
+ 3
+ 54
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+ stm32l4xx_hal_pwr.c
+ 0
+ 0
+
+
+ 3
+ 55
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+ stm32l4xx_hal_pwr_ex.c
+ 0
+ 0
+
+
+ 3
+ 56
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+ stm32l4xx_hal_qspi.c
+ 0
+ 0
+
+
+ 3
+ 57
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+ stm32l4xx_hal_rcc.c
+ 0
+ 0
+
+
+ 3
+ 58
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+ stm32l4xx_hal_rcc_ex.c
+ 0
+ 0
+
+
+ 3
+ 59
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+ stm32l4xx_hal_rng.c
+ 0
+ 0
+
+
+ 3
+ 60
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+ stm32l4xx_hal_rtc.c
+ 0
+ 0
+
+
+ 3
+ 61
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+ stm32l4xx_hal_rtc_ex.c
+ 0
+ 0
+
+
+ 3
+ 62
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+ stm32l4xx_hal_sai.c
+ 0
+ 0
+
+
+ 3
+ 63
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+ stm32l4xx_hal_sai_ex.c
+ 0
+ 0
+
+
+ 3
+ 64
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+ stm32l4xx_hal_sd.c
+ 0
+ 0
+
+
+ 3
+ 65
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+ stm32l4xx_hal_sd_ex.c
+ 0
+ 0
+
+
+ 3
+ 66
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+ stm32l4xx_hal_smartcard.c
+ 0
+ 0
+
+
+ 3
+ 67
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+ stm32l4xx_hal_smartcard_ex.c
+ 0
+ 0
+
+
+ 3
+ 68
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+ stm32l4xx_hal_smbus.c
+ 0
+ 0
+
+
+ 3
+ 69
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+ stm32l4xx_hal_spi.c
+ 0
+ 0
+
+
+ 3
+ 70
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+ stm32l4xx_hal_spi_ex.c
+ 0
+ 0
+
+
+ 3
+ 71
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+ stm32l4xx_hal_sram.c
+ 0
+ 0
+
+
+ 3
+ 72
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+ stm32l4xx_hal_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 73
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+ stm32l4xx_hal_tim.c
+ 0
+ 0
+
+
+ 3
+ 74
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+ stm32l4xx_hal_tim_ex.c
+ 0
+ 0
+
+
+ 3
+ 75
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+ stm32l4xx_hal_timebase_tim_template.c
+ 0
+ 0
+
+
+ 3
+ 76
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+ stm32l4xx_hal_tsc.c
+ 0
+ 0
+
+
+ 3
+ 77
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+ stm32l4xx_hal_uart.c
+ 0
+ 0
+
+
+ 3
+ 78
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+ stm32l4xx_hal_uart_ex.c
+ 0
+ 0
+
+
+ 3
+ 79
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+ stm32l4xx_hal_usart.c
+ 0
+ 0
+
+
+ 3
+ 80
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+ stm32l4xx_hal_usart_ex.c
+ 0
+ 0
+
+
+ 3
+ 81
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+ stm32l4xx_hal_wwdg.c
+ 0
+ 0
+
+
+ 3
+ 82
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+ stm32l4xx_ll_adc.c
+ 0
+ 0
+
+
+ 3
+ 83
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+ stm32l4xx_ll_comp.c
+ 0
+ 0
+
+
+ 3
+ 84
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+ stm32l4xx_ll_crc.c
+ 0
+ 0
+
+
+ 3
+ 85
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+ stm32l4xx_ll_crs.c
+ 0
+ 0
+
+
+ 3
+ 86
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+ stm32l4xx_ll_dac.c
+ 0
+ 0
+
+
+ 3
+ 87
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+ stm32l4xx_ll_dma.c
+ 0
+ 0
+
+
+ 3
+ 88
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+ stm32l4xx_ll_dma2d.c
+ 0
+ 0
+
+
+ 3
+ 89
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+ stm32l4xx_ll_exti.c
+ 0
+ 0
+
+
+ 3
+ 90
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+ stm32l4xx_ll_fmc.c
+ 0
+ 0
+
+
+ 3
+ 91
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+ stm32l4xx_ll_gpio.c
+ 0
+ 0
+
+
+ 3
+ 92
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+ stm32l4xx_ll_i2c.c
+ 0
+ 0
+
+
+ 3
+ 93
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+ stm32l4xx_ll_lptim.c
+ 0
+ 0
+
+
+ 3
+ 94
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+ stm32l4xx_ll_lpuart.c
+ 0
+ 0
+
+
+ 3
+ 95
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+ stm32l4xx_ll_opamp.c
+ 0
+ 0
+
+
+ 3
+ 96
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+ stm32l4xx_ll_pwr.c
+ 0
+ 0
+
+
+ 3
+ 97
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+ stm32l4xx_ll_rcc.c
+ 0
+ 0
+
+
+ 3
+ 98
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+ stm32l4xx_ll_rng.c
+ 0
+ 0
+
+
+ 3
+ 99
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+ stm32l4xx_ll_rtc.c
+ 0
+ 0
+
+
+ 3
+ 100
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+ stm32l4xx_ll_sdmmc.c
+ 0
+ 0
+
+
+ 3
+ 101
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+ stm32l4xx_ll_spi.c
+ 0
+ 0
+
+
+ 3
+ 102
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+ stm32l4xx_ll_swpmi.c
+ 0
+ 0
+
+
+ 3
+ 103
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+ stm32l4xx_ll_tim.c
+ 0
+ 0
+
+
+ 3
+ 104
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+ stm32l4xx_ll_usart.c
+ 0
+ 0
+
+
+ 3
+ 105
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+ stm32l4xx_ll_usb.c
+ 0
+ 0
+
+
+ 3
+ 106
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+ stm32l4xx_ll_utils.c
+ 0
+ 0
+
+
+
+
+ Drivers/CMSIS
+ 1
+ 0
+ 0
+ 0
+
+ 4
+ 107
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\Src\system_stm32l4xx.c
+ system_stm32l4xx.c
+ 0
+ 0
+
+
+
+
+ tos/arch
+ 1
+ 0
+ 0
+ 0
+
+ 5
+ 108
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+ tos_cpu.c
+ 0
+ 0
+
+
+ 5
+ 109
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+ port_c.c
+ 0
+ 0
+
+
+ 5
+ 110
+ 2
+ 0
+ 0
+ 0
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+ port_s.S
+ 0
+ 0
+
+
+
+
+ tos/kernel
+ 0
+ 0
+ 0
+ 0
+
+ 6
+ 111
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_event.c
+ tos_event.c
+ 0
+ 0
+
+
+ 6
+ 112
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_global.c
+ tos_global.c
+ 0
+ 0
+
+
+ 6
+ 113
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmblk.c
+ tos_mmblk.c
+ 0
+ 0
+
+
+ 6
+ 114
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mmheap.c
+ tos_mmheap.c
+ 0
+ 0
+
+
+ 6
+ 115
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mutex.c
+ tos_mutex.c
+ 0
+ 0
+
+
+ 6
+ 116
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_pend.c
+ tos_pend.c
+ 0
+ 0
+
+
+ 6
+ 117
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_robin.c
+ tos_robin.c
+ 0
+ 0
+
+
+ 6
+ 118
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sched.c
+ tos_sched.c
+ 0
+ 0
+
+
+ 6
+ 119
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sem.c
+ tos_sem.c
+ 0
+ 0
+
+
+ 6
+ 120
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_sys.c
+ tos_sys.c
+ 0
+ 0
+
+
+ 6
+ 121
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_task.c
+ tos_task.c
+ 0
+ 0
+
+
+ 6
+ 122
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_tick.c
+ tos_tick.c
+ 0
+ 0
+
+
+ 6
+ 123
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_time.c
+ tos_time.c
+ 0
+ 0
+
+
+ 6
+ 124
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_timer.c
+ tos_timer.c
+ 0
+ 0
+
+
+ 6
+ 125
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+ tos_binary_heap.c
+ 0
+ 0
+
+
+ 6
+ 126
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+ tos_char_fifo.c
+ 0
+ 0
+
+
+ 6
+ 127
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_completion.c
+ tos_completion.c
+ 0
+ 0
+
+
+ 6
+ 128
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+ tos_countdownlatch.c
+ 0
+ 0
+
+
+ 6
+ 129
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+ tos_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 130
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_message_queue.c
+ tos_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 131
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+ tos_priority_mail_queue.c
+ 0
+ 0
+
+
+ 6
+ 132
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+ tos_priority_message_queue.c
+ 0
+ 0
+
+
+ 6
+ 133
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+ tos_priority_queue.c
+ 0
+ 0
+
+
+ 6
+ 134
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+ tos_ring_queue.c
+ 0
+ 0
+
+
+ 6
+ 135
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\kernel\core\tos_stopwatch.c
+ tos_stopwatch.c
+ 0
+ 0
+
+
+
+
+ tos/cmsis
+ 0
+ 0
+ 0
+ 0
+
+ 7
+ 136
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+ cmsis_os.c
+ 0
+ 0
+
+
+
+
+ tos/config
+ 1
+ 0
+ 0
+ 0
+
+ 8
+ 137
+ 5
+ 0
+ 0
+ 0
+ ..\..\TOS_CONFIG\tos_config.h
+ tos_config.h
+ 0
+ 0
+
+
+
+
+ at
+ 1
+ 0
+ 0
+ 0
+
+ 9
+ 138
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\net\at\src\tos_at.c
+ tos_at.c
+ 0
+ 0
+
+
+
+
+ net
+ 1
+ 0
+ 0
+ 0
+
+ 10
+ 139
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+ sal_module_wrapper.c
+ 0
+ 0
+
+
+
+
+ hal
+ 0
+ 0
+ 0
+ 0
+
+ 11
+ 140
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+ tos_hal_uart.c
+ 0
+ 0
+
+
+
+
+ devices
+ 1
+ 0
+ 0
+ 0
+
+ 12
+ 141
+ 1
+ 0
+ 0
+ 0
+ ..\..\..\..\devices\m5313\m5313.c
+ m5313.c
+ 0
+ 0
+
+
+
+
+ app
+ 1
+ 0
+ 0
+ 0
+
+ 13
+ 142
+ 1
+ 0
+ 0
+ 0
+ ..\..\BSP\app\tcp_through_module.c
+ tcp_through_module.c
+ 0
+ 0
+
+
+
+
+ ::CMSIS
+ 0
+ 0
+ 0
+ 1
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvprojx b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvprojx
new file mode 100644
index 00000000..93a822bc
--- /dev/null
+++ b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/BDW01-STM32L496VG.uvprojx
@@ -0,0 +1,1172 @@
+
+
+
+ 2.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ BDW01-STM32L496VG
+ 0x4
+ ARM-ADS
+ 5060183::V5.06 update 2 (build 183)::ARMCC
+
+
+ STM32L496VGTx
+ STMicroelectronics
+ Keil.STM32L4xx_DFP.2.4.0
+ https://www.keil.com/pack/
+ IRAM(0x20000000,0x00040000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
+
+
+ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32L4xx_1024 -FS08000000 -FL0100000 -FP0($$Device:STM32L496VGTx$CMSIS\Flash\STM32L4xx_1024.FLM))
+ 0
+ $$Device:STM32L496VGTx$Drivers\CMSIS\Device\ST\STM32L4xx\Include\stm32l4xx.h
+
+
+
+
+
+
+
+
+
+ $$Device:STM32L496VGTx$CMSIS\SVD\STM32L4x6.svd
+ 0
+ 0
+
+
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\app\
+ BDW01-STM32L496VG-tcp_through_module
+ 1
+ 0
+ 1
+ 1
+ 0
+
+ 1
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 0
+
+
+ SARMCM3.DLL
+ -REMAP -MPU
+ DCM.DLL
+ -pCM4
+ SARMCM3.DLL
+ -MPU
+ TCM.DLL
+ -pCM4
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 16
+
+
+
+
+ 1
+ 0
+ 0
+ 1
+ 1
+ 4096
+
+ 1
+ BIN\UL2CM3.DLL
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ "Cortex-M4"
+
+ 0
+ 0
+ 0
+ 1
+ 1
+ 0
+ 0
+ 2
+ 1
+ 0
+ 8
+ 1
+ 0
+ 0
+ 0
+ 3
+ 3
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 1
+ 0x8000000
+ 0x100000
+
+
+ 1
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x20000000
+ 0x40000
+
+
+ 0
+ 0x10000000
+ 0x10000
+
+
+
+
+
+ 1
+ 4
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 2
+ 0
+ 0
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ USE_HAL_DRIVER,STM32L496xx
+
+ ..\..\BSP\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc;..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Inc\Legacy;..\..\..\..\platform\vendor_bsp\st\CMSIS\Device\ST\STM32L4xx\Include;..\..\..\..\platform\vendor_bsp\st\CMSIS\Include;..\..\..\..\arch\arm\arm-v7m\common\include;..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc;..\..\..\..\kernel\core\include;..\..\..\..\kernel\pm\include;..\..\..\..\kernel\hal\include;..\..\..\..\osal\cmsis_os;..\..\TOS_CONFIG;..\..\..\..\devices\sht3x;..\..\..\..\devices\lsm6dsl;..\..\..\..\devices\l2832tsww;..\..\..\..\devices\4G_EC20;..\..\..\..\devices\gps;..\..\..\..\devices\m5313;..\..\..\..\net\at\include;..\..\..\..\net\sal_module_wrapper;..\..\..\..\net\4G_module_wrapper;..\..\..\..\net\lora_module_wrapper;..\..\..\..\net\passthrough;..\..\..\..\components\math;..\..\..\..\components\connectivity\mqttclient\common;..\..\..\..\components\connectivity\mqttclient\common\log;..\..\..\..\components\connectivity\mqttclient\mqtt;..\..\..\..\components\connectivity\mqttclient\mqttclient;..\..\..\..\components\connectivity\mqttclient\network;..\..\..\..\components\connectivity\mqttclient\platform\TencentOS-tiny;..\..\..\..\components\utils\JSON\include
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 1
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0x08000000
+ 0x20000000
+
+
+
+
+
+
+
+
+
+
+
+
+ Application/MDK-ARM
+
+
+ startup_stm32l496xx.s
+ 2
+ .\startup_stm32l496xx.s
+
+
+
+
+ Application/User
+
+
+ gpio.c
+ 1
+ ..\..\BSP\Src\gpio.c
+
+
+ main.c
+ 1
+ ..\..\BSP\Src\main.c
+
+
+ mcu_init.c
+ 1
+ ..\..\BSP\Src\mcu_init.c
+
+
+ usart.c
+ 1
+ ..\..\BSP\Src\usart.c
+
+
+ stm32l4xx_hal_msp.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_hal_msp.c
+
+
+ stm32l4xx_it.c
+ 1
+ ..\..\BSP\Src\stm32l4xx_it.c
+
+
+ mymath.c
+ 1
+ ..\..\BSP\Src\mymath.c
+
+
+ i2c.c
+ 1
+ ..\..\BSP\Src\i2c.c
+
+
+
+
+ Drivers/STM32L4xx_HAL_Driver
+
+
+ stm32l4xx_hal.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal.c
+
+
+ stm32l4xx_hal_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc.c
+
+
+ stm32l4xx_hal_adc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_adc_ex.c
+
+
+ stm32l4xx_hal_can.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_can.c
+
+
+ stm32l4xx_hal_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_comp.c
+
+
+ stm32l4xx_hal_cortex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cortex.c
+
+
+ stm32l4xx_hal_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc.c
+
+
+ stm32l4xx_hal_crc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_crc_ex.c
+
+
+ stm32l4xx_hal_cryp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp.c
+
+
+ stm32l4xx_hal_cryp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_cryp_ex.c
+
+
+ stm32l4xx_hal_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac.c
+
+
+ stm32l4xx_hal_dac_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dac_ex.c
+
+
+ stm32l4xx_hal_dcmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dcmi.c
+
+
+ stm32l4xx_hal_dfsdm.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm.c
+
+
+ stm32l4xx_hal_dfsdm_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dfsdm_ex.c
+
+
+ stm32l4xx_hal_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma.c
+
+
+ stm32l4xx_hal_dma_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma_ex.c
+
+
+ stm32l4xx_hal_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dma2d.c
+
+
+ stm32l4xx_hal_dsi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_dsi.c
+
+
+ stm32l4xx_hal_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_exti.c
+
+
+ stm32l4xx_hal_firewall.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_firewall.c
+
+
+ stm32l4xx_hal_flash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash.c
+
+
+ stm32l4xx_hal_flash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ex.c
+
+
+ stm32l4xx_hal_flash_ramfunc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_flash_ramfunc.c
+
+
+ stm32l4xx_hal_gfxmmu.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gfxmmu.c
+
+
+ stm32l4xx_hal_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_gpio.c
+
+
+ stm32l4xx_hal_hash.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash.c
+
+
+ stm32l4xx_hal_hash_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hash_ex.c
+
+
+ stm32l4xx_hal_hcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_hcd.c
+
+
+ stm32l4xx_hal_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c.c
+
+
+ stm32l4xx_hal_i2c_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_i2c_ex.c
+
+
+ stm32l4xx_hal_irda.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_irda.c
+
+
+ stm32l4xx_hal_iwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_iwdg.c
+
+
+ stm32l4xx_hal_lcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lcd.c
+
+
+ stm32l4xx_hal_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_lptim.c
+
+
+ stm32l4xx_hal_ltdc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc.c
+
+
+ stm32l4xx_hal_ltdc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ltdc_ex.c
+
+
+ stm32l4xx_hal_nand.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nand.c
+
+
+ stm32l4xx_hal_nor.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_nor.c
+
+
+ stm32l4xx_hal_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp.c
+
+
+ stm32l4xx_hal_opamp_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_opamp_ex.c
+
+
+ stm32l4xx_hal_ospi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_ospi.c
+
+
+ stm32l4xx_hal_pcd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd.c
+
+
+ stm32l4xx_hal_pcd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pcd_ex.c
+
+
+ stm32l4xx_hal_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr.c
+
+
+ stm32l4xx_hal_pwr_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_pwr_ex.c
+
+
+ stm32l4xx_hal_qspi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_qspi.c
+
+
+ stm32l4xx_hal_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc.c
+
+
+ stm32l4xx_hal_rcc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rcc_ex.c
+
+
+ stm32l4xx_hal_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rng.c
+
+
+ stm32l4xx_hal_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc.c
+
+
+ stm32l4xx_hal_rtc_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_rtc_ex.c
+
+
+ stm32l4xx_hal_sai.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai.c
+
+
+ stm32l4xx_hal_sai_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sai_ex.c
+
+
+ stm32l4xx_hal_sd.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd.c
+
+
+ stm32l4xx_hal_sd_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sd_ex.c
+
+
+ stm32l4xx_hal_smartcard.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard.c
+
+
+ stm32l4xx_hal_smartcard_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smartcard_ex.c
+
+
+ stm32l4xx_hal_smbus.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_smbus.c
+
+
+ stm32l4xx_hal_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi.c
+
+
+ stm32l4xx_hal_spi_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_spi_ex.c
+
+
+ stm32l4xx_hal_sram.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_sram.c
+
+
+ stm32l4xx_hal_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_swpmi.c
+
+
+ stm32l4xx_hal_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim.c
+
+
+ stm32l4xx_hal_tim_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tim_ex.c
+
+
+ stm32l4xx_hal_timebase_tim_template.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_timebase_tim_template.c
+
+
+ stm32l4xx_hal_tsc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_tsc.c
+
+
+ stm32l4xx_hal_uart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart.c
+
+
+ stm32l4xx_hal_uart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_uart_ex.c
+
+
+ stm32l4xx_hal_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart.c
+
+
+ stm32l4xx_hal_usart_ex.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_usart_ex.c
+
+
+ stm32l4xx_hal_wwdg.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_hal_wwdg.c
+
+
+ stm32l4xx_ll_adc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_adc.c
+
+
+ stm32l4xx_ll_comp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_comp.c
+
+
+ stm32l4xx_ll_crc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crc.c
+
+
+ stm32l4xx_ll_crs.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_crs.c
+
+
+ stm32l4xx_ll_dac.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dac.c
+
+
+ stm32l4xx_ll_dma.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma.c
+
+
+ stm32l4xx_ll_dma2d.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_dma2d.c
+
+
+ stm32l4xx_ll_exti.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_exti.c
+
+
+ stm32l4xx_ll_fmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_fmc.c
+
+
+ stm32l4xx_ll_gpio.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_gpio.c
+
+
+ stm32l4xx_ll_i2c.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_i2c.c
+
+
+ stm32l4xx_ll_lptim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lptim.c
+
+
+ stm32l4xx_ll_lpuart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_lpuart.c
+
+
+ stm32l4xx_ll_opamp.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_opamp.c
+
+
+ stm32l4xx_ll_pwr.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_pwr.c
+
+
+ stm32l4xx_ll_rcc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rcc.c
+
+
+ stm32l4xx_ll_rng.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rng.c
+
+
+ stm32l4xx_ll_rtc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_rtc.c
+
+
+ stm32l4xx_ll_sdmmc.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_sdmmc.c
+
+
+ stm32l4xx_ll_spi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_spi.c
+
+
+ stm32l4xx_ll_swpmi.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_swpmi.c
+
+
+ stm32l4xx_ll_tim.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_tim.c
+
+
+ stm32l4xx_ll_usart.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usart.c
+
+
+ stm32l4xx_ll_usb.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_usb.c
+
+
+ stm32l4xx_ll_utils.c
+ 1
+ ..\..\..\..\platform\vendor_bsp\st\STM32L4xx_HAL_Driver\Src\stm32l4xx_ll_utils.c
+
+
+
+
+ Drivers/CMSIS
+
+
+ system_stm32l4xx.c
+ 1
+ ..\..\BSP\Src\system_stm32l4xx.c
+
+
+
+
+ tos/arch
+
+
+ tos_cpu.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\common\tos_cpu.c
+
+
+ port_c.c
+ 1
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_c.c
+
+
+ port_s.S
+ 2
+ ..\..\..\..\arch\arm\arm-v7m\cortex-m4\armcc\port_s.S
+
+
+
+
+ tos/kernel
+
+
+ tos_event.c
+ 1
+ ..\..\..\..\kernel\core\tos_event.c
+
+
+ tos_global.c
+ 1
+ ..\..\..\..\kernel\core\tos_global.c
+
+
+ tos_mmblk.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmblk.c
+
+
+ tos_mmheap.c
+ 1
+ ..\..\..\..\kernel\core\tos_mmheap.c
+
+
+ tos_mutex.c
+ 1
+ ..\..\..\..\kernel\core\tos_mutex.c
+
+
+ tos_pend.c
+ 1
+ ..\..\..\..\kernel\core\tos_pend.c
+
+
+ tos_robin.c
+ 1
+ ..\..\..\..\kernel\core\tos_robin.c
+
+
+ tos_sched.c
+ 1
+ ..\..\..\..\kernel\core\tos_sched.c
+
+
+ tos_sem.c
+ 1
+ ..\..\..\..\kernel\core\tos_sem.c
+
+
+ tos_sys.c
+ 1
+ ..\..\..\..\kernel\core\tos_sys.c
+
+
+ tos_task.c
+ 1
+ ..\..\..\..\kernel\core\tos_task.c
+
+
+ tos_tick.c
+ 1
+ ..\..\..\..\kernel\core\tos_tick.c
+
+
+ tos_time.c
+ 1
+ ..\..\..\..\kernel\core\tos_time.c
+
+
+ tos_timer.c
+ 1
+ ..\..\..\..\kernel\core\tos_timer.c
+
+
+ tos_binary_heap.c
+ 1
+ ..\..\..\..\kernel\core\tos_binary_heap.c
+
+
+ tos_char_fifo.c
+ 1
+ ..\..\..\..\kernel\core\tos_char_fifo.c
+
+
+ tos_completion.c
+ 1
+ ..\..\..\..\kernel\core\tos_completion.c
+
+
+ tos_countdownlatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_countdownlatch.c
+
+
+ tos_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_mail_queue.c
+
+
+ tos_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_message_queue.c
+
+
+ tos_priority_mail_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_mail_queue.c
+
+
+ tos_priority_message_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_message_queue.c
+
+
+ tos_priority_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_priority_queue.c
+
+
+ tos_ring_queue.c
+ 1
+ ..\..\..\..\kernel\core\tos_ring_queue.c
+
+
+ tos_stopwatch.c
+ 1
+ ..\..\..\..\kernel\core\tos_stopwatch.c
+
+
+
+
+ tos/cmsis
+
+
+ cmsis_os.c
+ 1
+ ..\..\..\..\osal\cmsis_os\cmsis_os.c
+
+
+
+
+ tos/config
+
+
+ tos_config.h
+ 5
+ ..\..\TOS_CONFIG\tos_config.h
+
+
+
+
+ at
+
+
+ tos_at.c
+ 1
+ ..\..\..\..\net\at\src\tos_at.c
+
+
+
+
+ net
+
+
+ sal_module_wrapper.c
+ 1
+ ..\..\..\..\net\sal_module_wrapper\sal_module_wrapper.c
+
+
+
+
+ hal
+
+
+ tos_hal_uart.c
+ 1
+ ..\..\..\..\platform\hal\st\stm32l4xx\src\tos_hal_uart.c
+
+
+
+
+ devices
+
+
+ m5313.c
+ 1
+ ..\..\..\..\devices\m5313\m5313.c
+
+
+
+
+ app
+
+
+ tcp_through_module.c
+ 1
+ ..\..\BSP\app\tcp_through_module.c
+
+
+
+
+ ::CMSIS
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/board/BDW01-STM32L496VG/KEIL/tcp_through_module/startup_stm32l496xx.s b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/startup_stm32l496xx.s
new file mode 100644
index 00000000..cc74126e
Binary files /dev/null and b/board/BDW01-STM32L496VG/KEIL/tcp_through_module/startup_stm32l496xx.s differ
diff --git a/board/BDW01-STM32L496VG/TOS_CONFIG/mqtt_config.h b/board/BDW01-STM32L496VG/TOS_CONFIG/mqtt_config.h
new file mode 100644
index 00000000..cfc0c976
--- /dev/null
+++ b/board/BDW01-STM32L496VG/TOS_CONFIG/mqtt_config.h
@@ -0,0 +1,48 @@
+/*
+ * @Author: jiejie
+ * @Github: https://github.com/jiejieTop
+ * @LastEditTime: 2020-06-17 19:31:41
+ * @Description: the code belongs to jiejie, please keep the author information and source code according to the license.
+ */
+#ifndef _MQTT_CONFIG_H_
+#define _MQTT_CONFIG_H_
+
+//#define MQTT_LOG_IS_SALOF
+
+#define MQTT_NETSOCKET_USING_AT
+
+#define MQTT_LOG_LEVEL MQTT_LOG_DEBUG_LEVEL //MQTT_LOG_WARN_LEVEL MQTT_LOG_DEBUG_LEVEL
+
+#ifdef MQTT_LOG_IS_SALOF
+ #define SALOF_USING_LOG (1U)
+ #define SALOF_USING_SALOF (1U)
+ #define SALOF_LOG_LEVEL MQTT_LOG_LEVEL
+ #define SALOF_OS SALOF_USING_TENCENTOS
+ #define SALOF_USING_IDLE_HOOK (0U)
+ #define SALOF_LOG_COLOR (1U)
+ #define SALOF_LOG_TS (0U)
+ #define SALOF_LOG_TAR (0U)
+ #define SALOF_BUFF_SIZE 512
+ #define SALOF_FIFO_SIZE 4096
+ #define SALOF_TASK_STACK_SIZE 1024
+ #define SALOF_TASK_TICK 50
+#endif
+
+#define MQTT_MAX_PACKET_ID (0xFFFF - 1)
+#define MQTT_TOPIC_LEN_MAX 64
+#define MQTT_ACK_HANDLER_NUM_MAX 64
+#define MQTT_DEFAULT_BUF_SIZE 1024
+#define MQTT_DEFAULT_CMD_TIMEOUT 10000
+#define MQTT_MAX_CMD_TIMEOUT 20000
+#define MQTT_MIN_CMD_TIMEOUT 10000
+#define MQTT_KEEP_ALIVE_INTERVAL 50 // unit: second
+#define MQTT_VERSION 4 // 4 is mqtt 3.1.1
+#define MQTT_RECONNECT_DEFAULT_DURATION 1000
+#define MQTT_THREAD_STACK_SIZE 2048
+#define MQTT_THREAD_PRIO 5
+#define MQTT_THREAD_TICK 50
+
+
+#define MQTT_NETWORK_TYPE_NO_TLS
+
+#endif /* _MQTT_CONFIG_H_ */
diff --git a/board/BDW01-STM32L496VG/TOS_CONFIG/tos_config.h b/board/BDW01-STM32L496VG/TOS_CONFIG/tos_config.h
new file mode 100644
index 00000000..8b451c04
--- /dev/null
+++ b/board/BDW01-STM32L496VG/TOS_CONFIG/tos_config.h
@@ -0,0 +1,62 @@
+#ifndef _TOS_CONFIG_H_
+#define _TOS_CONFIG_H_
+
+////#include "stm32l0xx_hal.h"
+#include
+#include "stm32l4xx_hal.h"
+
+#define TOS_CFG_TASK_PRIO_MAX 10u
+
+#define TOS_CFG_ROUND_ROBIN_EN 0u
+
+#define TOS_CFG_OBJECT_VERIFY_EN 0u
+
+#define TOS_CFG_TASK_DYNAMIC_CREATE_EN 0u
+
+#define TOS_CFG_EVENT_EN 1u
+
+#define TOS_CFG_MMBLK_EN 1u
+
+#define TOS_CFG_MMHEAP_EN 1u
+
+#define TOS_CFG_MMHEAP_DEFAULT_POOL_EN 1u
+
+#define TOS_CFG_MMHEAP_DEFAULT_POOL_SIZE 0x8000
+
+#define TOS_CFG_MUTEX_EN 1u
+
+#define TOS_CFG_MESSAGE_QUEUE_EN 1u
+
+#define TOS_CFG_LIBC_PRINTF_EN 1u
+
+#define TOS_CFG_MAIL_QUEUE_EN 1u
+
+#define TOS_CFG_PRIORITY_MESSAGE_QUEUE_EN 0u
+
+#define TOS_CFG_PRIORITY_MAIL_QUEUE_EN 0u
+
+#define TOS_CFG_TIMER_EN 1u
+
+#define TOS_CFG_PWR_MGR_EN 0u
+
+#define TOS_CFG_TICKLESS_EN 0u
+
+#define TOS_CFG_SEM_EN 1u
+
+#define TOS_CFG_TASK_STACK_DRAUGHT_DEPTH_DETACT_EN 0u
+
+#define TOS_CFG_FAULT_BACKTRACE_EN 0u
+
+#define TOS_CFG_IDLE_TASK_STK_SIZE 128u
+
+#define TOS_CFG_CPU_TICK_PER_SECOND 1000u
+
+#define TOS_CFG_CPU_CLOCK (SystemCoreClock)
+
+#define TOS_CFG_TIMER_AS_PROC 1u
+
+
+
+
+#endif
+
diff --git a/board/BDW01-STM32L496VG/doc/1. 开呿¿BDW01入门介ç».md b/board/BDW01-STM32L496VG/doc/1. 开呿¿BDW01入门介ç».md
new file mode 100644
index 00000000..41103906
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/1. 开呿¿BDW01入门介ç».md
@@ -0,0 +1,120 @@
+# 开呿¿BDW01入门介ç»
+---
+## 1. 开呿¿ç‰¹æ€§
+BDW01物è”ç½‘å¼€å‘æ¿çš„æ¿è½½èµ„æºå¦‚下:
+
+
+主控芯片采用STM32L4VGTx,Flash空间大å°1MB,SRAM空间大å°320KBï¼›
+
+- æ¿è½½ä¸ç§»ç‰©è”NB-IOT模组M5313ï¼›
+- æ¿è½½ä¸ç§‘å¾®åŒ—æ–—å®šä½æ¨¡ç»„ATGM336Hï¼›
+- æ¿è½½çŽ¯å¢ƒå…‰æ£€æµ‹ä¼ æ„Ÿå™¨TMD27713;
+- æ¿è½½åŽ‹åŠ›ä¼ æ„Ÿå™¨BMP280;
+- æ¿è½½æ¸©æ¹¿åº¦ä¼ 感器SHT3X;
+- æ¿è½½3DåŠ é€Ÿåº¦é™€èžºä»ªä¼ æ„Ÿå™¨LSM6DSL;
+- æ¿è½½ç£åŠ›è®¡ä¼ æ„Ÿå™¨MMC3680KJ;
+- æ¿è½½E43接å£å¯æ‰©å±•å…¶ä»–æ— çº¿é€šä¿¡æ¨¡å—ï¼›
+- æ¿è½½E32接å£å¯æ‰©å±•å…¶ä»–å®šä½æ¨¡å—ï¼›
+- æ¿è½½E53ä¼ æ„Ÿå™¨æ ‡å‡†æŽ¥å£ï¼Œæ–¹ä¾¿è¿žæŽ¥å„ç§E53ä¼ æ„Ÿå™¨ï¼›
+- æ¿è½½0.91'OLED显示å±å¹•ï¼›
+- æ¿è½½æ–°å¡˜è¯ç¦»çº¿éŸ³è¯†åˆ«æ¨¡å—ISD9160ï¼›
+- æ¿è½½TFå¡å¡åº§ï¼Œæ–¹ä¾¿æ‰©å±•å˜å‚¨ç©ºé—´ï¼›
+- æ¿è½½MINI PCIE接å£ï¼Œæ–¹ä¾¿è¿žæŽ¥4G通信模å—ï¼›
+- æ¿è½½18650é”‚ç”µæ± æ’座,方便移动时æ£å¸¸ä¾›ç”µï¼›
+- æ¿è½½CH340转串å£è¿žæŽ¥ï¼Œå¯ä»¥ä½¿ç”¨ä¸€æ ¹USBçº¿è¿žæŽ¥è‡³ç”µè„‘ï¼ŒæŸ¥çœ‹ä¸²å£æ—¥å¿—ï¼›
+
+å…³äºŽå¼€å‘æ¿ç¡¬ä»¶ç”µè·¯çš„æ›´å¤šä¿¡æ¯å’Œè¯¦è§£ï¼Œè¯·æŸ¥çœ‹æ–‡æ¡£BDW01主æ¿è§„æ ¼ä¹¦å’Œæ–‡æ¡£ç‰©è”ç½‘å¼€å‘æ¿åŽŸç†å›¾ã€‚
+
+## 2. 开呿¿ç¡¬ä»¶å‡†å¤‡
+### 2.1 连接LOG USB线
+
+### 2.2 连接ST-Link烧录器
+å¯¹ç…§çƒ§å½•å™¨å¼•è„šå›¾å’Œå¼€å‘æ¿åŽŸç†å›¾ï¼Œæ‰¾åˆ°å¼€å‘æ¿ä¸Šçš„ç½‘ç»œæ ‡å·SW11,连接如下:
+**注æ„ç”µæºæ£è´Ÿæžä¸è¦æŽ¥å接错,é¿å…烧掉MCU和烧录器。**
+
+
+- 开呿¿VCC(3v3) ---> STlink 3.3V
+- 开呿¿ST_SWDIO ---> STlink SWDIO
+- 开呿¿ST_SWCLK ---> STlink SWCLK
+- 开呿¿GND ---> STlink GND
+
+## 3. å¼€å‘软件的环境准备
+### 3.1 软件开å‘工具的下载安装
+我们使用的软件开å‘工具是Keilå…¬å¸çš„MDK(Microcontroller Development kit),MDK官网下载地å€ï¼š[http://www2.keil.com/mdk5](http://www2.keil.com/mdk5)
+
+下载的版本最好在5.24或5.24以上,本次介ç»ä»¥5.25版本为例,åŒå‡»MDK524åº”ç”¨ç¨‹åºæ–‡ä»¶ï¼ŒæŽ¥ç€ç‚¹å‡»next>>。
+
+
+
+在I agreeå‰é¢çš„å°æ–¹æ¡†æ‰“å‹¾ï¼Œè¡¨ç¤ºåŒæ„该安装å议,å†ç‚¹å‡»next>>。
+
+
+
+选择安装路径,默认情况下会安装在系统盘C盘,建议在其他盘建立å•独的文件夹,并选择安装到该文件夹下。点击next>>。
+
+
+
+填上我们的信æ¯åŽï¼Œç»§ç»next>>。
+
+
+
+ç„¶åŽç‰å¾…安装完æˆåŽç‚¹å‡»Finish,接ç€ä¼šè·³å‡ºå™¨ä»¶æ”¯æŒåŒ…安装界é¢ï¼Œç‚¹OKå†æŠŠå¼¹æ¡†éƒ½å‰æŽ‰ï¼ŒåŽç»å†ä»‹ç»ã€‚最åŽè¦æ¿€æ´»MDK,导入License,激活MDKåŽå°±å¯ä»¥ä½¿ç”¨äº†ã€‚
+
+
+
+特别æç¤ºï¼šä¸€å®šè¦è¾“å…¥License激活MDK软件,建议è´ä¹°æ£ç‰ˆLicense。
+
+### 3.2 安装器件支æŒåŒ…
+MDK V4版本安装包里集æˆäº†å™¨ä»¶çš„æ”¯æŒåŒ…,而MDK V5版本是独立出æ¥çš„,å¯ä»¥è‡ªå·±ä¸‹è½½å®‰è£…。安装完开å‘工具MDK V5åŽï¼Œæˆ‘们需è¦å®‰è£…开呿¿ä¸»èŠ¯ç‰‡åž‹å·å¯¹åº”的芯片器件支æŒåŒ…。
+#### 3.2.1 安装方å¼ä¸€
+登录官网:[http://www.keil.com/dd2/pack/](http://www.keil.com/dd2/pack/)
+下载Keil.STM32L4xx_DFP.x.x.x.pack 完æˆåŽï¼ŒåŒå‡»æ‰“开安装。
+#### 3.2.2 安装方å¼äºŒ
+MDKè½¯ä»¶ä¸Šåœ¨çº¿å®‰è£…ï¼Œä¸€èˆ¬ä¸‹è½½é€Ÿåº¦ä¼šæ¯”è¾ƒæ…¢ï¼Œæ›´æ–°æ—¶é—´å¾ˆé•¿ï¼Œä¸æŽ¨è。
+æ‰“å¼€è½¯ä»¶ï¼Œåœ¨å¯¼èˆªæ æ‰“å¼€Pack安装界é¢ï¼Œå¼¹å‡ºåŒ…安装æç¤ºç‚¹å‡»ok选项。
+
+进入在线安装界é¢ï¼Œé€‰æ‹©STM32L4XX Pack,点击Install进行安装。
+
+
+### 3.3 CH340串å£é©±åŠ¨å®‰è£…
+BDW01开呿¿æ¿è½½USB转串å£èŠ¯ç‰‡ï¼Œæ‰€ä»¥ä½¿ç”¨USBçº¿å°†å¼€å‘æ¿è¿žæŽ¥åˆ°ç”µè„‘,就在串å£è°ƒè¯•助手查看串å£è¾“出的LOGä¿¡æ¯ã€‚使用串å£è°ƒè¯•助手之å‰éœ€è¦ä¸‹è½½å®‰è£…CH340转串å£èŠ¯ç‰‡çš„é©±åŠ¨ã€‚ç›´æŽ¥åœ¨ç½‘ä¸Šæœç´¢ä¸‹è½½CH340转串å£èŠ¯ç‰‡çš„é©±åŠ¨ï¼Œä¸‹è½½å®ŒæˆåŽæ‰“开驱动安装程åºç‚¹å‡»å®‰è£…å³å¯ã€‚
+
+
+### 3.4 串å£è°ƒè¯•助手的安装与使用
+工具下载网å€ï¼š[http://www.daxia.com/download/sscom.rar](http://www.daxia.com/download/sscom.rar)
+下载完æˆåŽï¼Œè§£åŽ‹ï¼ŒåŒå‡»æ‰“开串å£è°ƒè¯•助手执行程åºï¼Œç›´æŽ¥ä½¿ç”¨ã€‚
+
+使用USBçº¿ä¸€ç«¯æŽ¥å¼€å‘æ¿LOG USB串å£ï¼Œå¦ä¸€ç«¯è¿žæŽ¥åˆ°ç”µè„‘,å‰é¢å®‰è£…完CH340转串å£èŠ¯ç‰‡çš„é©±åŠ¨ï¼Œæ‰“å¼€ç”µè„‘çš„è®¾å¤‡ç®¡ç†å™¨ï¼Œå°±å¯ä»¥åœ¨ç«¯å£åˆ—表查看PCä¸Žå¼€å‘æ¿ä¹‹é—´è¿žæŽ¥ç«¯å£å·ï¼Œç„¶åŽåœ¨ä¸²å£è°ƒè¯•助手-端å£å·å¤„,选择PCå’Œå¼€å‘æ¿ä¹‹é—´çš„连接端å£(我这里显示的是COM15,所以è¦åœ¨ä¸²å£è°ƒè¯•助手ä¸é€‰æ‹©COM15)。
+
+冿 ¹æ®å¼€å‘æ¿ä¸²å£æ³¢ç‰¹çŽ‡è®¾ç½®ä¸²å£è°ƒè¯•助手-æ³¢ç‰¹çŽ‡ï¼Œå¼€å‘æ¿ç¨‹åºæ³¢ç‰¹çŽ‡è®¾ç½®ä¸º115200,所以在串å£è°ƒè¯•助手ä¸é€‰æ‹©115200æ³¢ç‰¹çŽ‡ã€‚æœ€åŽæ‰“开串å£å°±å¯ä»¥ä½¿ç”¨äº†ã€‚
+
+### 3.5 ST-Link驱动的下载与安装
+å‰é¢2.2介ç»è¿‡å¼€å‘æ¿ä¸ŽST-Link烧录器的接线方å¼ï¼Œåœ¨ä½¿ç”¨çƒ§å½•器将程åºçƒ§å½•åˆ°å¼€å‘æ¿ä¹‹å‰ï¼Œéœ€è¦å®‰è£…烧录器的驱动。
+在ST官网下载ST-Link驱动STSW-LINK009,下载网å€ï¼š
+[https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html](https://www.st.com/content/st_com/zh/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-utilities/stsw-link009.html)
+
+冿 ¹æ®ç”µè„‘系统安装驱动,32ä½ç”µè„‘系统安装dpinst_x86.exe,64ä½ç”µè„‘系统安装dpinst_amd64.exe 。Â
+
+
+è¿è¡Œå¯¹åº”的驱动执行程åºï¼Œå¼€å§‹å®‰è£…ST-Link V2驱动,最åŽç‚¹å‡»å®Œæˆã€‚
+
+
+安装完æˆåŽ, 将开呿¿ç”µæºæ‰“开,将连ç€å¼€å‘æ¿çš„烧录器通过USB接å£è¿žè‡³ç”µè„‘。
+
+打开电脑上的设备管ç†å™¨ã€‚è‹¥å¯ä»¥çœ‹åˆ°é€šç”¨ä¸²è¡Œæ€»çº¿è®¾å¤‡-STM32 STLink,表示驱动安装æˆåŠŸ,如下图所示。
+
+
+## 4. å¼€å‘与调试
+å‰é¢çš„软硬件工作准备好之åŽï¼ŒæŽ¥ä¸‹æ¥å°±å¯ä»¥è¿›è¡Œå¼€å‘与调试了。示例工程hello_world的主è¦åŠŸèƒ½æ˜¯åˆ›å»ºä¸¤ä¸ªä»»åŠ¡ï¼Œä¸¤ä¸ªä»»åŠ¡å¾ªçŽ¯è¾“å‡ºæ‰“å° ã€‚
+路径:TencentOS-tiny\board\BDW01-STM32L496VG\KEIL\hello_world。
+
+打开示例工程hello_world,进入到MDK keil5主窗å£ç•Œé¢ï¼š
+
+点击 Build Target ç¼–è¯‘å·¥ç¨‹ç›®æ ‡ï¼š
+
+编译完æˆåŽï¼ŒæŸ¥çœ‹æ¶ˆæ¯çª—å£ï¼š0 Error(s)ï¼Œè¡¨ç¤ºä»£ç æ²¡æœ‰è¯æ³•错误。
+
+LOG USB线和烧录器ST-Link/v2都连接到电脑,串å£è°ƒè¯•助手也é…置好并打开。
+点击 Download 下载程åºåˆ°å¼€å‘æ¿ã€‚
+下载完æˆåŽï¼Œåœ¨å¼€å‘æ¿ä¸ŠæŒ‰ä¸‹å¤ä½æŒ‰é’®ï¼ŒæŸ¥çœ‹ä¸²å£è°ƒè¯•助手上接收数æ®çš„æ˜¾ç¤ºã€‚
+
\ No newline at end of file
diff --git a/board/BDW01-STM32L496VG/doc/2.TCP Socket 通讯测试.md b/board/BDW01-STM32L496VG/doc/2.TCP Socket 通讯测试.md
new file mode 100644
index 00000000..d5946bd3
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/2.TCP Socket 通讯测试.md
@@ -0,0 +1,32 @@
+# TCP Socket 通讯测试
+---
+本示例会å¯åŠ¨ä¸¤ä¸ªçº¿ç¨‹ï¼Œå»ºç«‹ä¸¤ä¸ªTCP链接,分别å‘逿•°æ®
+M5313å¯åŒæ—¶æ”¯æŒ4个链接,ä¸è¿‡åœ¨ä»£ç 默认定义的是3个,有需è¦å¯ä»¥ä¿®æ”¹ä¸º4ä¸ªæˆ–æ ¹æ®è‡ªå·±éœ€è¦è¿›è¡Œä¿®æ”¹ã€‚
+
+路径:TencentOS-tiny\net\at\include\tos_at.h
+
+
+## 1. æå»ºTCPæœåС噍
+M5313 使用2G网络,本地PC使用的是局域网,这里åšäº†ä¸€ä¸ªæœåŠ¡å™¨çš„å†…ç½‘ç©¿é€ï¼Œç„¶åŽç™¾åº¦ip查看æœåŠ¡å™¨çš„å¤–ç½‘IP。
+这里使用SocketTool建立TCP server。
+
+## 2. è¿è¡Œå·¥ç¨‹
+使用 Keil-MDK 打开 tcp_through_module工程:
+路径:TencentOS-tiny\board\BDW01-STM32L496VG\KEIL\tcp_through_module
+
+
+打开2g模å—M5313çš„ä¸²å£æŽ¥æ”¶ï¼š
+
+
+打开tcp_through_module.cæ–‡ä»¶ï¼Œæ ¹æ®è‡ªå·±çš„TCPæœåŠ¡å™¨åœ°å€ï¼Œä¿®æ”¹é…ç½®:
+
+
+修改完æˆåŽï¼Œç‚¹å‡»ç¼–译按钮编译,编译æˆåŠŸä¹‹åŽçƒ§å½•åˆ°å¼€å‘æ¿ï¼ˆé»˜è®¤ä½¿ç”¨ST-Link下载器)。
+
+çƒ§å½•ä¹‹åŽæŒ‰ä¸‹å¼€å‘æ¿ä¸Šçš„å¤ä½æŒ‰é’®ï¼Œç¨‹åºå¼€å§‹è¿è¡Œï¼Œåœ¨ä¸²å£åŠ©æ‰‹æŸ¥çœ‹æ—¥å¿—ï¼š
+
+
+在TCPæœåŠ¡å™¨ä¸Šå¯æŸ¥çœ‹æ”¶åˆ°çš„æ•°æ®
+
+
+
\ No newline at end of file
diff --git a/board/BDW01-STM32L496VG/doc/3.对接腾讯云与腾讯连连-测试.md b/board/BDW01-STM32L496VG/doc/3.对接腾讯云与腾讯连连-测试.md
new file mode 100644
index 00000000..d8c6dee0
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/3.对接腾讯云与腾讯连连-测试.md
@@ -0,0 +1,328 @@
+# 对接腾讯云与腾讯连连-测试
+
+----------
+本示例示范如何对接到腾讯云物è”网开å‘å¹³å°IoT Explore和腾讯连连å°ç¨‹åº
+## 1.云端æ“作æ¥éª¤
+登录[腾讯云物è”网开å‘å¹³å°ï¼ˆIoT Explorer)](https://cloud.tencent.com/product/iotexplorer "腾讯云物è”网开å‘å¹³å°ï¼ˆIoT Explorer)"),点击“立å³ä½¿ç”¨â€è¿›å…¥æŽ§åˆ¶å°ï¼Œä¸ªäººå¼€å‘å¯ä»¥ä½¿ç”¨å¾®ä¿¡è¿›è¡Œç™»å½•。
+
+### 1.1 新建项目
+项目是为了用户é¢å¯¹ä¸åŒçš„产å“è¿ä»£æˆ–ä¸åŒçš„项目角色而设计的一ç§éš”离机制,便于用户清晰管ç†ç‰©è”ç½‘é¡¹ç›®ï¼Œå¹¶èƒ½çµæ´»åœ°é…置项目æƒé™ã€‚
+
+1. 项目下å¯ä»¥å»ºç«‹å¤šä¸ªäº§å“与应用,应用默认有æƒé™è®¿é—®è¯¥é¡¹ç›®ä¸‹çš„æ‰€æœ‰äº§å“ï¼›
+2. æ¯ä¸ªé¡¹ç›®ä¼šæœ‰è‡ªå·±çš„唯一 ID,数æ®ä¼šæ ¹æ®é¡¹ç›®è¿›è¡Œéš”ç¦»ï¼Œä»¥ç¡®ä¿æ•°æ®å®‰å…¨ï¼›
+3. é¡¹ç›®åˆ é™¤åŽï¼Œè¯¥é¡¹ç›®æ‰€å±žäº§å“ç‰æ•°æ®éƒ½å°†è¢«åˆ 除且ä¸èƒ½æ¢å¤ï¼›
+4. å¼€å‘å¹³å°æä¾›èµ„æºçº§çš„æƒé™æŽ§åˆ¶ï¼Œå¯ä¸ºä¸åŒçš„å用户分é…项目级ã€äº§å“级的æƒé™æŽ§åˆ¶ï¼›
+
+点击新建项目,填写项目å称和简介:
+
+
+### 1.2. 产å“å¼€å‘
+#### 1.2.1 新建产å“
+点击项目å称进入到该项目ä¸ï¼Œç‚¹å‡»æ–°å»ºäº§å“:
+
+填写产å“的一些信æ¯ï¼š
+1. 产å“å称:åç§°ä¸ºä¸æ–‡ã€å—æ¯ã€æ•°å—ã€ä¸‹åˆ’线的组åˆï¼Œ1 - 20ä½ä¸”ä¸èƒ½ä¸ºç©ºã€‚
+2. 产å“å“类:选择您所创建产å“的所属å“类,ä¸åŒç±»åž‹äº§å“的属性ã€äº‹ä»¶ç‰æ•°æ®æ¨¡æ¿ä¼šæœ‰æ‰€ä¸åŒã€‚详情请å‚è§ æ•°æ®æ¨¡æ¿ã€‚
+3. 设备类型:设备使用2G/3G/4G/Wi-Fiæ— çº¿é€šä¿¡æˆ–æœ‰çº¿é€šä¿¡æ–¹å¼ï¼Œç½‘å…³å¯æä¾›äº‘ç«¯é€šä¿¡èƒ½åŠ›ï¼Œå¸®åŠ©è®¾å¤‡ä¸Žå¹³å°é€šä¿¡ã€‚
+4. è®¤è¯æ–¹å¼ï¼šç‰©è”网开å‘平尿供䏤ç§è®¤è¯æ–¹å¼ç”¨äºŽè®¾å¤‡ä¸Žå¹³å°ä¹‹é—´é‰´æƒè®¤è¯ã€‚
+ è¯ä¹¦è®¤è¯ï¼šåœ¨åˆ›å»ºè®¾å¤‡æ—¶ï¼Œå¹³å°å°†ä¸ºè®¾å¤‡ç”Ÿæˆä¸€ä¸ªè¯ä¹¦æ–‡ä»¶å’Œä¸€ä¸ªç§é’¥æ–‡ä»¶ï¼Œå®žçŽ°è®¾å¤‡ä¸Žäº‘ä¹‹é—´çš„åŒå‘认è¯ã€‚
+ 密钥认è¯ï¼šåœ¨åˆ›å»ºè®¾å¤‡æ—¶ï¼Œä½¿ç”¨å¹³å°ä¸ºè®¾å¤‡éšæœºç”Ÿæˆçš„ PSK。
+5. 通信方å¼ï¼šæ‚¨å¯ä»¥é€‰æ‹© Wi-Fiã€ç§»åŠ¨èœ‚çªï¼ˆ2G/3G/4G)和其他通信方å¼ã€‚
+6. æ•°æ®åè®®ï¼šé»˜è®¤é‡‡ç”¨æ•°æ®æ¨¡æ¿çš„æ•°æ®å议,您也å¯ä»¥è‡ªå®šä¹‰å议进行é€ä¼ 。
+7. æè¿°ï¼šå—æ•°ä¸èƒ½è¶…过80个,您å¯ä»¥æ ¹æ®éœ€è¦é€‰å¡«ã€‚
+
+äº§å“æ–°å»ºæˆåŠŸåŽï¼Œå¯åœ¨äº§å“列表页查看到“智能ç¯â€ã€‚
+
+
+#### 1.2.2 æ•°æ®æ¨¡ç‰ˆ
+æ•°æ®æ¨¡æ¿æ˜¯å°†ç‰©ç†å®žä½“设备进行数å—化æè¿°ï¼Œæž„å»ºå…¶æ•°å—æ¨¡åž‹ã€‚在物è”网开å‘å¹³å°å®šä¹‰æ•°æ®æ¨¡æ¿å³å®šä¹‰äº§å“功能。完æˆåŠŸèƒ½å®šä¹‰åŽï¼Œç³»ç»Ÿå°†è‡ªåŠ¨ç”Ÿæˆè¯¥äº§å“çš„æ•°æ®æ¨¡æ¿ã€‚
+
+点击智能ç¯äº§å“进入。
+
+##### 1.2.2.1
+选择“智能ç¯â€ç±»åž‹åŽï¼Œç³»ç»Ÿä¼šè‡ªåŠ¨ç”Ÿæˆæ ‡å‡†åŠŸèƒ½ï¼š
+
+#### 1.2.2.2
+下方的新建功能,å¯ä»¥å¢žåŠ æ–°çš„åŠŸèƒ½ï¼Œå®šä¹‰å¦‚ä¸‹:
+
+功能类型包å«ä¸‰å…ƒç´ :
+1. å±žæ€§ï¼šåŒ…æ‹¬å¸ƒå°”åž‹ã€æ•´æ•°åž‹ã€å—ç¬¦åž‹ã€æµ®ç‚¹åž‹ã€æžšä¸¾åž‹å’Œæ—¶é—´åž‹ç‰6ç§åŸºæœ¬æ•°æ®ç±»åž‹ï¼›
+2. 事件:包括告è¦ã€æ•…障和信æ¯ä¸‰ç§ç±»åž‹ï¼Œäº‹ä»¶åž‹åŠŸèƒ½å±žæ€§å¯ä»¥æ·»åŠ å…·ä½“çš„äº‹ä»¶å‚æ•°ï¼Œè¿™äº›å‚æ•°å¯ä»¥ç”±å±žæ€§ä¸6ç§åŸºæœ¬æ•°æ®ç±»åž‹ç»„æˆï¼›
+3. è¡Œä¸ºï¼šç”¨äºŽå®žçŽ°æ›´å¤æ‚的业务逻辑,å¯åŒ…å«è¾“入傿•°å’Œè¾“å‡ºå‚æ•°ï¼Œå¯ç”¨äºŽè®©è®¾å¤‡æ‰§è¡ŒæŸé¡¹ç‰¹å®šçš„ä»»åŠ¡ã€‚è¡Œä¸ºçš„è¾“å…¥å‚æ•°å’Œè¾“å‡ºå‚æ•°å¯æ·»åŠ ä¸Šè¿°6ç§å±žæ€§çš„基本数æ®ç±»åž‹ã€‚
+
+| åŠŸèƒ½å…ƒç´ | 功能æè¿° | åŠŸèƒ½æ ‡è¯†ç¬¦ |
+| -------- | --------- | ----------- |
+| 属性 | 用于æè¿°è®¾å¤‡çš„实时状æ€ï¼Œæ”¯æŒè¯»å–和设置,如模å¼ã€äº®åº¦ã€å¼€å…³ç‰ã€‚ | PropertiesId |
+| 事件 | 用于æè¿°è®¾å¤‡è¿è¡Œæ—¶çš„事件,包括告è¦ã€ä¿¡æ¯å’Œæ•…éšœç‰ä¸‰ç§äº‹ä»¶ç±»åž‹ï¼Œå¯æ·»åŠ å¤šä¸ªè¾“å‡ºå‚æ•°ï¼Œå¦‚çŽ¯å¢ƒä¼ æ„Ÿå™¨æ£€æµ‹åˆ°ç©ºæ°”è´¨é‡å¾ˆå·®ï¼Œç©ºè°ƒå¼‚常 | EventId |
+| 行为 | 用于æè¿°å¤æ‚的业务逻辑,坿·»åŠ å¤šä¸ªè°ƒç”¨å‚æ•°å’Œè¿”å›žå‚æ•°,用于让设备执行æŸé¡¹å®šç‰¹å®šçš„任务,例如,开é”动作需è¦çŸ¥é“是哪个用户在什么时间开é”,é”的状æ€å¦‚何ç‰ã€‚ | ActionId |
+
+æ•°æ®ç±»åž‹æ”¯æŒ6ç§ï¼š
+1.布尔型:éžçœŸå³å‡çš„二值型å˜é‡ã€‚例如,开关功能。
+2.整数型:å¯ç”¨äºŽçº¿æ€§è°ƒèŠ‚çš„æ•´æ•°å˜é‡ã€‚例如,空调的温度。
+3.å—符型:以å—符串形å¼è¡¨è¾¾çš„功能点,例如,ç¯çš„ä½ç½®ã€‚
+4.浮点型:精度为浮点型的功能点。例如,压力值的范围:0.0 - 24.0。
+5.枚举型:自定义的有é™é›†åˆå€¼ã€‚例如,ç¯çš„颜色:白色ã€çº¢è‰²ã€é»„色ç‰ã€‚
+6.时间型:string 类型的 UTC 时间戳(毫秒)。
+
+#### 1.2.3
+æ•°æ®æ¨¡æ¿æ˜¯ä¸€ä¸ª JSON æ ¼å¼çš„æ–‡ä»¶ï¼Œä½¿ç”¨æ•°æ®æ¨¡æ¿åè®®ï¼Œç”¨æˆ·çš„è®¾å¤‡éœ€æŒ‰æ•°æ®æ¨¡æ¿å®šä¹‰è¦æ±‚ä¼ è¾“è®¾å¤‡æ•°æ®åˆ°äº‘端,并å¯ä½¿ç”¨åŸºäºŽæ•°æ®æ¨¡æ¿çš„诸多业务功能,点击查看jsonå¯ä»¥çœ‹åˆ°ä¸Šé¢åˆ›å»ºåŠŸèƒ½çš„jsonæ ¼å¼ï¼š
+
+
+```c
+{
+ "version": "1.0",
+ "properties": [
+ {
+ "id": "power_switch",
+ "name": "电ç¯å¼€å…³",
+ "desc": "控制电ç¯å¼€ç",
+ "required": true,
+ "mode": "rw",
+ "define": {
+ "type": "bool",
+ "mapping": {
+ "0": "å…³",
+ "1": "å¼€"
+ }
+ }
+ },
+ {
+ "id": "color",
+ "name": "颜色",
+ "desc": "ç¯å…‰é¢œè‰²",
+ "mode": "rw",
+ "define": {
+ "type": "enum",
+ "mapping": {
+ "0": "Red",
+ "1": "Green",
+ "2": "Blue"
+ }
+ }
+ },
+ {
+ "id": "brightness",
+ "name": "亮度",
+ "desc": "ç¯å…‰äº®åº¦",
+ "mode": "rw",
+ "define": {
+ "type": "int",
+ "unit": "%",
+ "step": "1",
+ "min": "0",
+ "max": "100",
+ "start": "1"
+ }
+ },
+ {
+ "id": "name",
+ "name": "ç¯ä½ç½®åç§°",
+ "desc": "ç¯ä½ç½®å称:书房ã€å®¢åŽ…ç‰",
+ "mode": "rw",
+ "required": false,
+ "define": {
+ "type": "string",
+ "min": "0",
+ "max": "64"
+ }
+ }
+ ],
+ "events": [
+ {
+ "id": "status_report",
+ "name": "DeviceStatus",
+ "desc": "Report the device status",
+ "type": "info",
+ "required": false,
+ "params": [
+ {
+ "id": "status",
+ "name": "running_state",
+ "desc": "Report current device running state",
+ "define": {
+ "type": "bool",
+ "mapping": {
+ "0": "normal",
+ "1": "fault"
+ }
+ }
+ },
+ {
+ "id": "message",
+ "name": "Message",
+ "desc": "Some extra message",
+ "define": {
+ "type": "string",
+ "min": "0",
+ "max": "64"
+ }
+ }
+ ]
+ },
+ {
+ "id": "low_voltage",
+ "name": "LowVoltage",
+ "desc": "Alert for device voltage is low",
+ "type": "alert",
+ "required": false,
+ "params": [
+ {
+ "id": "voltage",
+ "name": "Voltage",
+ "desc": "Current voltage",
+ "define": {
+ "type": "float",
+ "unit": "V",
+ "step": "1",
+ "min": "0.0",
+ "max": "24.0",
+ "start": "1"
+ }
+ }
+ ]
+ },
+ {
+ "id": "hardware_fault",
+ "name": "Hardware_fault",
+ "desc": "Report hardware fault",
+ "type": "fault",
+ "required": false,
+ "params": [
+ {
+ "id": "name",
+ "name": "Name",
+ "desc": "Name like: memory,tf card, censors ...",
+ "define": {
+ "type": "string",
+ "min": "0",
+ "max": "64"
+ }
+ },
+ {
+ "id": "error_code",
+ "name": "Error_Code",
+ "desc": "Error code for fault",
+ "define": {
+ "type": "int",
+ "unit": "",
+ "step": "1",
+ "min": "0",
+ "max": "2000",
+ "start": "1"
+ }
+ }
+ ]
+ }
+ ],
+ "actions": [],
+ "profile": {
+ "ProductId": "S7271EG5D8",
+ "CategoryId": "3"
+ }
+}
+```
+
+
+### 1.3. 创建测试设备
+在ã€è®¾å¤‡è°ƒè¯•】页é¢ä¸ï¼Œå•å‡»ã€æ–°å»ºè®¾å¤‡ã€‘,设备å为 bdw01_led:
+
+
+## 2. 设备侧æ“作
+使用 Keil-MDK 打开 mqttclient_iot_explorer 工程:
+TencentOS-tiny\board\BDW01-STM32L496VG\KEIL\mqttclient_iot_explorer
+
+
+### 2.1 é…置使用的网络设备
+打开mqttclient_iot_explorer.c文件,修改é…置。
+修改本工程所使用的通信模组,打开USE_M5313,如图:
+
+
+#### 2.1.1 修改MQTTå¯¹æŽ¥å‚æ•°
+在腾讯云物è”网开å‘å¹³å°å¯ä»¥çœ‹åˆ°ä¸€äº›äº§å“IDã€è®¾å¤‡IDã€è®¾å¤‡ç§˜é’¥ä¸‰ä¸ªå‚数,如图:
+
+
+接下æ¥è¿›å…¥TencentOS-tiny仓库ä¸çš„tools目录,使用pythonè¿è¡Œè„šæœ¬mqtt_config_gen.py,按照æç¤ºè¾“å‡ºåˆšåˆšåœ¨å¹³å°æŸ¥è¯¢åˆ°çš„ä¸‰ä¸ªå‚æ•°ï¼Œè„šæœ¬ä¼šè‡ªåŠ¨ç”Ÿæˆmqtté…ç½®å‚æ•°ï¼š
+
+①输入产å“IDï¼›
+â‘¡ 输入设备åç§°ï¼›
+③ 输入设备秘钥;
+â‘£ ⑤ ä¿æŒé»˜è®¤ï¼Œç›´æŽ¥å›žè½¦ï¼›
+⑥ 需è¦çš„生æˆä¿¡æ¯ã€‚
+接下æ¥åœ¨ä»£ç ä¸ä¿®æ”¹é…置信æ¯ï¼š
+
+
+#### 2.1.2 修改mqtt对接topic
+设备å‘云端上报数æ®çš„topic如下:
+上行请求 Topic: $thing/up/property/{ProductID}/{DeviceName}
+上行å“应 Topic: $thing/down/property/{ProductID}/{DeviceName}
+这两个topic咋玩呢?
+首先订阅上行å“应topic,接ç€å‘上行请求topic上报数æ®ï¼Œä¸ŠæŠ¥æ•°æ®æ—¶å¹³å°ä¸ä»…规定了topic,还规定了数æ®å†…容,如下:
+```c
+{
+ "method":"report",
+ "clientToken":"clientToken-145023f5-bc9b-4174-ba3b-430ba5956e5c",
+ "params":
+ {
+ "brightness":55,
+ "name":"bedroom",
+ "power_switch":1,
+ "color":2
+ }
+}
+```
+其䏿¯ä¸€é¡¹çš„æ„ä¹‰å¦‚ä¸‹ï¼š
+| 傿•° | 类型 | 说明 |
+| -------- | --------- | ----------- |
+| method | String | report 表示设备属性上报 |
+| clientToken | String | 用于上下行消æ¯é…å¯¹æ ‡è¯† |
+| timestamp | Integer | 属性上报的时间 |
+| params | JSON | JSON 结构内为设备上报的属性值 |
+
+åŒæ—¶ï¼Œå› 为订阅了上行å“应topic,所以模组会收到云端下å‘çš„å“应并通过URC模å¼ä¸ŠæŠ¥ï¼Œäº‘端å“应报文整ç†ä¸€ä¸‹æ ¼å¼å¦‚下:
+```c
+{
+ "method":"report_reply",
+ "clientToken":"clientToken-145023f5-bc9b-4174-ba3b-430ba5956e5c",
+ "code":0,
+ "status":"success"}
+ï½
+```
+其䏿¯ä¸€é¡¹ä¹Ÿæœ‰å…·ä½“çš„å«ä¹‰ï¼š
+| 傿•° | 类型 | 说明 |
+| -------- | --------- | ----------- |
+| method | String | report_reply 表示云端接收设备上报åŽçš„å“应报文 |
+| clientToken | String | 用于上下行消æ¯é…å¯¹æ ‡è¯† |
+| code | Integer | 0表示云端æˆåŠŸæ”¶åˆ°è®¾å¤‡ä¸ŠæŠ¥çš„å±žæ€§ |
+| status | String | 当codeéž0的时候, æç¤ºé”™è¯¯ä¿¡æ¯ |
+
+接下æ¥ä¿®æ”¹ä»£ç ,首先**æ ¹æ®è‡ªå·±çš„产å“ID和设备ID修改上报topic**:
+
+ç„¶åŽä¿®æ”¹è®¢é˜…topic:
+
+
+打开2g模å—M5313çš„ä¸²å£æŽ¥æ”¶ï¼š
+
+
+#### 2.1.3 编译下载
+修改完æˆä¹‹åŽç¼–è¯‘å·¥ç¨‹ï¼Œä¸‹è½½åˆ°å¼€å‘æ¿ä¸ï¼Œé‡æ–°ä¸Šç”µå¼€å§‹è¿è¡Œï¼Œåœ¨ä¸²å£åŠ©æ‰‹ä¸æŸ¥çœ‹æ‰“å°æ—¥å¿—:
+
+在云端查看上报日志:
+
+点击ã€è®¾å¤‡å±žæ€§ã€‘,点击亮度属性一æ 的查看,å¯ä»¥æŸ¥çœ‹æ›²çº¿æ˜¾ç¤ºï¼š
+
+
+## 3. 腾讯连连å°ç¨‹åºæ“作æ¥éª¤
+### 3.1 æ·»åŠ å®¶åº
+手机端在ã€å¾®ä¿¡ã€‘æœç´¢ã€è…¾è®¯è¿žè¿žã€‘å°ç¨‹åºï¼Œé¦–次使用需è¦è¿›å…¥åŽç‚¹å‡»ã€æˆ‘的】->ã€å®¶åºç®¡ç†ã€‘ï¼Œæ·»åŠ ä¸€ä¸ªä½ å–œæ¬¢çš„åç§°å³å¯ã€‚
+
+### 3.2 æ·»åŠ è®¾å¤‡
+进入åŽåœ¨ä¸ä¸‹æ–¹ç‚¹å‡»âž•å·ï¼Œå¼€å§‹æ‰«æäºŒç»´ç
+
+
+在腾讯云物è”网开å‘å¹³å°è¿›å…¥ã€è®¾å¤‡è°ƒè¯•】,点击对应设备åŽçš„ã€äºŒç»´ç 】:
+
+è…¾è®¯è¿žè¿žæ‰«ææ¤äºŒç»´ç å³å¯æˆåŠŸæ·»åŠ è®¾å¤‡ï¼Œæ·»åŠ æˆåŠŸä¹‹åŽå¦‚图:
+
+给设备上电,ç‰ä¸€ä¼šå¯ä»¥çœ‹åˆ°è®¾å¤‡ä¸Šçº¿ï¼Œç‚¹å‡»è¿›å…¥å¯ä»¥çœ‹åˆ°ä»£ç ä¸Šä¼ çš„äº®åº¦æ•°æ®
+
+
diff --git a/board/BDW01-STM32L496VG/doc/4.对接腾讯云与腾讯连连-电动车追踪.md b/board/BDW01-STM32L496VG/doc/4.对接腾讯云与腾讯连连-电动车追踪.md
new file mode 100644
index 00000000..8d81563e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/4.对接腾讯云与腾讯连连-电动车追踪.md
@@ -0,0 +1,159 @@
+# 对接腾讯云与腾讯连连-电动车追踪
+本示例示范如何对接到腾讯云物è”网开å‘å¹³å°IoT Explore和腾讯连连å°ç¨‹åº
+å¹¶ä¸Šä¼ GPS定ä½å’Œé€šè¿‡è…¾è®¯äº‘ä¸Žè…¾è®¯è¿žè¿žæŽ§åˆ¶å¼€å‘æ¿ä¸Šçš„LED。
+## 1. 云端æ“作æ¥éª¤
+登录[腾讯云物è”网开å‘å¹³å°ï¼ˆIoT Explorer)](https://cloud.tencent.com/product/iotexplorer "腾讯云物è”网开å‘å¹³å°ï¼ˆIoT Explorer)"),点击“立å³ä½¿ç”¨â€è¿›å…¥æŽ§åˆ¶å°ï¼Œä¸ªäººå¼€å‘å¯ä»¥ä½¿ç”¨å¾®ä¿¡è¿›è¡Œç™»å½•。
+### 1.1 新建项目
+具体å¯å‚考《3.对接腾讯云与腾讯连连-æµ‹è¯•ã€‹æ–°å»ºé¡¹ç›®ç« èŠ‚ï¼Œæ ¹æ®æ–‡æ¡£å·²ç»åˆ›å»ºäº†ä¸€ä¸ªæ™ºèƒ½ç»ˆç«¯çš„项目
+
+### 1.2 产å“å¼€å‘
+#### 1.2.1 新建产å“
+点击项目å称进入到该项目ä¸ï¼Œç‚¹å‡»æ–°å»ºäº§å“:
+
+
+
+äº§å“æ–°å»ºæˆåŠŸåŽï¼Œå¯åœ¨äº§å“列表页查看到“电动车追踪â€ã€‚
+
+
+#### 1.2.2 新建功能
+点击电动车追踪产å“进入。
+##### 1.2.2.1
+å‚照下图建立两个功能:ç¯å’Œä½ç½®ä¸¤ä¸ªåŠŸèƒ½
+
+
+##### 1.2.2.2
+jsonæ ¼å¼ä¸ºï¼š
+
+```c
+{
+ "version": "1.0",
+ "profile": {
+ "ProductId": "OKY0D78DP2",
+ "CategoryId": "1"
+ },
+ "properties": [
+ {
+ "id": "led",
+ "name": "ç¯",
+ "desc": "",
+ "mode": "rw",
+ "define": {
+ "type": "bool",
+ "mapping": {
+ "0": "å…³",
+ "1": "å¼€"
+ }
+ },
+ "required": false
+ },
+ {
+ "id": "location",
+ "name": "ä½ç½®",
+ "desc": "",
+ "mode": "r",
+ "define": {
+ "type": "string",
+ "min": "0",
+ "max": "1024"
+ },
+ "required": false
+ }
+ ],
+ "events": [],
+ "actions": []
+}
+```
+### 1.3 创建测试设备
+在ã€è®¾å¤‡è°ƒè¯•】页é¢ä¸ï¼Œå•å‡»ã€æ–°å»ºè®¾å¤‡ã€‘,设备å为 bd_location:
+
+
+## 2. 设备侧æ“作
+使用 Keil-MDK 打开 mqttclient_iot_explorer_location 工程:
+TencentOS-tiny\board\BDW01-STM32L496VG\KEIL\mqttclient_iot_explorer_location
+
+### 2.1 é…置使用的网络设备
+打开mqttclient_iot_explorer_location.c文件,修改é…置。
+路径为:TencentOS-tiny\board\BDW01-STM32L496VG\BSP\app
+修改本工程所使用的通信模组,打开USE_M5313,如图:
+
+
+#### 2.1.1 修改MQTTå¯¹æŽ¥å‚æ•°
+在腾讯云物è”网开å‘å¹³å°å¯ä»¥çœ‹åˆ°ä¸€äº›äº§å“IDã€è®¾å¤‡IDã€è®¾å¤‡ç§˜é’¥ä¸‰ä¸ªå‚数,如图:
+
+接下æ¥è¿›å…¥TencentOS-tiny仓库ä¸çš„tools目录,使用pythonè¿è¡Œè„šæœ¬mqtt_config_gen.py,按照æç¤ºè¾“å‡ºåˆšåˆšåœ¨å¹³å°æŸ¥è¯¢åˆ°çš„ä¸‰ä¸ªå‚æ•°ï¼Œè„šæœ¬ä¼šè‡ªåŠ¨ç”Ÿæˆmqtté…ç½®å‚æ•°ï¼š
+
+①输入产å“IDï¼›
+â‘¡ 输入设备åç§°
+③ 输入设备秘钥;
+â‘£ ⑤ ä¿æŒé»˜è®¤ï¼Œç›´æŽ¥å›žè½¦ï¼›
+⑥ 需è¦çš„生æˆä¿¡æ¯ã€‚
+接下æ¥åœ¨ä»£ç ä¸ä¿®æ”¹é…置信æ¯ï¼š
+
+#### 2.1.2 修改mqtt对接topic
+设备å‘云端上报数æ®çš„topic如下:
+上行请求 Topic: $thing/up/property/{ProductID}/{DeviceName}
+上行å“应 Topic: $thing/down/property/{ProductID}/{DeviceName}
+首先订阅上行å“应topic,数æ®å†…容如下:
+```c
+{
+ "method":"control",
+ "clientToken":"clientToken-9d2601f3-c36f-46a5-bdf6-1bd21c547406",
+ "params":
+ {
+ "led":1,
+ }
+}
+```
+åŒæ—¶ï¼Œå› 为订阅了上行å“应topic,所以模组会收到云端下å‘çš„å“应并通过URC模å¼ä¸ŠæŠ¥ï¼Œäº‘端å“应报文整ç†ä¸€ä¸‹æ ¼å¼å¦‚下:
+```c
+{
+ "method":"report_reply",
+ "clientToken":"clientToken-9d2601f3-c36f-46a5-bdf6-1bd21c547406",
+ "code":0,
+ "status":"success"}
+ï½
+```
+修改代ç ,首先**æ ¹æ®è‡ªå·±çš„产å“ID和设备ID修改上报topic**:
+
+ç„¶åŽä¿®æ”¹è®¢é˜…topic:
+
+打开2g模å—M5313çš„ä¸²å£æŽ¥æ”¶ï¼š
+
+#### 2.1.3 编译下载
+修改完æˆä¹‹åŽç¼–è¯‘å·¥ç¨‹ï¼Œä¸‹è½½åˆ°å¼€å‘æ¿ä¸ï¼Œé‡æ–°ä¸Šç”µå¼€å§‹è¿è¡Œï¼Œåœ¨ä¸²å£åŠ©æ‰‹ä¸æŸ¥çœ‹æ‰“å°æ—¥å¿—:
+
+#### 2.1.4 上报定ä½
+GPS获å–åˆ°å®šä½æ—¶ï¼Œä¸²å£ä¼šæ‰“å°GPS定ä½ä¿¡æ¯ï¼š
+
+åŒæ—¶å°†å®šä½ä¸Šä¼ 到云端,
+在云端查看上报日志:
+
+#### 2.1.5 LED控制
+在设备调试里,打开在线调试,选择ç¯ï¼ŒæœŸæœ›å€¼é€‰æ‹©æ‰“开状æ€ï¼Œç„¶åŽç‚¹å‡»å‘é€ï¼ŒæˆåŠŸæŽ§åˆ¶æ¿å上的LED,并返回数æ®
+
+
+## 3. 腾讯连连å°ç¨‹åºæ“作æ¥éª¤
+### 3.1 æ·»åŠ å®¶åº
+手机端在ã€å¾®ä¿¡ã€‘æœç´¢ã€è…¾è®¯è¿žè¿žã€‘å°ç¨‹åºï¼Œé¦–次使用需è¦è¿›å…¥åŽç‚¹å‡»ã€æˆ‘的】->ã€å®¶åºç®¡ç†ã€‘ï¼Œæ·»åŠ ä¸€ä¸ªä½ å–œæ¬¢çš„åç§°å³å¯ã€‚
+### 3.2 æ·»åŠ è®¾å¤‡
+进入åŽåœ¨ä¸ä¸‹æ–¹ç‚¹å‡»âž•å·ï¼Œå¼€å§‹æ‰«æäºŒç»´ç
+
+
+在腾讯云物è”网开å‘å¹³å°è¿›å…¥ã€è®¾å¤‡è°ƒè¯•】,点击对应设备åŽçš„ã€äºŒç»´ç 】:
+
+è…¾è®¯è¿žè¿žæ‰«ææ¤äºŒç»´ç å³å¯æˆåŠŸæ·»åŠ è®¾å¤‡ï¼Œæ·»åŠ æˆåŠŸä¹‹åŽå¦‚图:
+
+给设备上电,ç‰ä¸€ä¼šå¯ä»¥çœ‹åˆ°è®¾å¤‡ä¸Šçº¿ï¼Œç‚¹è¿›åŽ»å¯è¿›è¡ŒLED的控制,
+开呿¿ä¸Šçš„LED会亮。
+
+#### 3.2.1 颿¿é…ç½®
+å¯ä»¥é‡‡ç”¨H5对å°ç¨‹åºçš„æ˜¾ç¤ºé¡µé¢è¿›è¡Œç¼–辑
+
+
+ä¸Šä¼ æ–‡ä»¶index.jsã€index.css(在source文件夹里)
+
+并将腾讯连连å°ç¨‹åºé‡Œçš„å¸å·æ·»åŠ è‡³ç™½åå•。
+
+用å°ç¨‹åºé‡æ–°æ‰«æè®¾å¤‡äºŒç»´ç ï¼Œç»™è®¾å¤‡é‡æ–°ä¸Šç”µï¼Œå½“æœ‰å®šä½æ—¶ï¼Œæ•ˆæžœå¦‚下:
+
+
diff --git a/board/BDW01-STM32L496VG/doc/OTA-HTTPæ–¹å¼.md b/board/BDW01-STM32L496VG/doc/OTA-HTTPæ–¹å¼.md
new file mode 100644
index 00000000..d444179e
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/OTA-HTTPæ–¹å¼.md
@@ -0,0 +1,229 @@
+# OTA-HTTPæ–¹å¼
+## 1. TencentOS-tiny OTA
+### 1.1 OTA与IAP
+IAP全称 In Application Programming,什么是在应用编程呢?
+æ£å¸¸å¼€å‘æµç¨‹å¦‚下:
+1. 使用Keil MDK工具编写应用程åºï¼›
+2. 编译出.axf坿‰§è¡Œç¨‹åºæˆ–者.bin文件,或者.hex文件;
+3. 使用Keil MDK工具直接烧录.axf文件到STM32 Flashä¸ï¼Œæˆ–者使用类似STM32CubeProg之类的软件烧录.bin文件到STM32 Flashä¸ï¼›
+4. å¤ä½ï¼Œå•片机从Flash起始地å€å¤„读å–程åºå¹¶æ‰§è¡Œï¼›
+
+当产å“å¼€å‘完æˆç”¨äºŽç”Ÿäº§åŽï¼Œé€šå¸¸ä¸ä¼šå†å¼•出下载器接å£ç»™ç”¨æˆ·ï¼Œæ‰€ä»¥ä¹Ÿå°±æ— 法连接å„ç§å„æ ·çš„ä¸‹è½½å™¨ï¼Œæ›´åˆ«è¯´ç”¨Keil或者STM32CubeProg这些工具下载程åºï¼Œå¦‚æžœå‘çŽ°åº”ç”¨ç¨‹åºæœ‰æ¼æ´žï¼Œæˆ–者è¦ä¿®æ”¹éƒ¨åˆ†åŠŸèƒ½ï¼Œéƒ½å·²ç»æ— 法完æˆã€‚
+#### 1.1.1 IAPè®¾è®¡æ€æƒ³
+IAP巧妙的解决了这个问题,å³åœ¨åº”ç”¨ç¨‹åºæ£å¸¸å·¥ä½œçš„æ—¶å€™ï¼Œè¿˜å¯ä»¥æŽ¥æ”¶æ–°çš„固件并烧录到Flashä¸ã€‚
+
+- 应用程åºå¦‚何接收新的固件?
+
+ 一般产å“è®¾è®¡æ—¶éƒ½ä¼šç•™ä¸€ä¸ªç”¨äºŽæ‰“å°æ—¥å¿—ä¿¡æ¯çš„串å£ï¼Œå¯ä»¥ç›´æŽ¥åˆ©ç”¨æ¤ä¸²å£æ¥æŽ¥æ”¶PCå‘é€åˆ°æ–°å›ºä»¶ï¼Œä¼ 输å议大多都采用Y-Modemå议。
+
+- 接收之åŽçš„æ–°å›ºä»¶å˜æ”¾åˆ°å“ªé‡Œï¼Ÿ
+
+ 固件大å°ä¸€èˆ¬éƒ½æœ‰å‡ åKB或者上百KBï¼Œåº”ç”¨ç¨‹åºæŽ¥æ”¶åˆ°æ–°çš„å›ºä»¶ä¹‹åŽï¼Œå¦‚æžœæ˜¯ä»¥æ•°ç»„çš„å½¢å¼æš‚å˜åœ¨RAM空间ä¸ï¼Œä¸ä»…会浪费RAM空间,而且容易å‘生固件数æ®ä¸¢å¤±ï¼Œæ‰€ä»¥ç›´æŽ¥å˜å‚¨åˆ°ç©ºé—²çš„Flashç©ºé—´ä¸æ˜¯æœ€å¥½çš„æ–¹å¼ã€‚
+eg. å®˜æ–¹å¼€å‘æ¿ä½¿ç”¨çš„芯片是STM32L496VGTx,Flash空间有1024KB,如果应用程åºçš„大å°åªæœ‰100KB,那么接收进æ¥çš„æ–°å›ºä»¶å°±å¯ä»¥å˜æ”¾åœ¨å‰©ä½™çš„156KB空间ä¸ã€‚
+åŒæ—¶ä¼šäººä¸ºçš„对Flash划分分区,也就是对æŸä¸€æ®µåœ°å€ç©ºé—´èµ·ä¸ªåå—,如下图:
+
+
+- 如何将è€å›ºä»¶æ›¿æ¢ä¸ºä¸ºæ–°å›ºä»¶ï¼Ÿ
+上电之åŽCPU会从Flash的起始地å€å¤„è¯»å–æ•°æ®å¼€å§‹æ‰§è¡Œï¼Œè¿™ç‚¹æ— 法改å˜ï¼Œæ£åœ¨è¿è¡Œçš„应用程åºå¦‚果进行自己擦除自己的æ“作,设备直接å˜ç –。
+bootloaderå¯ä»¥å®Œç¾Žçš„解决这一问题,å³å†™ä¸€å°æ®µåº”用程åºï¼Œæ”¾åœ¨Flash的起始ä½ç½®å¤„ï¼Œä½¿å¾—æ¯æ¬¡ä¸Šç”µä¹‹åŽæœ€å…ˆè¿è¡Œbootloader,完æˆä¸¤ä¸ªåŠŸèƒ½ï¼š
+①检查å‡çº§æ ‡å¿—ï¼Œæ˜¯å¦æœ‰æ–°çš„固件被下载到IAP分区ä¸ï¼›
+â‘¡ å¦‚æžœæ— å‡çº§æ ‡å¿—,则跳转到ActiveAPP分区,开始执行应用程åºï¼›
+â‘¢ 如果有å‡çº§æ ‡å¿—,则先将IAP分区ä¸çš„固件拷è´åˆ°ActiveAPP分区ä¸ï¼Œç„¶åŽè·³è½¬åˆ°ActiveAPP分区,开始执行新的应用程åºï¼›
+åŠ å…¥bootloader之åŽï¼Œæ•´ä¸ªFlash的分区情况如下:
+
+
+#### 1.1.2 OTAè®¾è®¡æ€æƒ³
+在IAP的这ç§è®¾è®¡æ€æƒ³ä¹‹ä¸Šï¼Œå› 为当å‰çš„物è”网设备都已ç»å…·å¤‡åŸºæœ¬çš„ç½‘ç»œé€šä¿¡åŠŸèƒ½ï¼Œæ‰€ä»¥æ— éœ€é€šè¿‡ä¸²å£ä¼ è¾“æ–°çš„å›ºä»¶ï¼Œç›´æŽ¥é€šè¿‡ç½‘ç»œä¼ è¾“æ–°çš„å›ºä»¶å³å¯ï¼Œç§°ä¹‹ä¸ºOTA IAP(Over The Air In Application Programming),也就是平常所说的空ä¸å‡çº§ï¼Œç®€ç§°OTA。
+
+### 1.2 OTA组件概述ã€ç‰¹æ€§åŠä¼˜åŠ¿
+TencentOS-tinyä¸æä¾›çš„OTA组件完全开æºå…费,相较于其他的OTA功能,TencentOS-tiny OTA组件æä¾›æ›´å°çš„差分å‡çº§åŒ…ï¼Œè€—ç”¨æ›´å°‘çš„ä¼ è¾“æµé‡ï¼Œå 用更å°çš„内å˜ç©ºé—´ï¼Œæä¾›æ›´å¯é çš„å‡çº§æœåŠ¡ã€‚
+TencentOS-tiny OTA组件有以下的特性:
+ä¼ è¾“å·®åˆ†å‡çº§åŒ…ï¼Œè€Œä¸æ˜¯æ•´ä¸ªå›ºä»¶
+çµæ´»çš„分区表功能
+支æŒåŽŸåœ°å‡çº§
+支æŒä¹’乓å‡çº§ï¼Œå¯ä»¥åœ¨å‡çº§ä¸æ–的情况下进行版本回滚
+支æŒé€šè¿‡HTTP从自建æœåŠ¡å™¨æ‹‰å–固件
+支æŒä»Žè…¾è®¯äº‘å¹³å°è¿›è¡Œç»Ÿä¸€çš„固件拉å–和管ç†
+
+### 1.3 OTA组件开å‘è°ƒè¯•æŽ¨èæµç¨‹
+OTA的整个æµç¨‹è°ƒè¯•è¾ƒå¤æ‚ï¼Œå¦‚æžœåˆ†æ¥æ¥åšä¼šæ¯”较容易:
+(1)调试bootloader是å¦å¯ä»¥æ£å¸¸è¯»å–分区表信æ¯ï¼›
+(2)调试bootloader是å¦å¯ä»¥æ£å¸¸è·³è½¬åˆ°Active APP;
+(3)调试bootloader是å¦ç›´æŽ¥å¯ä»¥æ ¹æ®patch包进行å‡çº§;
+(4)调试Active APP是å¦å¯ä»¥é€šè¿‡ç½‘络拉å–patchå‡çº§åŒ…并下载到 OTA 分区;
+(5)综åˆè°ƒè¯•。
+
+## 2. 分区规划åŠåˆ†åŒºè¡¨çš„生æˆã€çƒ§å½•
+### 2.1 分区规划
+TencentOS-tiny支æŒä¸¤ç§å‡çº§æ–¹å¼ï¼Œä¸¤ç§å‡çº§æ–¹å¼å¯¹åº”有ä¸åŒçš„分区表
+原地å‡çº§æ–¹å¼ä¸ï¼Œbootloaderç›´æŽ¥æ ¹æ®æ—§å›ºä»¶+patchå‡çº§åŒ…ç”Ÿæˆæ–°çš„固件,一旦开始å‡çº§ï¼Œæ— 论å‡çº§æˆåŠŸä¸Žå¦éƒ½æ— æ³•å›žæ»šåˆ°ä¸Šä¸€ä¸ªç‰ˆæœ¬ï¼Œä¸»è¦æœ‰äº”个分区:
+Bootloader分区:执行引导ã€åˆ†åŒºå‡çº§åŠŸèƒ½ï¼›
+Active APPåˆ†åŒºï¼šå½“å‰æ£åœ¨è¿è¡Œçš„å›ºä»¶å˜æ”¾åˆ†åŒºï¼›
+OTAåˆ†åŒºï¼šæ–°å›ºä»¶å˜æ”¾åˆ†åŒºï¼›
+KV分区:记录系统å‡çº§ä¸çš„一些环境å˜é‡ï¼›
+åˆ†åŒºè¡¨ï¼šå˜æ”¾åˆ†åŒºè¡¨ï¼ˆå›ºå®šå¤§å°32B,一般放在Flash的最åŽä¸€ä¸ªæ‰‡åŒºä¸ï¼‰
+
+乒乓å‡çº§æ–¹å¼ä¸ï¼Œbootloader在å‡çº§ä¹‹å‰ä¼šå°†åŽŸæ¥çš„固件拷è´ä¸€ä»½ï¼Œä¸€æ—¦å¼€å§‹å‡çº§ï¼Œæ— 论新固件å‡çº§æˆåŠŸä¸Žå¦ï¼Œéƒ½å¯ä»¥å›žæ»šåˆ°ä¸Šä¸€ä¸ªç‰ˆæœ¬ï¼Œä¸»è¦æœ‰å…个分区:
+Bootloader分区:执行引导ã€åˆ†åŒºå‡çº§åŠŸèƒ½ï¼›
+Active APPåˆ†åŒºï¼šå½“å‰æ£åœ¨è¿è¡Œçš„å›ºä»¶å˜æ”¾åˆ†åŒºï¼›
+Backupåˆ†åŒºï¼šå¤‡ä»½å½“å‰æ£åœ¨è¿è¡Œçš„固件;
+OTAåˆ†åŒºï¼šæ–°å›ºä»¶å˜æ”¾åˆ†åŒºï¼›
+KV分区:记录系统å‡çº§ä¸çš„一些环境å˜é‡ï¼›
+åˆ†åŒºè¡¨ï¼šå˜æ”¾åˆ†åŒºè¡¨ï¼ˆå›ºå®šå¤§å°32B,一般放在Flash的最åŽä¸€ä¸ªæ‰‡åŒºä¸ï¼‰
+
+在实际应用ä¸ï¼Œä¸¤ç§æ–¹å¼çš„é€‰æ‹©è¦æ ¹æ®è®¾å¤‡éœ€æ±‚,设备Flash空间大å°ï¼Œè®¾å¤‡Flash扇区大å°ç»¼åˆè€ƒè™‘。
+本文接下æ¥å¦‚æ— ç‰¹æ®Šè¯´æ˜Žï¼Œéƒ½æ˜¯ä»¥ç¬¬ä¸€ç§æ–¹å¼ï¼ˆåŽŸåœ°å‡çº§ï¼‰ä¸ºä¾‹ï¼Œå®˜æ–¹æ¿çš„Flash大å°ä¸º1024KB,å¯ä»¥å¦‚下分区:
+
+
+### 2.2 分区表工具的使用方法
+TencentOS-tiny æºç ä¸æä¾›äº†ä¸€ä¸ªç”Ÿæˆåˆ†åŒºè¡¨çš„命令行工具,需è¦å…ˆä½¿ç”¨gcc编译,没有gcc环境å¯ä»¥å®‰è£…MinGW。
+#### 2.2.1 编译
+进入\components\ota\tools\partition_table目录,执行make命令开始编译,编译之åŽè¿›å…¥åˆ°å½“å‰ç›®å½•下的out\targetå³å¯çœ‹åˆ°å·¥å…·Â ptbl.exe:
+cd out/target/
+è¯¥å·¥å…·æœ‰å¦‚ä¸‹å‚æ•°ï¼š
+
+1. h:打å°å¸®åŠ©ä¿¡æ¯
+2. p :选择å‡çº§æ–¹å¼,ip或者pp
+3. a :Active APP分区的起始和结æŸåœ°å€
+4. b :Backup 分区的起始和结æŸåœ°å€ï¼Œé€‰äº†ppæ–¹å¼æ‰éœ€è¦
+5. o :OTA分区的起始和结æŸåœ°å€
+6. k :KV分区的起始和结æŸåœ°å€
+7. v .:åˆè¯†å›ºä»¶ç‰ˆæœ¬å·
+
+为官方æ¿ç”Ÿæˆåˆ†åŒºè¡¨æ–‡ä»¶çš„命令如下:
+./ptbl.exe -p ip -a 0x08007800,0x080CF800 -o 0x080CF800,0x080F9800 -k 0x080F9800,0x080FF800 -v 0.1 ptbl.bin
+è¿è¡Œä¹‹åŽå³å¯åœ¨å½“å‰ç›®å½•下看到生æˆçš„分区表文件ptbl.bin。
+
+### 2.3 分区表烧录方法
+生æˆçš„分区表文件ptbl.binå¯ä»¥é€šè¿‡STM32CubeProg直接烧录到Flashä¸ï¼ŒæŒ‰ç…§ä¹‹å‰è§„划的分区,烧录ä½ç½®ä¸º 0x0803F800 ,烧录方法如下:
+(1)ä½¿ç”¨ä¸‹è½½å™¨è¿žæŽ¥å¼€å‘æ¿åˆ°PC,打开STM32CubeProg工具,点击Connectè¿žæŽ¥åˆ°å¼€å‘æ¿ï¼š
+
+(2)如果是第一次使用OTA,点击左侧的烧录按钮,点击全片擦除:
+
+第一次使用的时候,KV分区ä¸çš„æ•°æ®ä¸ç¡®å®šï¼Œå¯é èµ·è§ç›´æŽ¥é€‰æ‹©å…¨ç‰‡æ“¦é™¤ã€‚
+
+(3)点击左侧的烧录按钮,选择刚刚生æˆçš„ptbl.bin,下载地å€å¡«å†™ 0x080FF800,点击烧录:
+
+出现烧录æˆåŠŸå¼¹çª—å³å¯ã€‚
+
+## 3. 测试Bootloader程åº
+进入board\BDW01-STM32L496VG\KEIL\ota目录,打开官方æä¾›çš„bootloader示例工程: ota_bootloader_recovery。
+bootloader其实是一个裸机程åºï¼Œåœ¨ main 函数ä¸ä¸»è¦æœ‰ä¸‰éƒ¨åˆ†ï¼Œåˆ†åˆ«å¯¹åº”三个功能:
+读å–分区表
+æ ¹æ®patch包进行å‡çº§
+跳转到Active APP分区开始执行
+接下æ¥å°†å®Œæˆ 1.3 节所给出的OTA组件开å‘è°ƒè¯•æŽ¨èæµç¨‹å‰ä¸‰æ¥ã€‚
+### 3.1 测试bootloader是å¦å¯ä»¥è¯»å–分区表
+é¦–å…ˆéœ€è¦æŒ‡å®šåˆ†åŒºè¡¨åœ°å€ï¼š
+
+如下åˆå§‹åŒ–环境å˜é‡çš„代ç ,在åˆå§‹åŒ–ä¹‹åŽæ‰“å°åˆ†åŒºè¡¨çš„代ç ,最åŽçš„while(1)ç”¨äºŽåœæ¢ç¨‹åºï¼Œé˜²æ¢è¿›è¡ŒåŽé¢çš„功能:
+
+修改程åºç¼–译地å€å’Œå¤§å°ï¼Œä¸ŽBootloader分区的划分相对应:
+
+编译程åºã€‚
+编译æˆåŠŸä¹‹åŽä¿®æ”¹ä¸‹è½½è®¾ç½®ï¼Œé€‰æ‹©æ‰‡åŒºæ“¦é™¤æ–¹å¼ã€è®¾ç½®ç¨‹åºçƒ§å½•起始地å€ã€è®¾ç½®ç¨‹åºçƒ§å½•大å°ï¼ŒåŒæ ·ä¸Žbootloader分区的划分相对应:
+
+下载程åºï¼Œåœ¨ä¸²å£åŠ©æ‰‹ä¸è§‚察输出:
+
+
+### 3.2 测试bootloader是å¦å¯ä»¥è·³è½¬åˆ°Active APP分区
+打开和bootloader在一个目录下的app工程:ota_application_download_through_http。
+ç›®å‰æˆ‘ä»¬åªæ˜¯æµ‹è¯•bootloader是å¦å¯ä»¥è·³è½¬è¿‡æ¥æ‰§è¡Œæ¤ç¨‹åºï¼Œæ‰€ä»¥å¦‚图所示修改代ç ,ä¸è¦è§¦å‘OTA固件拉å–功能:
+
+å¦å¤–ï¼Œå› ä¸ºæ¤ç¨‹åºè¢«çƒ§å½•到 Active APP 分区,是从Active APP分区的起始地å€å¼€å§‹è¿è¡Œçš„,所以需è¦ä¿®æ”¹ä¸æ–å‘é‡è¡¨çš„å移地å€ï¼Œå¦‚图:
+
+åŒæ ·ä¿®æ”¹ç¨‹åºç¼–译的起始地å€å’Œå¤§å°ï¼Œä¸Žè§„划的 Active APP分区信æ¯ç›¸å¯¹åº”:
+
+编译程åºã€‚
+编译æˆåŠŸä¹‹åŽä¿®æ”¹ä¸‹è½½è®¾ç½®ï¼Œçƒ§å½•到Actice APP分区ä¸ï¼š
+
+最åŽå†ä¿®æ”¹bootloader程åºï¼Œå±è”½while(1),å±è”½OTA固件å‡çº§åŠŸèƒ½ï¼Œå¼€å¯è·³è½¬åŠŸèƒ½ï¼š
+
+冿¬¡ç¼–译,下载bootloader,å¤ä½å¼€å‘æ¿ï¼ŒæŸ¥çœ‹ä¸²å£åŠ©æ‰‹ä¸çš„输出,å¯ä»¥çœ‹åˆ°bootloaderæˆåŠŸè·³è½¬åˆ°Actice APP开始执行:
+
+
+### 3.3 差分patchåŒ…ç”Ÿæˆæ–¹æ³•
+#### 3.3.1 准备è€å›ºä»¶å’Œæ–°å›ºä»¶
+官方示例工程已ç»åœ¨MDKä¸é…置编译åŽç”Ÿæˆ.bin固件,如图:
+
+编译之åŽä¼šåœ¨å·¥ç¨‹ç›®å½•下生æˆTencentOS_tiny.bin文件,拷è´ä¸€ä»½å‡ºæ¥ï¼Œé‡å‘½å为:TencentOS_tiny_0_1.bin,表示这是0.1版本的固件。
+修改app工程,将打å°ä¿¡æ¯ä¸çš„0.1改为0.2ï¼Œä»¥éªŒè¯æ˜¯å¦å‡çº§æˆåŠŸï¼š
+
+釿–°ç¼–è¯‘ï¼Œç”Ÿæˆæ–°å›ºä»¶TencentOS_tiny.binï¼ŒåŒæ ·æ‹·è´ä¸€ä»½ï¼Œé‡å‘½å为:TencentOS_tiny_0_2,表示这是0.2版本的固件。
+
+
+#### 3.3.2 差分å‡çº§åŒ…生æˆå·¥å…·çš„使用
+编译æ¤å·¥å…·åŒæ ·éœ€è¦gcc环境。
+进入\components\ota\tools\diff目录,执行make命令开始编译,编译之åŽè¿›å…¥åˆ°å½“å‰ç›®å½•下的out\targetå³å¯çœ‹åˆ°å·¥å…·Â diff.exe:
+cd out/target/
+è¯¥å·¥å…·æœ‰å¦‚ä¸‹å‚æ•°ï¼š
+1. h:打å°å¸®åŠ©ä¿¡æ¯
+2. vï¼šæ‰“å°æ›´å¤šä¿¡æ¯
+3. s:<待定...>
+4. b :指定扇区大å°ï¼Œå•ä½ï¼šå—节Byte
+5. n .:新的固件版本å·
+6. o .:旧的固件版本å·
+
+å°†3.3.1节准备的两个固件拷è´åˆ°å½“å‰å·¥å…·æ‰€åœ¨ç›®å½•下。
+æ ¹æ®å‰é¢å‡†å¤‡çš„两个新旧固件,制作差分å‡çº§åŒ…的命令如下:
+./diff.exe -v -b 2048 -n 0.2 -o 0.1 TencentOS_tiny_0_1.bin TencentOS_tiny_0_2.bin patch.bin
+è¿è¡Œä¹‹åŽå³å¯åœ¨å½“å‰ç›®å½•下看到生æˆçš„差分å‡çº§åŒ…patch.bin。
+
+
+### 3.4 测试bootloader是å¦å¯ä»¥æ ¹æ®patch进行å‡çº§
+使用STM32CubeProg直接将差分å‡çº§åŒ…patch.bin下载到OTA分区:
+
+下载æˆåŠŸåŽï¼Œå› 为bootloader通过检测KV分区ä¸çš„环境å˜é‡new_versionæ¥åˆ¤æ–æ˜¯å¦æœ‰æ–°çš„固件,但是环境å˜é‡åœ¨appç¨‹åºæ‹‰å–固件æˆåŠŸä¹‹åŽæ‰ä¼šè®¾ç½®ï¼Œæ‰€ä»¥æˆ‘们手动在bootloader䏿¥è®¾ç½®æ¤çŽ¯å¢ƒå˜é‡ã€‚
+在main.cä¸å¼•å…¥KV的头文件:
+
+```c
+#include "tos_kv.h"
+```
+在环境å˜é‡åˆå§‹åŒ–代ç 之åŽï¼Œå‡çº§ä»£ç 之剿·»åŠ ï¼ˆæ‰“å¼€ï¼‰å¦‚ä¸‹çš„ä»£ç :
+
+æ·»åŠ ä¹‹åŽç¼–译,下载,在串å£åŠ©æ‰‹ä¸æŸ¥çœ‹è¾“出:
+
+å¯ä»¥çœ‹åˆ°bootloaderæˆåŠŸæ ¹æ®patch差分包和旧的固件,还原出了新的固件并æˆåŠŸå‡çº§ã€‚
+
+## 4. 使用HTTPæ–¹å¼èŽ·å–固件并å‡çº§
+TencentOS-tiny OTA组件支æŒä½¿ç”¨ HTTP å议拉å–差分å‡çº§patch包,并烧写到OTA分区ä¸ã€‚
+### 4.1 准备HTTPæœåС噍
+HTTPæœåŠ¡å™¨çš„é€‰æ‹©éžå¸¸å¤šï¼Œå¸¸ç”¨é€‰æ‹©æœ‰ï¼š
+在Windows上使用类似MyWebServerçš„å°å·¥å…·å¼€å¯HTTPæœåŠ¡
+1)ä¼˜ç‚¹ï¼šç®€å•æ–¹ä¾¿ï¼Œç”¨äºŽæµ‹è¯•
+2)缺点:需è¦åœ¨è·¯ç”±ç«¯åšä¸€ä¸ªç«¯å£æ˜ 射,å¯ä»¥é€šè¿‡å¤–网进行访问
+
+在云æœåŠ¡å™¨ä¸Šå®‰è£…ç±»ä¼¼Nginx的工具,开å¯HTTP访问
+1)ä¼˜ç‚¹ï¼šæ€§èƒ½å¼ºåŠ²ã€æœ‰å…¬ç½‘ipã€æ”¯æŒé«˜å¹¶å‘(大é‡è®¾å¤‡åŒæ—¶å¼€æœºæ‹‰å–固件)
+2)ç¼ºç‚¹ï¼šå®‰è£…è¿‡ç¨‹è¾ƒå¤æ‚
+é™¤äº†è¿™ä¸¤ç§æ–¹å¼å¤–,还有很多的方å¼å¯ä¾›é€‰æ‹©ï¼Œåªéœ€è¦å¼€å¯HTTPæœåŠ¡å³å¯ï¼Œæœ¬æ–‡ä¸æˆ‘ä½¿ç”¨ç¬¬ä¸€ç§æ–¹å¼ã€‚
+å¼€å¯ä¹‹åŽå°†ç¬¬3æ¥ä¸ç”Ÿæˆçš„差分å‡çº§å›ºä»¶ patch.bin ä¸Šä¼ /å¤åˆ¶åˆ°HTTPæœåŠ¡ç›®å½•ä¸ï¼Œç„¶åŽä½¿ç”¨æµè§ˆå™¨è®¿é—®http://<å·²ç»å¼€å¯HTTPæœåŠ¡PCçš„ip,外网ip>:/patch.bin,测试æ£å¸¸èŽ·å–ä¹‹åŽæ–¹å¯è¿›è¡ŒåŽç»æ“作。
+å¼€å¯HTTPæœåС之åŽè®°å¾—å…³é—å„ç§é˜²ç«å¢™ï¼Œæ¯”如Win10网络防ç«å¢™ï¼Œäº‘æœåŠ¡å™¨å®‰å…¨ç»„ç‰ã€‚
+### 4.2 HTTP获å–固件并å‡çº§
+(1)使用STM32CubeMX Prog全片擦除,烧写分区表到0x080ff800;
+(2)修改bootloader程åºï¼ŒåŽ»é™¤æ‰‹åŠ¨è®¾ç½®new_version环境å˜é‡ä»£ç ,编译,下载,**ä¸è¦å¤ä½**:
+
+
+
+(3)修改Actice APP工程(ota_application_download_through_http),开å¯HTTP固件拉å–å’Œå‡çº§åŠŸèƒ½:
+
+打开串å£å¯æŽ¥æ”¶M5313的数æ®ï¼š
+
+修改分区表地å€ï¼Œæ ¹æ®è‡ªå·±çš„外网ipé…置:
+
+修改之åŽç¼–译,下载,**ä¸è¦å¤ä½**。
+特别注æ„ï¼Œæ¤æ—¶0.1版本的程åºå·²ç»è¢«æˆ‘们修改,所以之å‰ç”Ÿæˆçš„patchåŒ…æ— æ³•å®Œæˆå‡çº§ï¼Œé‡æ–°åœ¨0.1版本的基础上修改处0.2版本的程åºï¼Œå¹¶åˆ¶ä½œpatch包。
+é‡å¤ä¸€é之å‰çš„制作æµç¨‹å³å¯ï¼š
+①将当å‰å›ºä»¶æ‹·è´å‡ºæ¥ï¼Œé‡å‘½å为TencentOS_tiny_0_1.bin;
+â‘¡ ä¿®æ”¹æ‰“å°æç¤ºï¼Œè¡¨ç¤ºè¿™æ˜¯0.2版本的程åºï¼š
+printf("do sth(v0.2)...\n");
+â‘¢ 将新固件拷è´å‡ºæ¥å‘½å为TencentOS_tiny_0_2.bin;
+â‘£ 使用diff命令行工具或者å¯è§†åŒ–工具制作差分å‡çº§åŒ…patch.binï¼›
+⑤ 将制作出的差分å‡çº§åŒ…æ‹·è´/ä¸Šä¼ åˆ°HTTPæœåŠ¡å™¨ç›®å½•ï¼›
+æ¤æ—¶ï¼Œä¸€åˆ‡å‡†å¤‡å°±ç»ªï¼Œå¤ä½è®¾å¤‡ï¼Œå³å¯åœ¨ä¸²å£åŠ©æ‰‹ä¸çœ‹åˆ°OTAçš„å‡çº§çŠ¶å†µï¼š
+上电å¯åЍ
+
+ç‰å¾…连接,请求,下载,åŽ
+
+
+
diff --git a/board/BDW01-STM32L496VG/doc/image/board.png b/board/BDW01-STM32L496VG/doc/image/board.png
new file mode 100644
index 00000000..53536254
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/board.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ch340ins01.png b/board/BDW01-STM32L496VG/doc/image/ch340ins01.png
new file mode 100644
index 00000000..0dc70e99
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ch340ins01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ch340ins02.png b/board/BDW01-STM32L496VG/doc/image/ch340ins02.png
new file mode 100644
index 00000000..5fb0191e
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ch340ins02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ch340ins03.png b/board/BDW01-STM32L496VG/doc/image/ch340ins03.png
new file mode 100644
index 00000000..e78f5673
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ch340ins03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec01.png b/board/BDW01-STM32L496VG/doc/image/elec01.png
new file mode 100644
index 00000000..f04b6f04
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec02.png b/board/BDW01-STM32L496VG/doc/image/elec02.png
new file mode 100644
index 00000000..32e59369
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec03.png b/board/BDW01-STM32L496VG/doc/image/elec03.png
new file mode 100644
index 00000000..4350391b
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec04.png b/board/BDW01-STM32L496VG/doc/image/elec04.png
new file mode 100644
index 00000000..29888052
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec04.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec05.png b/board/BDW01-STM32L496VG/doc/image/elec05.png
new file mode 100644
index 00000000..1e48e02a
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec05.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec06.png b/board/BDW01-STM32L496VG/doc/image/elec06.png
new file mode 100644
index 00000000..0b9598a4
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec06.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec07.png b/board/BDW01-STM32L496VG/doc/image/elec07.png
new file mode 100644
index 00000000..fe70e427
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec07.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec08.png b/board/BDW01-STM32L496VG/doc/image/elec08.png
new file mode 100644
index 00000000..39aa188f
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec08.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec09.png b/board/BDW01-STM32L496VG/doc/image/elec09.png
new file mode 100644
index 00000000..e20e656d
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec09.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec10.png b/board/BDW01-STM32L496VG/doc/image/elec10.png
new file mode 100644
index 00000000..58af3e5b
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec10.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec11.png b/board/BDW01-STM32L496VG/doc/image/elec11.png
new file mode 100644
index 00000000..68784b74
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec11.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec12.png b/board/BDW01-STM32L496VG/doc/image/elec12.png
new file mode 100644
index 00000000..46534381
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec12.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec13.png b/board/BDW01-STM32L496VG/doc/image/elec13.png
new file mode 100644
index 00000000..8a12fe54
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec13.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec14.png b/board/BDW01-STM32L496VG/doc/image/elec14.png
new file mode 100644
index 00000000..c6375403
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec14.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec15.png b/board/BDW01-STM32L496VG/doc/image/elec15.png
new file mode 100644
index 00000000..14d3f289
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec15.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec16.png b/board/BDW01-STM32L496VG/doc/image/elec16.png
new file mode 100644
index 00000000..d3c23155
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec16.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec17.png b/board/BDW01-STM32L496VG/doc/image/elec17.png
new file mode 100644
index 00000000..5d68c980
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec17.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec18.png b/board/BDW01-STM32L496VG/doc/image/elec18.png
new file mode 100644
index 00000000..b8150d63
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec18.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec19.png b/board/BDW01-STM32L496VG/doc/image/elec19.png
new file mode 100644
index 00000000..e504d4ca
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec19.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec20.png b/board/BDW01-STM32L496VG/doc/image/elec20.png
new file mode 100644
index 00000000..b550f988
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec20.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec21.png b/board/BDW01-STM32L496VG/doc/image/elec21.png
new file mode 100644
index 00000000..4a4a7595
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec21.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec22.png b/board/BDW01-STM32L496VG/doc/image/elec22.png
new file mode 100644
index 00000000..74633d58
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec22.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec23.png b/board/BDW01-STM32L496VG/doc/image/elec23.png
new file mode 100644
index 00000000..972c476c
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec23.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec24.png b/board/BDW01-STM32L496VG/doc/image/elec24.png
new file mode 100644
index 00000000..0aed1247
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec24.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec25.png b/board/BDW01-STM32L496VG/doc/image/elec25.png
new file mode 100644
index 00000000..2167c185
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec25.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec26.png b/board/BDW01-STM32L496VG/doc/image/elec26.png
new file mode 100644
index 00000000..2d8755ca
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec26.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec27.png b/board/BDW01-STM32L496VG/doc/image/elec27.png
new file mode 100644
index 00000000..ed6743f1
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec27.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec28.png b/board/BDW01-STM32L496VG/doc/image/elec28.png
new file mode 100644
index 00000000..8494f51d
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec28.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/elec29.png b/board/BDW01-STM32L496VG/doc/image/elec29.png
new file mode 100644
index 00000000..4eb4fb4a
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/elec29.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/helloword00.png b/board/BDW01-STM32L496VG/doc/image/helloword00.png
new file mode 100644
index 00000000..3b0df110
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/helloword00.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/helloword01.png b/board/BDW01-STM32L496VG/doc/image/helloword01.png
new file mode 100644
index 00000000..9a450424
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/helloword01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/helloword02.png b/board/BDW01-STM32L496VG/doc/image/helloword02.png
new file mode 100644
index 00000000..a4f33680
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/helloword02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/helloword03.png b/board/BDW01-STM32L496VG/doc/image/helloword03.png
new file mode 100644
index 00000000..037de3df
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/helloword03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot01.png b/board/BDW01-STM32L496VG/doc/image/iot01.png
new file mode 100644
index 00000000..b4440c04
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot02.png b/board/BDW01-STM32L496VG/doc/image/iot02.png
new file mode 100644
index 00000000..32e59369
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot03.png b/board/BDW01-STM32L496VG/doc/image/iot03.png
new file mode 100644
index 00000000..1c507b3e
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot04.png b/board/BDW01-STM32L496VG/doc/image/iot04.png
new file mode 100644
index 00000000..cc09563e
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot04.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot05.png b/board/BDW01-STM32L496VG/doc/image/iot05.png
new file mode 100644
index 00000000..9be3a4ba
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot05.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot06.png b/board/BDW01-STM32L496VG/doc/image/iot06.png
new file mode 100644
index 00000000..e419e7be
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot06.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot07.png b/board/BDW01-STM32L496VG/doc/image/iot07.png
new file mode 100644
index 00000000..d061376f
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot07.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot08.png b/board/BDW01-STM32L496VG/doc/image/iot08.png
new file mode 100644
index 00000000..48e6f303
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot08.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot09.png b/board/BDW01-STM32L496VG/doc/image/iot09.png
new file mode 100644
index 00000000..c9d63eaf
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot09.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot10.png b/board/BDW01-STM32L496VG/doc/image/iot10.png
new file mode 100644
index 00000000..fba594a2
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot10.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot11.png b/board/BDW01-STM32L496VG/doc/image/iot11.png
new file mode 100644
index 00000000..3858ef7f
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot11.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot12.png b/board/BDW01-STM32L496VG/doc/image/iot12.png
new file mode 100644
index 00000000..382b91d0
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot12.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot13.png b/board/BDW01-STM32L496VG/doc/image/iot13.png
new file mode 100644
index 00000000..96a206b3
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot13.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot14.png b/board/BDW01-STM32L496VG/doc/image/iot14.png
new file mode 100644
index 00000000..dd590543
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot14.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot15.png b/board/BDW01-STM32L496VG/doc/image/iot15.png
new file mode 100644
index 00000000..dffa6b2f
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot15.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot16.png b/board/BDW01-STM32L496VG/doc/image/iot16.png
new file mode 100644
index 00000000..14d3f289
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot16.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot17.png b/board/BDW01-STM32L496VG/doc/image/iot17.png
new file mode 100644
index 00000000..3dec621b
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot17.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot18.png b/board/BDW01-STM32L496VG/doc/image/iot18.png
new file mode 100644
index 00000000..ef516f94
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot18.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot19.png b/board/BDW01-STM32L496VG/doc/image/iot19.png
new file mode 100644
index 00000000..164bc7db
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot19.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot20.png b/board/BDW01-STM32L496VG/doc/image/iot20.png
new file mode 100644
index 00000000..b550f988
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot20.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot21.png b/board/BDW01-STM32L496VG/doc/image/iot21.png
new file mode 100644
index 00000000..4a4a7595
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot21.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot22.png b/board/BDW01-STM32L496VG/doc/image/iot22.png
new file mode 100644
index 00000000..74633d58
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot22.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iot23.png b/board/BDW01-STM32L496VG/doc/image/iot23.png
new file mode 100644
index 00000000..4588889a
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iot23.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/iotpl.png b/board/BDW01-STM32L496VG/doc/image/iotpl.png
new file mode 100644
index 00000000..9c91f717
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/iotpl.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/logusb.png b/board/BDW01-STM32L496VG/doc/image/logusb.png
new file mode 100644
index 00000000..0737179d
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/logusb.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkdl01.png b/board/BDW01-STM32L496VG/doc/image/mtkdl01.png
new file mode 100644
index 00000000..b01d7415
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkdl01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkdl02.png b/board/BDW01-STM32L496VG/doc/image/mtkdl02.png
new file mode 100644
index 00000000..d9b545a3
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkdl02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkdl03.png b/board/BDW01-STM32L496VG/doc/image/mtkdl03.png
new file mode 100644
index 00000000..1e879078
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkdl03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkdl04.png b/board/BDW01-STM32L496VG/doc/image/mtkdl04.png
new file mode 100644
index 00000000..6c7c00d1
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkdl04.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkdl05.png b/board/BDW01-STM32L496VG/doc/image/mtkdl05.png
new file mode 100644
index 00000000..ecd5fc87
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkdl05.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkins01.png b/board/BDW01-STM32L496VG/doc/image/mtkins01.png
new file mode 100644
index 00000000..26d47fa9
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkins01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/mtkins02.png b/board/BDW01-STM32L496VG/doc/image/mtkins02.png
new file mode 100644
index 00000000..0ad2af19
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/mtkins02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http01.png b/board/BDW01-STM32L496VG/doc/image/ota-http01.png
new file mode 100644
index 00000000..576b87ec
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http02.png b/board/BDW01-STM32L496VG/doc/image/ota-http02.png
new file mode 100644
index 00000000..e1d25974
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http03.png b/board/BDW01-STM32L496VG/doc/image/ota-http03.png
new file mode 100644
index 00000000..3a7162f2
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http04.png b/board/BDW01-STM32L496VG/doc/image/ota-http04.png
new file mode 100644
index 00000000..0a78c691
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http04.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http05.png b/board/BDW01-STM32L496VG/doc/image/ota-http05.png
new file mode 100644
index 00000000..3108e1db
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http05.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http06.png b/board/BDW01-STM32L496VG/doc/image/ota-http06.png
new file mode 100644
index 00000000..0443171e
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http06.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http07.png b/board/BDW01-STM32L496VG/doc/image/ota-http07.png
new file mode 100644
index 00000000..f4ca69ae
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http07.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http08.png b/board/BDW01-STM32L496VG/doc/image/ota-http08.png
new file mode 100644
index 00000000..3b9c7130
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http08.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http09.png b/board/BDW01-STM32L496VG/doc/image/ota-http09.png
new file mode 100644
index 00000000..117241d8
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http09.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http10.png b/board/BDW01-STM32L496VG/doc/image/ota-http10.png
new file mode 100644
index 00000000..cedafb60
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http10.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http11.png b/board/BDW01-STM32L496VG/doc/image/ota-http11.png
new file mode 100644
index 00000000..ea5b67b2
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http11.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http12.png b/board/BDW01-STM32L496VG/doc/image/ota-http12.png
new file mode 100644
index 00000000..8c585dea
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http12.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http13.png b/board/BDW01-STM32L496VG/doc/image/ota-http13.png
new file mode 100644
index 00000000..ceab9dc7
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http13.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http14.png b/board/BDW01-STM32L496VG/doc/image/ota-http14.png
new file mode 100644
index 00000000..4277f7b8
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http14.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http15.png b/board/BDW01-STM32L496VG/doc/image/ota-http15.png
new file mode 100644
index 00000000..91e6c889
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http15.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http16.png b/board/BDW01-STM32L496VG/doc/image/ota-http16.png
new file mode 100644
index 00000000..31fc616c
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http16.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http17.png b/board/BDW01-STM32L496VG/doc/image/ota-http17.png
new file mode 100644
index 00000000..52b3d2bb
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http17.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http18.png b/board/BDW01-STM32L496VG/doc/image/ota-http18.png
new file mode 100644
index 00000000..30009628
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http18.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http19.png b/board/BDW01-STM32L496VG/doc/image/ota-http19.png
new file mode 100644
index 00000000..665d4f0d
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http19.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http20.png b/board/BDW01-STM32L496VG/doc/image/ota-http20.png
new file mode 100644
index 00000000..ca371be5
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http20.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http21.png b/board/BDW01-STM32L496VG/doc/image/ota-http21.png
new file mode 100644
index 00000000..6b0364ea
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http21.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http22.png b/board/BDW01-STM32L496VG/doc/image/ota-http22.png
new file mode 100644
index 00000000..8e903627
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http22.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http23.png b/board/BDW01-STM32L496VG/doc/image/ota-http23.png
new file mode 100644
index 00000000..a85a85e4
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http23.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http24.png b/board/BDW01-STM32L496VG/doc/image/ota-http24.png
new file mode 100644
index 00000000..0cb0e12f
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http24.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http25.png b/board/BDW01-STM32L496VG/doc/image/ota-http25.png
new file mode 100644
index 00000000..f82c2df7
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http25.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http26.png b/board/BDW01-STM32L496VG/doc/image/ota-http26.png
new file mode 100644
index 00000000..30d9accd
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http26.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http27.png b/board/BDW01-STM32L496VG/doc/image/ota-http27.png
new file mode 100644
index 00000000..6147fee1
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http27.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http28.png b/board/BDW01-STM32L496VG/doc/image/ota-http28.png
new file mode 100644
index 00000000..92ac19d0
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http28.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http29.png b/board/BDW01-STM32L496VG/doc/image/ota-http29.png
new file mode 100644
index 00000000..28bb1b3d
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http29.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http30.png b/board/BDW01-STM32L496VG/doc/image/ota-http30.png
new file mode 100644
index 00000000..76481026
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http30.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/ota-http31.png b/board/BDW01-STM32L496VG/doc/image/ota-http31.png
new file mode 100644
index 00000000..971b1c26
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/ota-http31.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/st-link-dl01.png b/board/BDW01-STM32L496VG/doc/image/st-link-dl01.png
new file mode 100644
index 00000000..47f69ec0
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/st-link-dl01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/st-link-dl02.png b/board/BDW01-STM32L496VG/doc/image/st-link-dl02.png
new file mode 100644
index 00000000..f56b12c4
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/st-link-dl02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/st-link-dl03.png b/board/BDW01-STM32L496VG/doc/image/st-link-dl03.png
new file mode 100644
index 00000000..25c7b885
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/st-link-dl03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/st-link.png b/board/BDW01-STM32L496VG/doc/image/st-link.png
new file mode 100644
index 00000000..d843dac8
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/st-link.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket01.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket01.png
new file mode 100644
index 00000000..bfe238ed
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket01.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket02.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket02.png
new file mode 100644
index 00000000..fbbb4a48
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket02.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket03.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket03.png
new file mode 100644
index 00000000..14d3f289
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket03.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket04.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket04.png
new file mode 100644
index 00000000..f6b544e6
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket04.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket05.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket05.png
new file mode 100644
index 00000000..be0d8ad1
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket05.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket06.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket06.png
new file mode 100644
index 00000000..d25a6c15
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket06.png differ
diff --git a/board/BDW01-STM32L496VG/doc/image/tcpsocket07.png b/board/BDW01-STM32L496VG/doc/image/tcpsocket07.png
new file mode 100644
index 00000000..4af4ef6e
Binary files /dev/null and b/board/BDW01-STM32L496VG/doc/image/tcpsocket07.png differ
diff --git a/board/BDW01-STM32L496VG/doc/source/index.css b/board/BDW01-STM32L496VG/doc/source/index.css
new file mode 100644
index 00000000..a74eb335
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/source/index.css
@@ -0,0 +1,12 @@
+@charset "UTF-8";.card{background:#fff;border-radius:8px;color:#15161a;padding:16px;overflow:hidden;box-sizing:border-box}.card__icon{width:24px;height:24px}.card__title{color:#15161a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card__desc,.card__title{font-size:14px;line-height:20px}.card.card_disabled .card__title,.card__desc{color:#a1a7b2}.card_row{display:flex;flex-direction:row;align-items:center;height:52px}.card_row .card__icon{margin-right:8px}.card_row .card__title{flex-grow:1}.card_row .card__desc{margin-left:8px}.card_column{display:flex;flex-direction:column;min-height:110px}.card_column .card__icon{margin-bottom:12px}.card_column .card__desc{margin-top:2px}
+/*!
+ Ionicons, v4.2.1
+ Created by Ben Sperry for the Ionic Framework, http://ionicons.com/
+ https://twitter.com/benjsperry https://twitter.com/ionicframework
+ MIT License: https://github.com/driftyco/ionicons
+
+ Android-style icons originally built by Google’s
+ Material Design Icons: https://github.com/google/material-design-icons
+ used under CC BY http://creativecommons.org/licenses/by/4.0/
+ Modified icons to fit ionicon’s grid from original.
+*/@font-face{font-family:Ionicons;src:url(https://main.qcloudimg.com/raw/bc491eb9e57c37d082955c2bd168524b.ttf) format("truetype");font-weight:400;font-style:normal}.ion-icon{display:inline-block;text-align:center;vertical-align:middle}.ion,.ion-ios-add-circle-outline:before,.ion-ios-add-circle:before,.ion-ios-add:before,.ion-ios-airplane:before,.ion-ios-alarm:before,.ion-ios-albums:before,.ion-ios-alert:before,.ion-ios-american-football:before,.ion-ios-analytics:before,.ion-ios-aperture:before,.ion-ios-apps:before,.ion-ios-appstore:before,.ion-ios-archive:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-dropdown-circle:before,.ion-ios-arrow-dropdown:before,.ion-ios-arrow-dropleft-circle:before,.ion-ios-arrow-dropleft:before,.ion-ios-arrow-dropright-circle:before,.ion-ios-arrow-dropright:before,.ion-ios-arrow-dropup-circle:before,.ion-ios-arrow-dropup:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-round-back:before,.ion-ios-arrow-round-down:before,.ion-ios-arrow-round-forward:before,.ion-ios-arrow-round-up:before,.ion-ios-arrow-up:before,.ion-ios-at:before,.ion-ios-attach:before,.ion-ios-backspace:before,.ion-ios-barcode:before,.ion-ios-baseball:before,.ion-ios-basket:before,.ion-ios-basketball:before,.ion-ios-battery-charging:before,.ion-ios-battery-dead:before,.ion-ios-battery-full:before,.ion-ios-beaker:before,.ion-ios-bed:before,.ion-ios-beer:before,.ion-ios-bicycle:before,.ion-ios-bluetooth:before,.ion-ios-boat:before,.ion-ios-body:before,.ion-ios-bonfire:before,.ion-ios-book:before,.ion-ios-bookmark:before,.ion-ios-bookmarks:before,.ion-ios-bowtie:before,.ion-ios-briefcase:before,.ion-ios-browsers:before,.ion-ios-brush:before,.ion-ios-bug:before,.ion-ios-build:before,.ion-ios-bulb:before,.ion-ios-bus:before,.ion-ios-business:before,.ion-ios-cafe:before,.ion-ios-calculator:before,.ion-ios-calendar:before,.ion-ios-call:before,.ion-ios-camera:before,.ion-ios-car:before,.ion-ios-card:before,.ion-ios-cart:before,.ion-ios-cash:before,.ion-ios-cellular:before,.ion-ios-chatboxes:before,.ion-ios-chatbubbles:before,.ion-ios-checkbox-outline:before,.ion-ios-checkbox:before,.ion-ios-checkmark-circle-outline:before,.ion-ios-checkmark-circle:before,.ion-ios-checkmark:before,.ion-ios-clipboard:before,.ion-ios-clock:before,.ion-ios-close-circle-outline:before,.ion-ios-close-circle:before,.ion-ios-close:before,.ion-ios-cloud-circle:before,.ion-ios-cloud-done:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloud:before,.ion-ios-cloudy-night:before,.ion-ios-cloudy:before,.ion-ios-code-download:before,.ion-ios-code-working:before,.ion-ios-code:before,.ion-ios-cog:before,.ion-ios-color-fill:before,.ion-ios-color-filter:before,.ion-ios-color-palette:before,.ion-ios-color-wand:before,.ion-ios-compass:before,.ion-ios-construct:before,.ion-ios-contact:before,.ion-ios-contacts:before,.ion-ios-contract:before,.ion-ios-contrast:before,.ion-ios-copy:before,.ion-ios-create:before,.ion-ios-crop:before,.ion-ios-cube:before,.ion-ios-cut:before,.ion-ios-desktop:before,.ion-ios-disc:before,.ion-ios-document:before,.ion-ios-done-all:before,.ion-ios-download:before,.ion-ios-easel:before,.ion-ios-egg:before,.ion-ios-exit:before,.ion-ios-expand:before,.ion-ios-eye-off:before,.ion-ios-eye:before,.ion-ios-fastforward:before,.ion-ios-female:before,.ion-ios-filing:before,.ion-ios-film:before,.ion-ios-finger-print:before,.ion-ios-fitness:before,.ion-ios-flag:before,.ion-ios-flame:before,.ion-ios-flash-off:before,.ion-ios-flash:before,.ion-ios-flashlight:before,.ion-ios-flask:before,.ion-ios-flower:before,.ion-ios-folder-open:before,.ion-ios-folder:before,.ion-ios-football:before,.ion-ios-funnel:before,.ion-ios-gift:before,.ion-ios-git-branch:before,.ion-ios-git-commit:before,.ion-ios-git-compare:before,.ion-ios-git-merge:before,.ion-ios-git-network:before,.ion-ios-git-pull-request:before,.ion-ios-glasses:before,.ion-ios-globe:before,.ion-ios-grid:before,.ion-ios-hammer:before,.ion-ios-hand:before,.ion-ios-happy:before,.ion-ios-headset:before,.ion-ios-heart-dislike:before,.ion-ios-heart-empty:before,.ion-ios-heart-half:before,.ion-ios-heart:before,.ion-ios-help-buoy:before,.ion-ios-help-circle-outline:before,.ion-ios-help-circle:before,.ion-ios-help:before,.ion-ios-home:before,.ion-ios-hourglass:before,.ion-ios-ice-cream:before,.ion-ios-image:before,.ion-ios-images:before,.ion-ios-infinite:before,.ion-ios-information-circle-outline:before,.ion-ios-information-circle:before,.ion-ios-information:before,.ion-ios-jet:before,.ion-ios-journal:before,.ion-ios-key:before,.ion-ios-keypad:before,.ion-ios-laptop:before,.ion-ios-leaf:before,.ion-ios-link:before,.ion-ios-list-box:before,.ion-ios-list:before,.ion-ios-locate:before,.ion-ios-lock:before,.ion-ios-log-in:before,.ion-ios-log-out:before,.ion-ios-magnet:before,.ion-ios-mail-open:before,.ion-ios-mail-unread:before,.ion-ios-mail:before,.ion-ios-male:before,.ion-ios-man:before,.ion-ios-map:before,.ion-ios-medal:before,.ion-ios-medical:before,.ion-ios-medkit:before,.ion-ios-megaphone:before,.ion-ios-menu:before,.ion-ios-mic-off:before,.ion-ios-mic:before,.ion-ios-microphone:before,.ion-ios-moon:before,.ion-ios-more:before,.ion-ios-move:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate:before,.ion-ios-notifications-off:before,.ion-ios-notifications-outline:before,.ion-ios-notifications:before,.ion-ios-nuclear:before,.ion-ios-nutrition:before,.ion-ios-open:before,.ion-ios-options:before,.ion-ios-outlet:before,.ion-ios-paper-plane:before,.ion-ios-paper:before,.ion-ios-partly-sunny:before,.ion-ios-pause:before,.ion-ios-paw:before,.ion-ios-people:before,.ion-ios-person-add:before,.ion-ios-person:before,.ion-ios-phone-landscape:before,.ion-ios-phone-portrait:before,.ion-ios-photos:before,.ion-ios-pie:before,.ion-ios-pin:before,.ion-ios-pint:before,.ion-ios-pizza:before,.ion-ios-planet:before,.ion-ios-play-circle:before,.ion-ios-play:before,.ion-ios-podium:before,.ion-ios-power:before,.ion-ios-pricetag:before,.ion-ios-pricetags:before,.ion-ios-print:before,.ion-ios-pulse:before,.ion-ios-qr-scanner:before,.ion-ios-quote:before,.ion-ios-radio-button-off:before,.ion-ios-radio-button-on:before,.ion-ios-radio:before,.ion-ios-rainy:before,.ion-ios-recording:before,.ion-ios-redo:before,.ion-ios-refresh-circle:before,.ion-ios-refresh:before,.ion-ios-remove-circle-outline:before,.ion-ios-remove-circle:before,.ion-ios-remove:before,.ion-ios-reorder:before,.ion-ios-repeat:before,.ion-ios-resize:before,.ion-ios-restaurant:before,.ion-ios-return-left:before,.ion-ios-return-right:before,.ion-ios-reverse-camera:before,.ion-ios-rewind:before,.ion-ios-ribbon:before,.ion-ios-rocket:before,.ion-ios-rose:before,.ion-ios-sad:before,.ion-ios-save:before,.ion-ios-school:before,.ion-ios-search:before,.ion-ios-send:before,.ion-ios-settings:before,.ion-ios-share-alt:before,.ion-ios-share:before,.ion-ios-shirt:before,.ion-ios-shuffle:before,.ion-ios-skip-backward:before,.ion-ios-skip-forward:before,.ion-ios-snow:before,.ion-ios-speedometer:before,.ion-ios-square-outline:before,.ion-ios-square:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-star:before,.ion-ios-stats:before,.ion-ios-stopwatch:before,.ion-ios-subway:before,.ion-ios-sunny:before,.ion-ios-swap:before,.ion-ios-switch:before,.ion-ios-sync:before,.ion-ios-tablet-landscape:before,.ion-ios-tablet-portrait:before,.ion-ios-tennisball:before,.ion-ios-text:before,.ion-ios-thermometer:before,.ion-ios-thumbs-down:before,.ion-ios-thumbs-up:before,.ion-ios-thunderstorm:before,.ion-ios-time:before,.ion-ios-timer:before,.ion-ios-today:before,.ion-ios-train:before,.ion-ios-transgender:before,.ion-ios-trash:before,.ion-ios-trending-down:before,.ion-ios-trending-up:before,.ion-ios-trophy:before,.ion-ios-tv:before,.ion-ios-umbrella:before,.ion-ios-undo:before,.ion-ios-unlock:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-volume-mute:before,.ion-ios-volume-off:before,.ion-ios-walk:before,.ion-ios-wallet:before,.ion-ios-warning:before,.ion-ios-watch:before,.ion-ios-water:before,.ion-ios-wifi:before,.ion-ios-wine:before,.ion-ios-woman:before,.ion-logo-android:before,.ion-logo-angular:before,.ion-logo-apple:before,.ion-logo-bitbucket:before,.ion-logo-bitcoin:before,.ion-logo-buffer:before,.ion-logo-chrome:before,.ion-logo-closed-captioning:before,.ion-logo-codepen:before,.ion-logo-css3:before,.ion-logo-designernews:before,.ion-logo-dribbble:before,.ion-logo-dropbox:before,.ion-logo-euro:before,.ion-logo-facebook:before,.ion-logo-flickr:before,.ion-logo-foursquare:before,.ion-logo-freebsd-devil:before,.ion-logo-game-controller-a:before,.ion-logo-game-controller-b:before,.ion-logo-github:before,.ion-logo-google:before,.ion-logo-googleplus:before,.ion-logo-hackernews:before,.ion-logo-html5:before,.ion-logo-instagram:before,.ion-logo-ionic:before,.ion-logo-ionitron:before,.ion-logo-javascript:before,.ion-logo-linkedin:before,.ion-logo-markdown:before,.ion-logo-model-s:before,.ion-logo-no-smoking:before,.ion-logo-nodejs:before,.ion-logo-npm:before,.ion-logo-octocat:before,.ion-logo-pinterest:before,.ion-logo-playstation:before,.ion-logo-polymer:before,.ion-logo-python:before,.ion-logo-reddit:before,.ion-logo-rss:before,.ion-logo-sass:before,.ion-logo-skype:before,.ion-logo-slack:before,.ion-logo-snapchat:before,.ion-logo-steam:before,.ion-logo-tumblr:before,.ion-logo-tux:before,.ion-logo-twitch:before,.ion-logo-twitter:before,.ion-logo-usd:before,.ion-logo-vimeo:before,.ion-logo-vk:before,.ion-logo-whatsapp:before,.ion-logo-windows:before,.ion-logo-wordpress:before,.ion-logo-xbox:before,.ion-logo-xing:before,.ion-logo-yahoo:before,.ion-logo-yen:before,.ion-logo-youtube:before,.ion-md-add-circle-outline:before,.ion-md-add-circle:before,.ion-md-add:before,.ion-md-airplane:before,.ion-md-alarm:before,.ion-md-albums:before,.ion-md-alert:before,.ion-md-american-football:before,.ion-md-analytics:before,.ion-md-aperture:before,.ion-md-apps:before,.ion-md-appstore:before,.ion-md-archive:before,.ion-md-arrow-back:before,.ion-md-arrow-down:before,.ion-md-arrow-dropdown-circle:before,.ion-md-arrow-dropdown:before,.ion-md-arrow-dropleft-circle:before,.ion-md-arrow-dropleft:before,.ion-md-arrow-dropright-circle:before,.ion-md-arrow-dropright:before,.ion-md-arrow-dropup-circle:before,.ion-md-arrow-dropup:before,.ion-md-arrow-forward:before,.ion-md-arrow-round-back:before,.ion-md-arrow-round-down:before,.ion-md-arrow-round-forward:before,.ion-md-arrow-round-up:before,.ion-md-arrow-up:before,.ion-md-at:before,.ion-md-attach:before,.ion-md-backspace:before,.ion-md-barcode:before,.ion-md-baseball:before,.ion-md-basket:before,.ion-md-basketball:before,.ion-md-battery-charging:before,.ion-md-battery-dead:before,.ion-md-battery-full:before,.ion-md-beaker:before,.ion-md-bed:before,.ion-md-beer:before,.ion-md-bicycle:before,.ion-md-bluetooth:before,.ion-md-boat:before,.ion-md-body:before,.ion-md-bonfire:before,.ion-md-book:before,.ion-md-bookmark:before,.ion-md-bookmarks:before,.ion-md-bowtie:before,.ion-md-briefcase:before,.ion-md-browsers:before,.ion-md-brush:before,.ion-md-bug:before,.ion-md-build:before,.ion-md-bulb:before,.ion-md-bus:before,.ion-md-business:before,.ion-md-cafe:before,.ion-md-calculator:before,.ion-md-calendar:before,.ion-md-call:before,.ion-md-camera:before,.ion-md-car:before,.ion-md-card:before,.ion-md-cart:before,.ion-md-cash:before,.ion-md-cellular:before,.ion-md-chatboxes:before,.ion-md-chatbubbles:before,.ion-md-checkbox-outline:before,.ion-md-checkbox:before,.ion-md-checkmark-circle-outline:before,.ion-md-checkmark-circle:before,.ion-md-checkmark:before,.ion-md-clipboard:before,.ion-md-clock:before,.ion-md-close-circle-outline:before,.ion-md-close-circle:before,.ion-md-close:before,.ion-md-cloud-circle:before,.ion-md-cloud-done:before,.ion-md-cloud-download:before,.ion-md-cloud-outline:before,.ion-md-cloud-upload:before,.ion-md-cloud:before,.ion-md-cloudy-night:before,.ion-md-cloudy:before,.ion-md-code-download:before,.ion-md-code-working:before,.ion-md-code:before,.ion-md-cog:before,.ion-md-color-fill:before,.ion-md-color-filter:before,.ion-md-color-palette:before,.ion-md-color-wand:before,.ion-md-compass:before,.ion-md-construct:before,.ion-md-contact:before,.ion-md-contacts:before,.ion-md-contract:before,.ion-md-contrast:before,.ion-md-copy:before,.ion-md-create:before,.ion-md-crop:before,.ion-md-cube:before,.ion-md-cut:before,.ion-md-desktop:before,.ion-md-disc:before,.ion-md-document:before,.ion-md-done-all:before,.ion-md-download:before,.ion-md-easel:before,.ion-md-egg:before,.ion-md-exit:before,.ion-md-expand:before,.ion-md-eye-off:before,.ion-md-eye:before,.ion-md-fastforward:before,.ion-md-female:before,.ion-md-filing:before,.ion-md-film:before,.ion-md-finger-print:before,.ion-md-fitness:before,.ion-md-flag:before,.ion-md-flame:before,.ion-md-flash-off:before,.ion-md-flash:before,.ion-md-flashlight:before,.ion-md-flask:before,.ion-md-flower:before,.ion-md-folder-open:before,.ion-md-folder:before,.ion-md-football:before,.ion-md-funnel:before,.ion-md-gift:before,.ion-md-git-branch:before,.ion-md-git-commit:before,.ion-md-git-compare:before,.ion-md-git-merge:before,.ion-md-git-network:before,.ion-md-git-pull-request:before,.ion-md-glasses:before,.ion-md-globe:before,.ion-md-grid:before,.ion-md-hammer:before,.ion-md-hand:before,.ion-md-happy:before,.ion-md-headset:before,.ion-md-heart-dislike:before,.ion-md-heart-empty:before,.ion-md-heart-half:before,.ion-md-heart:before,.ion-md-help-buoy:before,.ion-md-help-circle-outline:before,.ion-md-help-circle:before,.ion-md-help:before,.ion-md-home:before,.ion-md-hourglass:before,.ion-md-ice-cream:before,.ion-md-image:before,.ion-md-images:before,.ion-md-infinite:before,.ion-md-information-circle-outline:before,.ion-md-information-circle:before,.ion-md-information:before,.ion-md-jet:before,.ion-md-journal:before,.ion-md-key:before,.ion-md-keypad:before,.ion-md-laptop:before,.ion-md-leaf:before,.ion-md-link:before,.ion-md-list-box:before,.ion-md-list:before,.ion-md-locate:before,.ion-md-lock:before,.ion-md-log-in:before,.ion-md-log-out:before,.ion-md-magnet:before,.ion-md-mail-open:before,.ion-md-mail-unread:before,.ion-md-mail:before,.ion-md-male:before,.ion-md-man:before,.ion-md-map:before,.ion-md-medal:before,.ion-md-medical:before,.ion-md-medkit:before,.ion-md-megaphone:before,.ion-md-menu:before,.ion-md-mic-off:before,.ion-md-mic:before,.ion-md-microphone:before,.ion-md-moon:before,.ion-md-more:before,.ion-md-move:before,.ion-md-musical-note:before,.ion-md-musical-notes:before,.ion-md-navigate:before,.ion-md-notifications-off:before,.ion-md-notifications-outline:before,.ion-md-notifications:before,.ion-md-nuclear:before,.ion-md-nutrition:before,.ion-md-open:before,.ion-md-options:before,.ion-md-outlet:before,.ion-md-paper-plane:before,.ion-md-paper:before,.ion-md-partly-sunny:before,.ion-md-pause:before,.ion-md-paw:before,.ion-md-people:before,.ion-md-person-add:before,.ion-md-person:before,.ion-md-phone-landscape:before,.ion-md-phone-portrait:before,.ion-md-photos:before,.ion-md-pie:before,.ion-md-pin:before,.ion-md-pint:before,.ion-md-pizza:before,.ion-md-planet:before,.ion-md-play-circle:before,.ion-md-play:before,.ion-md-podium:before,.ion-md-power:before,.ion-md-pricetag:before,.ion-md-pricetags:before,.ion-md-print:before,.ion-md-pulse:before,.ion-md-qr-scanner:before,.ion-md-quote:before,.ion-md-radio-button-off:before,.ion-md-radio-button-on:before,.ion-md-radio:before,.ion-md-rainy:before,.ion-md-recording:before,.ion-md-redo:before,.ion-md-refresh-circle:before,.ion-md-refresh:before,.ion-md-remove-circle-outline:before,.ion-md-remove-circle:before,.ion-md-remove:before,.ion-md-reorder:before,.ion-md-repeat:before,.ion-md-resize:before,.ion-md-restaurant:before,.ion-md-return-left:before,.ion-md-return-right:before,.ion-md-reverse-camera:before,.ion-md-rewind:before,.ion-md-ribbon:before,.ion-md-rocket:before,.ion-md-rose:before,.ion-md-sad:before,.ion-md-save:before,.ion-md-school:before,.ion-md-search:before,.ion-md-send:before,.ion-md-settings:before,.ion-md-share-alt:before,.ion-md-share:before,.ion-md-shirt:before,.ion-md-shuffle:before,.ion-md-skip-backward:before,.ion-md-skip-forward:before,.ion-md-snow:before,.ion-md-speedometer:before,.ion-md-square-outline:before,.ion-md-square:before,.ion-md-star-half:before,.ion-md-star-outline:before,.ion-md-star:before,.ion-md-stats:before,.ion-md-stopwatch:before,.ion-md-subway:before,.ion-md-sunny:before,.ion-md-swap:before,.ion-md-switch:before,.ion-md-sync:before,.ion-md-tablet-landscape:before,.ion-md-tablet-portrait:before,.ion-md-tennisball:before,.ion-md-text:before,.ion-md-thermometer:before,.ion-md-thumbs-down:before,.ion-md-thumbs-up:before,.ion-md-thunderstorm:before,.ion-md-time:before,.ion-md-timer:before,.ion-md-today:before,.ion-md-train:before,.ion-md-transgender:before,.ion-md-trash:before,.ion-md-trending-down:before,.ion-md-trending-up:before,.ion-md-trophy:before,.ion-md-tv:before,.ion-md-umbrella:before,.ion-md-undo:before,.ion-md-unlock:before,.ion-md-videocam:before,.ion-md-volume-high:before,.ion-md-volume-low:before,.ion-md-volume-mute:before,.ion-md-volume-off:before,.ion-md-walk:before,.ion-md-wallet:before,.ion-md-warning:before,.ion-md-watch:before,.ion-md-water:before,.ion-md-wifi:before,.ion-md-wine:before,.ion-md-woman:before,.ionicons{display:inline-block;font-family:Ionicons;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-airplane:before{content:"\f137"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-alert:before{content:"\f104"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f125"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f129"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f12b"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f12d"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-bed:before{content:"\f139"}.ion-ios-beer:before{content:"\f126"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-brush:before{content:"\f132"}.ion-ios-bug:before{content:"\f134"}.ion-ios-build:before{content:"\f136"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-business:before{content:"\f1a3"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-call:before{content:"\f13e"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-car:before{content:"\f140"}.ion-ios-card:before{content:"\f142"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cellular:before{content:"\f13d"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clock:before{content:"\f403"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-create:before{content:"\f165"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-document:before{content:"\f170"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-easel:before{content:"\f173"}.ion-ios-egg:before{content:"\f175"}.ion-ios-exit:before{content:"\f177"}.ion-ios-expand:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-female:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-film:before{content:"\f42b"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-fitness:before{content:"\f1ab"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-off:before{content:"\f12f"}.ion-ios-flashlight:before{content:"\f141"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flower:before{content:"\f433"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-football:before{content:"\f437"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-gift:before{content:"\f191"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hand:before{content:"\f190"}.ion-ios-happy:before{content:"\f192"}.ion-ios-headset:before{content:"\f194"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-dislike:before{content:"\f13f"}.ion-ios-heart-empty:before{content:"\f19b"}.ion-ios-heart-half:before{content:"\f19d"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-home:before{content:"\f448"}.ion-ios-hourglass:before{content:"\f103"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-image:before{content:"\f19c"}.ion-ios-images:before{content:"\f19e"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-journal:before{content:"\f189"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-link:before{content:"\f22a"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f143"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-unread:before{content:"\f145"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-moon:before{content:"\f468"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-outline:before{content:"\f133"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-pause:before{content:"\f478"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-people:before{content:"\f47c"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-circle:before{content:"\f113"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-recording:before{content:"\f497"}.ion-ios-redo:before{content:"\f499"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f135"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-rocket:before{content:"\f14b"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-sad:before{content:"\f207"}.ion-ios-save:before{content:"\f1a6"}.ion-ios-school:before{content:"\f209"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-send:before{content:"\f20c"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-snow:before{content:"\f218"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f15c"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-sync:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-text:before{content:"\f250"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-today:before{content:"\f14f"}.ion-ios-train:before{content:"\f258"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-tv:before{content:"\f115"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-volume-high:before{content:"\f11c"}.ion-ios-volume-low:before{content:"\f11e"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-walk:before{content:"\f266"}.ion-ios-wallet:before{content:"\f18b"}.ion-ios-warning:before{content:"\f268"}.ion-ios-watch:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-woman:before{content:"\f271"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitbucket:before{content:"\f193"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-closed-captioning:before{content:"\f105"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-flickr:before{content:"\f107"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-game-controller-a:before{content:"\f13b"}.ion-logo-game-controller-b:before{content:"\f181"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-ionic:before{content:"\f150"}.ion-logo-ionitron:before{content:"\f151"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-model-s:before{content:"\f153"}.ion-logo-no-smoking:before{content:"\f109"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-npm:before{content:"\f195"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-polymer:before{content:"\f15e"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-slack:before{content:"\f10b"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-vk:before{content:"\f10d"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-xing:before{content:"\f10f"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-add-circle-outline:before{content:"\f158"}.ion-md-airplane:before{content:"\f15a"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-bed:before{content:"\f160"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-business:before{content:"\f1a4"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-cellular:before{content:"\f164"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-close-circle-outline:before{content:"\f166"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-fitness:before{content:"\f1ac"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flash-off:before{content:"\f169"}.ion-md-flashlight:before{content:"\f16b"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-gift:before{content:"\f199"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-dislike:before{content:"\f167"}.ion-md-heart-empty:before{content:"\f1a1"}.ion-md-heart-half:before{content:"\f1a2"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-help-circle-outline:before{content:"\f16d"}.ion-md-home:before{content:"\f30c"}.ion-md-hourglass:before{content:"\f111"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-information-circle-outline:before{content:"\f16f"}.ion-md-jet:before{content:"\f315"}.ion-md-journal:before{content:"\f18d"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-mail-unread:before{content:"\f172"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-play-circle:before{content:"\f174"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-remove-circle-outline:before{content:"\f176"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rocket:before{content:"\f179"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-save:before{content:"\f1a9"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-today:before{content:"\f17d"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-tv:before{content:"\f17f"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-high:before{content:"\f123"}.ion-md-volume-low:before{content:"\f131"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-walk:before{content:"\f3a4"}.ion-md-wallet:before{content:"\f18f"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"}.head-bool-panel{text-align:center;padding-top:80px;margin-bottom:51px}.head-bool-panel .power-switch{position:relative;margin:0 auto 24px;width:220px;height:220px;border-radius:220px;background-image:linear-gradient(134deg,#eceef3,#d7d9df);display:flex;justify-content:center;align-items:center}.head-bool-panel .power-switch .power-switch-body{position:relative;z-index:2;display:flex;justify-content:center;align-items:center;width:180px;height:180px;border-radius:180px;background-image:linear-gradient(-45deg,#e7e9f0,#fff);box-shadow:0 25px 25px 0 rgba(0,0,0,.05)}.head-bool-panel .power-switch .power-switch-icon{width:36px;height:36px;background-size:36px 36px;background-repeat:no-repeat;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='72' height='72' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M55.64 5.85C65.887 12.537 72 23.808 72 36c0 19.852-16.15 36-36 36C16.149 72 0 55.852 0 36 0 23.808 6.117 12.537 16.362 5.85a3.004 3.004 0 014.152.873 3.004 3.004 0 01-.873 4.152C11.1 16.45 6 25.842 6 36c0 16.545 13.458 30 30 30s30-13.455 30-30c0-10.158-5.1-19.55-13.638-25.125a2.998 2.998 0 01-.873-4.152 3.004 3.004 0 014.152-.873zM36 0c1.656 0 3 1.443 3 3.222v26.166c0 1.78-1.344 3.222-3 3.222s-3-1.443-3-3.222V3.222C33 1.443 34.344 0 36 0z' fill='%2306F' fill-rule='nonzero'/%3E%3C/svg%3E")}.head-bool-panel .power-switch.off .power-switch-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='72' height='72' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M55.64 5.85C65.887 12.537 72 23.808 72 36c0 19.852-16.15 36-36 36C16.149 72 0 55.852 0 36 0 23.808 6.117 12.537 16.362 5.85a3.004 3.004 0 014.152.873 3.004 3.004 0 01-.873 4.152C11.1 16.45 6 25.842 6 36c0 16.545 13.458 30 30 30s30-13.455 30-30c0-10.158-5.1-19.55-13.638-25.125a2.998 2.998 0 01-.873-4.152 3.004 3.004 0 014.152-.873zM36 0c1.656 0 3 1.443 3 3.222v26.166c0 1.78-1.344 3.222-3 3.222s-3-1.443-3-3.222V3.222C33 1.443 34.344 0 36 0z' fill='%236C7078' fill-rule='nonzero'/%3E%3C/svg%3E")}.head-bool-panel .bool-panel-content{font-size:14px;color:#6c7078;letter-spacing:0;text-align:center;line-height:20px}.head-bool-panel.disabled .bool-panel-content{color:#a1a7b2}.head-enum-panel{text-align:center;margin-bottom:84px}.head-enum-panel .enum-value{font-weight:500;font-size:50px;color:#000;padding-top:88px}.head-enum-panel .enum-name{margin-top:2px;font-size:18px;color:#000;text-align:center;line-height:30px}.head-enum-panel .enum-list{text-align:left;white-space:nowrap;height:70px;margin-top:51px;overflow-x:scroll;scrollbar-width:none}.head-enum-panel .enum-list::-webkit-scrollbar{display:none}.head-enum-panel .enum-list .enum-item{position:relative;white-space:normal;display:inline-block;width:70px;height:70px;text-align:center;margin-right:12px;vertical-align:middle;z-index:1;background-image:url(https://main.qcloudimg.com/raw/6a2f6a6784d19ff20ba9f9ead291fe76.svg);background-size:100%;background-repeat:no-repeat}.head-enum-panel .enum-list .enum-item .enum-item-content{height:100%;width:100%;display:flex;justify-content:center;align-items:center;font-size:14px;color:#888;letter-spacing:0}.head-enum-panel .enum-list .enum-item.need-hover.hover:before{border-radius:100%}.head-enum-panel .enum-list .enum-item:first-of-type{margin-left:24px}.head-enum-panel .enum-list .enum-item:last-of-type{margin-right:24px}.head-enum-panel .enum-list .enum-item.actived{background-image:url(https://main.qcloudimg.com/raw/92510d5ab3d67d52e96159c83c1c49a1.svg)}.head-enum-panel .enum-list .enum-item.actived .enum-item-content{color:#fff}.head-enum-panel.disabled .enum-name,.head-enum-panel.disabled .enum-value{opacity:.5}.head-enum-panel.disabled .enum-list .enum-item.actived{background-image:url(https://main.qcloudimg.com/raw/c1b4843c20168a9b53ee8cf674be0361.svg)}.head-number-panel{text-align:center;padding-top:38px;margin-bottom:27.5px}.head-number-panel .number-info{display:inline-block;font-size:14px;color:#15161a;text-align:center;line-height:18px}.head-number-panel .number-info .number-name{padding-right:6px}.head-number-panel .number-info .number-unit,.head-number-panel .number-info .number-value{font-family:TCloudNumber-Regular}.head-number-panel .number-control{margin-top:27.5px;text-align:center;position:relative}.head-number-panel .number-control .number-control-content{display:block;width:128px;height:280px;margin:0 auto;position:relative}.head-number-panel .number-control .number-control-content .number-mark{width:16px;height:280px;background-image:url(https://main.qcloudimg.com/raw/d63f703fc78112f530cad776cf09a514/number-mark.svg);background-repeat:no-repeat;background-size:100%;position:absolute;top:0;left:-36px}.head-number-panel .number-control .number-control-content .number-range{height:100%;position:absolute;top:0;right:176px;display:flex;flex-direction:column;justify-content:space-between;font-family:TCloudNumber-Regular;font-size:12px;color:#c2c5cc;letter-spacing:0;text-align:right;line-height:18px}.head-number-panel .number-control .number-control-content .number-range .number-max{margin-top:-9px}.head-number-panel .number-control .number-control-content .number-range .number-min{margin-bottom:-9px}.head-number-panel .number-control .number-control-content .number-range .number-value-hint{position:absolute;transform:translateY(50%);right:0;z-index:1;background:#15161a;border-radius:13.25px;font-family:TCloudNumber-Regular;font-size:14px;color:#fff;line-height:19.5px;padding:1.5px 7.5px;min-width:40px;text-align:center;box-sizing:border-box}.head-number-panel .number-control .number-control-content .number-bar{width:100%;height:280px;position:absolute;z-index:5;top:0;left:0;background-image:linear-gradient(180deg,#e0e2e7,#e1e2e5);border-radius:12px;overflow:hidden;touch-action:none}.head-number-panel .number-control .number-control-content .number-bar ::-webkit-scrollbar{display:none;width:0;height:0;color:transparent}.head-number-panel .number-control .number-control-content .number-bar .number-track{width:100%;height:100%;border-radius:0 0 12px 12px}.head-number-panel .number-control .number-control-content .number-bar .number-track.under{background-image:linear-gradient(135deg,#3d8bff,#06f);border-radius:0 0 12px 12px;height:100%;position:relative}.head-number-panel .number-control .number-control-content .number-bar .number-track.upper{height:100%}.head-number-panel .number-control .number-control-content .number-handler{position:absolute;left:50%;top:7px;transform:translateX(-50%);background-image:url(https://main.qcloudimg.com/raw/3b19161ca00b182342e377a5b0eb0679/number-handler.svg);background-repeat:no-repeat;width:35px;height:3px;background-size:100%}.head-number-panel.disabled .number-info{color:#a1a7b2}.head-number-panel.disabled .number-control .number-control-content .number-range{color:#c2c5cc}.head-number-panel.disabled .number-control .number-control-content .number-bar{background-image:linear-gradient(180deg,#e0e2e7,#e1e2e5)}.head-number-panel.disabled .number-control .number-control-content .number-bar .number-track.under{background-image:none;background:#ccd0da}.btn{position:relative;height:40px;line-height:38px;text-align:center;box-sizing:border-box;border-radius:20px;overflow:hidden;font-size:16px;border:1px solid transparent}.btn.standalone{margin:24px 16px 0}.btn .btn-icon{width:18px;height:18px;margin-right:10px;vertical-align:middle}.btn .btn-text{vertical-align:middle;font-size:16px}.btn.disabled{background-image:none;background-color:#d6d8dc;color:#fff;border-color:transparent}.btn.btn-primary{background-image:linear-gradient(135deg,#3d8bff,#06f);color:#fff}.btn.btn-primary.reverse{background-image:none;background-color:#fff;color:#06f}.btn.btn-primary.transparent{background-image:none;background-color:transparent;border-color:#06f}.btn.btn-primary.disabled{background-image:none;background-color:#d6d8dc;color:#fff;border-color:transparent}.btn.btn-danger{background-image:linear-gradient(135deg,#fd8989,#fa5151);color:#fff}.btn.btn-danger.reverse{background-image:none;background-color:#fff;color:#fa5151}.btn.btn-danger.transparent{background-image:none;background-color:transparent;border-color:#fa5151}.btn.btn-danger.disabled{background-image:none;background-color:#d6d8dc;color:#fff;border-color:transparent}.btn.btn-cancel{background:#f3f3f5;color:#06f}.btn.btn-cancel.disabled{background-image:none;background-color:#d6d8dc;color:#fff;border-color:transparent}.btn.btn-link{display:inline-block;font-size:14px;color:#06f;letter-spacing:0;line-height:18px;height:auto;padding:0;border-radius:0;vertical-align:middle}.btn.btn-link.link-hover{color:#66a3ff}.btn-group{box-sizing:border-box}.btn-group.fixed-bottom{position:fixed;bottom:0;left:0;width:100%}.btn-group.btn-layout-flex{display:flex}.btn-group.btn-layout-flex.standalone{padding:24px 30px 0}.btn-group.btn-layout-flex.fixed-bottom{padding:8px 30px 50px}.btn-group.btn-layout-flex .btn{flex:1;margin-right:30px}.btn-group.btn-layout-flex .btn:last-of-type{margin:0}.btn-group.btn-layout-vertical.standalone{padding:24px 16px 0}.btn-group.btn-layout-vertical.fixed-bottom{padding:8px 16px 50px}.btn-group.btn-layout-vertical .btn{margin-bottom:14px}.btn-group.btn-layout-vertical .btn:last-of-type{margin:0}.btn-group.confirm-btn-group{padding:0 30px}.modal-container{display:none;opacity:0;z-index:5000;position:fixed;width:100%;height:100%;top:0;left:0}.modal-container.modal-active{display:block;opacity:1;transition:opacity .2s ease-in}.modal-mask{position:absolute;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.6)}.modal{position:absolute;top:50%;left:50%;border-radius:8px;transform:translate(-50%,-50%);background-color:#fff;text-align:center;overflow:hidden;width:280px}.modal .modal-divider{height:8px;background-color:#f5f5f5}.modal .modal-header{position:relative}.modal .modal-header .back-btn{position:absolute;left:0;top:50%;transform:translateY(-50%);padding-left:21px;padding-right:21px;height:100%;display:flex;align-items:center}.modal .modal-header .back-btn .back-btn-icon{width:8.5px;height:15px}.modal .modal-header .modal-title{font-weight:600;font-size:16px;color:#15161a;text-align:center;line-height:28px;padding-top:20px;padding-bottom:20px}.modal .modal-body .modal-message{width:233px;text-align:center;margin:0 auto 20px;font-size:14px;color:#6c7078;line-height:20px}.modal .modal-footer .footer-confirm-btn-group{display:flex}.modal .modal-footer .footer-confirm-btn-group .modal-footer-btn{box-sizing:border-box;border-top:.5px solid #e7e8eb;flex:1;height:48px;line-height:48px;text-align:center;border-radius:0;font-size:16px;border-right:.5px solid #e7e8eb}.modal .modal-footer .footer-confirm-btn-group .modal-footer-btn.no-border{border:none}.modal .modal-footer .footer-confirm-btn-group .modal-footer-btn:last-of-type{border-right:none}.modal .modal-footer .btn-group.confirm-btn-group{padding-top:8px;padding-bottom:8px}.modal-container.modal-fixed-bottom .modal{position:fixed;top:auto;left:0;bottom:0;width:100%;border-radius:12px 12px 0 0;transform:none}.modal-container.modal-fixed-bottom .modal.ipx{padding-bottom:34px}.modal-container.modal-fixed-bottom .modal .modal-header{min-height:48px;display:flex;align-items:center;justify-content:center;border-bottom:.5px solid #e7e8eb}.modal-container.modal-fixed-bottom .modal .modal-header .modal-title{padding:0}.enum-modal{max-height:85vh;display:flex;flex-direction:column}.enum-modal .modal-body{overflow-y:auto}.enum-modal .checkbox-group{background-color:#fff;padding:40px 30px}.enum-modal .checkbox-group .checkbox-item{height:48px;background-color:#f3f3f5;border-radius:8px;margin-bottom:12px;display:flex;align-items:center;padding-left:22px}.enum-modal .checkbox-group .checkbox-item:last-of-type{margin-bottom:0}.enum-modal .checkbox-group .checkbox-item .checkbox-container{display:flex;align-items:center}.enum-modal .checkbox-group .checkbox-item .checkbox-icon{width:24px;height:24px;background-size:24px 24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='48' height='48' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle stroke='%23C2C5CC' stroke-width='2' cx='24' cy='24' r='19' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E")}.enum-modal .checkbox-group .checkbox-item .checkbox-icon.checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='48' height='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='0%25' x2='100%25' y2='100%25' id='a'%3E%3Cstop stop-color='%233D8BFF' offset='0%25'/%3E%3Cstop stop-color='%2306F' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Ccircle fill='url(%23a)' cx='24' cy='24' r='19'/%3E%3Cpath stroke='%23FFF' stroke-width='4' stroke-linecap='round' stroke-linejoin='round' d='M16 23.963l6.035 6.146L32.109 20'/%3E%3C/g%3E%3C/svg%3E")}.enum-modal .checkbox-group .checkbox-item .checkbox-item-text{font-size:14px;color:#15161a;text-align:center;line-height:20px;position:absolute;right:13px;max-width:240px}.rangeslider{margin:20px 0;position:relative;background:#e6e6e6;touch-action:none}.rangeslider,.rangeslider .rangeslider__fill{display:block;box-shadow:inset 0 1px 3px rgba(0,0,0,.4)}.rangeslider .rangeslider__handle{background:#fff;border:1px solid #ccc;cursor:pointer;display:inline-block;position:absolute;box-shadow:0 1px 3px rgba(0,0,0,.4),0 -1px 3px rgba(0,0,0,.4)}.rangeslider .rangeslider__handle .rangeslider__active{opacity:1}.rangeslider .rangeslider__handle-tooltip{width:40px;height:40px;text-align:center;position:absolute;background-color:rgba(0,0,0,.8);font-weight:400;font-size:14px;transition:all .1s ease-in;border-radius:4px;display:inline-block;color:#fff;left:50%;transform:translate3d(-50%,0,0)}.rangeslider .rangeslider__handle-tooltip span{margin-top:12px;display:inline-block;line-height:100%}.rangeslider .rangeslider__handle-tooltip:after{content:" ";position:absolute;width:0;height:0}.rangeslider-horizontal{height:12px;border-radius:10px}.rangeslider-horizontal .rangeslider__fill{height:100%;background-color:#7cb342;border-radius:10px;top:0}.rangeslider-horizontal .rangeslider__handle{width:30px;height:30px;border-radius:30px;top:50%;transform:translate3d(-50%,-50%,0)}.rangeslider-horizontal .rangeslider__handle:after{content:" ";position:absolute;width:16px;height:16px;top:6px;left:6px;border-radius:50%;background-color:#dadada;box-shadow:inset 0 1px 3px rgba(0,0,0,.4),inset 0 -1px 3px rgba(0,0,0,.4)}.rangeslider-horizontal .rangeslider__handle-tooltip{top:-55px}.rangeslider-horizontal .rangeslider__handle-tooltip:after{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid rgba(0,0,0,.8);left:50%;bottom:-8px;transform:translate3d(-50%,0,0)}.rangeslider-vertical{margin:20px auto;height:150px;max-width:10px;background-color:transparent}.rangeslider-vertical .rangeslider__fill,.rangeslider-vertical .rangeslider__handle{position:absolute}.rangeslider-vertical .rangeslider__fill{width:100%;background-color:#7cb342;box-shadow:none;bottom:0}.rangeslider-vertical .rangeslider__handle{width:30px;height:10px;left:-10px;box-shadow:none}.rangeslider-vertical .rangeslider__handle-tooltip{left:-100%;top:50%;transform:translate3d(-50%,-50%,0)}.rangeslider-vertical .rangeslider__handle-tooltip:after{border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid rgba(0,0,0,.8);left:100%;top:12px}.rangeslider-reverse.rangeslider-horizontal .rangeslider__fill{right:0}.rangeslider-reverse.rangeslider-vertical .rangeslider__fill{top:0;bottom:inherit}.rangeslider__labels{position:relative}.rangeslider-vertical .rangeslider__labels{position:relative;list-style-type:none;margin:0 0 0 24px;padding:0;text-align:left;width:250px;height:100%;left:10px}.rangeslider-vertical .rangeslider__labels .rangeslider__label-item{position:absolute;transform:translate3d(0,-50%,0)}.rangeslider-vertical .rangeslider__labels .rangeslider__label-item:before{content:"";width:10px;height:2px;background:#000;position:absolute;left:-14px;top:50%;transform:translateY(-50%);z-index:-1}.rangeslider__labels .rangeslider__label-item{position:absolute;font-size:14px;cursor:pointer;display:inline-block;top:10px;transform:translate3d(-50%,0,0)}.number-control-modal{position:relative;margin:72px 30px}.number-control-modal .slider-btn{position:absolute;width:28px;height:28px;background:#fff;border:1px solid #dfdfdf;border-radius:100%;display:flex;justify-content:center;align-items:center;top:50%;transform:translateY(-50%);overflow:hidden}.number-control-modal .slider-btn.minus{left:0}.number-control-modal .slider-btn.minus .slider-btn-icon{width:11.5px;height:1.5px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='3'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='%23F5F5F5' d='M-76-1292h750V332H-76z'/%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M-76-1292h750V332H-76z' opacity='.6'/%3E%3Cpath fill='%23FFF' d='M-76-148h750v368H-76z'/%3E%3Cpath fill='%23FFF' d='M-76-148h750v300H-76z'/%3E%3Cpath fill='%236C7078' d='M21.5 0h-20a1.5 1.5 0 100 3h20a1.5 1.5 0 000-3z'/%3E%3C/g%3E%3C/svg%3E");background-size:11.5px 1.5px}.number-control-modal .slider-btn.plus{right:0}.number-control-modal .slider-btn.plus .slider-btn-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath fill='%23F5F5F5' d='M-651-1282H99V342h-750z'/%3E%3Cpath fill='%23000' fill-rule='nonzero' d='M-651-1282H99V342h-750z' opacity='.6'/%3E%3Cpath fill='%23FFF' d='M-651-138H99v368h-750z'/%3E%3Cpath fill='%23FFF' d='M-651-138H99v300h-750z'/%3E%3Cg transform='translate(-16 -16)'%3E%3Crect width='54.018' height='54.018' x='.491' y='.491' stroke='%23DFDFDF' stroke-width='.982' rx='27.009'/%3E%3Cpath fill='%236C7078' d='M27.5 16a1.5 1.5 0 011.5 1.5V26h8.5a1.5 1.5 0 011.493 1.356L39 27.5a1.5 1.5 0 01-1.5 1.5H29v8.5a1.5 1.5 0 01-1.356 1.493L27.5 39a1.5 1.5 0 01-1.5-1.5V29h-8.5a1.5 1.5 0 01-1.493-1.356L16 27.5a1.5 1.5 0 011.5-1.5H26v-8.5a1.5 1.5 0 011.356-1.493z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");width:11.5px;height:11.5px;background-size:11.5px 11.5px}.number-control-modal .slider-container{position:relative;padding:0;margin:0 48px}.number-control-modal .slider-container .number-control-value-container{position:relative;margin:0 16px}.number-control-modal .slider-container .number-control-value{font-size:14px;color:#fff;background:#6c7078;border-radius:14px;min-width:40px;padding:2.5px 5px;position:absolute;top:-40px;transform:translateX(-50%)}.number-control-modal .rangeslider{box-shadow:unset}.number-control-modal .rangeslider.rangeslider-horizontal{height:5px}.number-control-modal .rangeslider .rangeslider__handle:after{display:none}.number-control-modal .rangeslider .rangeslider__fill{background-color:#006eff;box-shadow:unset}.number-control-modal .rangeslider .rangeslider__handle{background:#fff;border:1px solid #e7e8eb;box-shadow:0 2.5px 12.5px 0 rgba(0,0,0,.05)}.row{display:flex;margin:12px -6px;flex-wrap:wrap;justify-content:flex-start;align-items:stretch}.row .explorer-h5-col__content{height:100%}.col{padding-left:6px;padding-right:6px;flex-grow:1;width:0;box-sizing:border-box;overflow:hidden}.explorer-h5-vertical_top{align-items:flex-start}.explorer-h5-vertical_middle{align-items:center}.explorer-h5-vertical_bottom{align-items:flex-end}.explorer-h5-vertical_stretch{align-items:stretch}.explorer-h5-justify_start{align-items:flex-start}.explorer-h5-justify_end{align-items:flex-end}.explorer-h5-justify_center{align-items:center}.explorer-h5-justify_space-around{align-items:space-around}.explorer-h5-justify_space-between{align-items:space-between}.col_span-1{flex-grow:0;width:8.33333333%}.col_span-2{flex-grow:0;width:16.66666667%}.col_span-3{flex-grow:0;width:25%}.col_span-4{flex-grow:0;width:33.33333333%}.col_span-5{flex-grow:0;width:41.66666667%}.col_span-6{flex-grow:0;width:50%}.col_span-7{flex-grow:0;width:58.33333333%}.col_span-8{flex-grow:0;width:66.66666667%}.col_span-9{flex-grow:0;width:75%}.col_span-10{flex-grow:0;width:83.33333333%}.col_span-11{flex-grow:0;width:91.66666667%}.col_span-12{flex-grow:0;width:100%}.device-panel .panel-more-btn{position:absolute;right:10px;top:0;padding:10px;font-size:0;z-index:100}.device-panel .panel-more-btn .more-btn-icon{width:24px;height:24px;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cstyle%3E.st19{fill:%23444}%3C/style%3E%3Ccircle cx='10' cy='24' r='4' class='st19'/%3E%3Ccircle cx='24' cy='24' r='4' class='st19'/%3E%3Ccircle cx='38' cy='24' r='4' class='st19'/%3E%3C/svg%3E");background-size:24px 24px}.device-panel .panel-more-btn+.card-layout{margin-top:45px}.device-panel{position:relative;z-index:2;background-color:#f5f5f5;box-sizing:border-box}.device-panel .divider{margin-top:10px;margin-bottom:10px;height:1px;width:100%;background:rgba(0,0,0,.3)}.device-panel .card-layout{padding:0 16px}.device-panel .text-overflow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-panel .coordinate{text-align:center}.bluetooth-search-container .btn.btn-primary{border:1px solid #0052d9;background:#0052d9;color:#fff}.bluetooth-search-container .btn{position:relative;font-size:16px;width:100%;height:45px;line-height:45px;text-align:center;background-color:#fff;border-radius:0;border:1px solid #ddd;color:#0052d9}.bluetooth-search-container button{position:relative;display:block;box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;color:inherit;background-color:inherit}.bluetooth-search-container button:after{width:200%;height:200%;position:absolute;top:0;left:0;border:none;transform:scale(.5);transform-origin:0 0;box-sizing:border-box;border-radius:10px}.bluetooth-search-container{background:#637184;padding:25px}.bluetooth-search-item-list{margin-top:30px;width:100%}.bluetooth-search-item-list .error{color:#ff584c}.bluetooth-search-item-list .searching-txt{text-align:center;line-height:46 rpx}.bluetooth-search-item-list .search-result{width:100%;height:100%;padding:24px 30px;overflow:hidden;box-sizing:border-box}.bluetooth-search-item-list .search-result .search-title{font-weight:700;font-size:16px;color:#000}.bluetooth-search-item-list .search-result .search-body{height:100%;margin-top:12px;overflow-x:hidden;overflow-y:scroll}.bluetooth-search-item-list .search-row{display:flex;flex-wrap:wrap}.bluetooth-search-item-list .search-row .item-name{display:inline-block;font-size:26px;color:#000;max-width:80%;margin-left:4px;line-height:48px;min-height:48px;vertical-align:top}.bluetooth-search-item-list .search-row .search-item{position:relative;height:90px;width:100%;margin-bottom:20px;box-sizing:border-box;background-color:rgba(0,0,0,.1);border-radius:12px;padding:10px}.bluetooth-search-item-list .search-row .search-item .item-name{display:inline-block;font-size:14px;color:#fff;line-height:70px}.bluetooth-search-item-list .search-row .search-item .link-btn{position:absolute;right:30px;color:#7cb342;top:40%;font-size:18px;font-weight:700}body{margin:0}.clear-margin:after,.clear-margin:before{content:"1";font-size:0;width:0;height:0;display:block}.need-hover{position:relative}.need-hover.hover:before{content:" ";position:absolute;top:0;left:0;right:0;bottom:0;z-index:1000;background-color:rgba(0,0,0,.1)}
\ No newline at end of file
diff --git a/board/BDW01-STM32L496VG/doc/source/index.js b/board/BDW01-STM32L496VG/doc/source/index.js
new file mode 100644
index 00000000..ff2ccda8
--- /dev/null
+++ b/board/BDW01-STM32L496VG/doc/source/index.js
@@ -0,0 +1,44 @@
+!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(window,(function(){return function(e){var t=window.webpackHotUpdate;window.webpackHotUpdate=function(e,n){!function(e,t){if(!_[e]||!w[e])return;for(var n in w[e]=!1,t)Object.prototype.hasOwnProperty.call(t,n)&&(h[n]=t[n]);0==--g&&0===y&&T()}(e,n),t&&t(e,n)};var n,r=!0,o="630b600bf580aa26280f",i={},a=[],c=[];function u(e){var t=I[e];if(!t)return D;var r=function(r){return t.hot.active?(I[r]?-1===I[r].parents.indexOf(e)&&I[r].parents.push(e):(a=[e],n=r),-1===t.children.indexOf(r)&&t.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),a=[]),D(r)},o=function(e){return{configurable:!0,enumerable:!0,get:function(){return D[e]},set:function(t){D[e]=t}}};for(var i in D)Object.prototype.hasOwnProperty.call(D,i)&&"e"!==i&&"t"!==i&&Object.defineProperty(r,i,o(i));return r.e=function(e){return"ready"===f&&d("prepare"),y++,D.e(e).then(t,(function(e){throw t(),e}));function t(){y--,"prepare"===f&&(b[e]||C(e),0===y&&0===g&&T())}},r.t=function(e,t){return 1&t&&(e=r(e)),D.t(e,-2&t)},r}function s(t){var r={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:n!==t,active:!0,accept:function(e,t){if(void 0===e)r._selfAccepted=!0;else if("function"==typeof e)r._selfAccepted=e;else if("object"==typeof e)for(var n=0;n=0&&r._disposeHandlers.splice(t,1)},invalidate:function(){switch(this._selfInvalidated=!0,f){case"idle":(h={})[t]=e[t],d("ready");break;case"ready":O(t);break;case"prepare":case"check":case"dispose":case"apply":(m=m||[]).push(t)}},check:k,apply:S,status:function(e){if(!e)return f;l.push(e)},addStatusHandler:function(e){l.push(e)},removeStatusHandler:function(e){var t=l.indexOf(e);t>=0&&l.splice(t,1)},data:i[t]};return n=void 0,r}var l=[],f="idle";function d(e){f=e;for(var t=0;t0;){var o=r.pop(),i=o.id,a=o.chain;if((l=I[i])&&(!l.hot._selfAccepted||l.hot._selfInvalidated)){if(l.hot._selfDeclined)return{type:"self-declined",chain:a,moduleId:i};if(l.hot._main)return{type:"unaccepted",chain:a,moduleId:i};for(var c=0;c ")),T.type){case"self-declined":r.onDeclined&&r.onDeclined(T),r.ignoreDeclined||(S=new Error("Aborted because of self decline: "+T.moduleId+N));break;case"declined":r.onDeclined&&r.onDeclined(T),r.ignoreDeclined||(S=new Error("Aborted because of declined dependency: "+T.moduleId+" in "+T.parentId+N));break;case"unaccepted":r.onUnaccepted&&r.onUnaccepted(T),r.ignoreUnaccepted||(S=new Error("Aborted because "+f+" is not accepted"+N));break;case"accepted":r.onAccepted&&r.onAccepted(T),O=!0;break;case"disposed":r.onDisposed&&r.onDisposed(T),P=!0;break;default:throw new Error("Unexception type "+T.type)}if(S)return d("abort"),Promise.reject(S);if(O)for(f in w[f]=h[f],g(b,T.outdatedModules),T.outdatedDependencies)Object.prototype.hasOwnProperty.call(T.outdatedDependencies,f)&&(y[f]||(y[f]=[]),g(y[f],T.outdatedDependencies[f]));P&&(g(b,[T.moduleId]),w[f]=k)}var A,R=[];for(u=0;u0;)if(f=j.pop(),l=I[f]){var U={},F=l.hot._disposeHandlers;for(s=0;s=0&&B.parents.splice(A,1))}}for(f in y)if(Object.prototype.hasOwnProperty.call(y,f)&&(l=I[f]))for(L=y[f],s=0;s=0&&l.children.splice(A,1);d("apply"),void 0!==v&&(o=v,v=void 0);for(f in h=void 0,w)Object.prototype.hasOwnProperty.call(w,f)&&(e[f]=w[f]);var V=null;for(f in y)if(Object.prototype.hasOwnProperty.call(y,f)&&(l=I[f])){L=y[f];var W=[];for(u=0;u=0;c--)(o=e[c])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function u(e,t){return function(n,r){t(n,r,e)}}function s(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function l(e,t,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{u(r.next(e))}catch(e){i(e)}}function c(e){try{u(r.throw(e))}catch(e){i(e)}}function u(e){e.done?o(e.value):new n((function(t){t(e.value)})).then(a,c)}u((r=r.apply(e,t||[])).next())}))}function f(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===i[0]||2===i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}function h(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function v(){for(var e=[],t=0;t1||c(e,t)}))})}function c(e,t){try{(n=o[e](t)).value instanceof g?Promise.resolve(n.value.v).then(u,s):l(i[0][2],n)}catch(e){l(i[0][3],e)}var n}function u(e){c("next",e)}function s(e){c("throw",e)}function l(e,t){e(t),i.shift(),i.length&&c(i[0][0],i[0][1])}}function b(e){var t,n;return t={},r("next"),r("throw",(function(e){throw e})),r("return"),t[Symbol.iterator]=function(){return this},t;function r(r,o){t[r]=e[r]?function(t){return(n=!n)?{value:g(e[r](t)),done:"return"===r}:o?o(t):t}:o}}function w(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=p(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,o){!function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)}(r,o,(t=e[n](t)).done,t.value)}))}}}function _(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function E(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}function k(e){return e&&e.__esModule?e:{default:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=n(7),i=r.__importDefault(n(9));t.appendParams=function(e,n){void 0===n&&(n={});var r=[];return Object.keys(n).forEach((function(e){var o=n[e];if(void 0!==o){if(t.isPlainObject(o))try{o=JSON.stringify(o)}catch(e){}r.push(e+"="+encodeURIComponent(o))}})),r.length?(e.indexOf("?")>-1?e+"&":e+"?")+r.join("&"):e},t.delay=function(e){return new Promise((function(t){return setTimeout(t,e)}))},t.genPromise=function(){var e,t;return{promise:new Promise((function(n,r){e=n,t=r})),resolve:e,reject:t}},t.noop=function(){},t.getErrorMsg=function(e){if(e){var t="";return"string"==typeof e?e:(t=e.msg||e.Message||e.message||e.errMsg||"连接æœåŠ¡å™¨å¤±è´¥ï¼Œè¯·ç¨åŽå†è¯•",e.reqId&&(t+="("+e.reqId+")"),t||(t="连接æœåŠ¡å™¨å¤±è´¥ï¼Œè¯·ç¨åŽå†è¯•"),t)}},t.isPlainObject=function(e){if("object"!=(void 0===e?"undefined":typeof e)||null===e)return!1;for(var t=e;null!==Object.getPrototypeOf(t);)t=Object.getPrototypeOf(t);return Object.getPrototypeOf(e)===t},t.hasModalShow=!1,t.showModal=function(e,n,i){void 0===n&&(n=""),i.confirmText;var a=(void 0===(void 0===i.confirmColor&&o.themeColorMap.primary,i.cancelText,i.cancelColor)&&o.themeColorMap.weak,r.__rest(i,["confirmText","confirmColor","cancelText","cancelColor"]));return wx.hideToast(),t.hasModalShow=!0,new Promise((function(o,i){wx.showModal(r.__assign(r.__assign({title:e,content:n},a),{success:function(e){var t=e.confirm;o(!!t)},fail:function(){o(!1)},complete:function(){t.hasModalShow=!1}}))}))},t.cutoffLong=function(e,t,n,r){void 0===t&&(t=4096),void 0===n&&(n=10),void 0===r&&(r=20);try{return function e(t,n,o){return t?"string"==typeof t&&t.length>n?t.substr(0,n)+"... ("+(t.length-n)+" characters truncated)":Array.isArray(t)?t.length>o?t.slice(0,o).map((function(t){return e(t,n,o)})).concat("... ("+(t.length-o)+" items truncated)"):t:"object"==typeof t?Object.keys(t).reduce((function(i,a,c,u){return c-1&&r.splice(o,1)}else n[e].length=0;return this},e.prototype.emit=function(e){for(var t=this,n=[],r=1;r-1})))if(0===e.errMsg.indexOf("getUserInfo"))Object.assign(e,{code:i.ErrorCode.GET_USERINFO_NEED_AUTH,msg:"尚未开å¯å¾®ä¿¡åŸºæœ¬ä¿¡æ¯æŽˆæƒï¼Œè¯·æŽˆæƒåŽä½¿ç”¨"});else{var n=r.__read(e.errMsg.split(":"),1)[0];Object.assign(e,{code:i.ErrorCode.WX_API_NEED_AUTH,msg:"å°ç¨‹åºæŽ¥å£ï¼ˆ"+n+")需è¦ç”¨æˆ·æŽˆæƒï¼Œè¯·æŽˆæƒåŽä½¿ç”¨"})}else Object.assign(e,{code:i.ErrorCode.WX_API_FAIL,msg:"å°ç¨‹åºæŽ¥å£è°ƒç”¨å¤±è´¥ï¼Œè¯·ç¨åŽå†è¯•"});else t.isVerifyLoginError(e)&&(e=t.genVerifyLoginFailError(e));else e instanceof Error&&(e={code:i.ErrorCode.INTERNAL_ERROR,msg:e.message,stack:e.stack,error:e});return e},t.genVerifyLoginFailError=function(e){e||(e={}),e.code,e.msg;var t=r.__rest(e,["code","msg"]);return r.__assign({code:i.ErrorCode.VERIFY_LOGIN_FAIL,msg:"登录æ€éªŒè¯å¤±è´¥ï¼Œè¯·é‡æ–°ç™»å½•"},t)},t.isVerifyLoginError=function(e){return e&&String(e.code||"").indexOf("InvalidAccessToken")>-1},t.handleVerifyLoginError=function(e){if(t.isVerifyLoginError(e))throw t.genVerifyLoginFailError(e)}},function(e,t,n){var r=n(50),o=n(1);e.exports=function(e,t){return!t||"object"!==r(t)&&"function"!=typeof t?o(e):t}},function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){var r=n(51);e.exports=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&r(e,t)}},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.isMiniProgram=function(){try{return!!(wx&&wx.request&&wx.connectSocket)}catch(e){return!1}}(),t.isBrowser=function(){try{return"undefined"!=typeof window&&void 0!==window.document}catch(e){return!1}}(),t.isNode=function(){try{return!!e.versions.node}catch(e){return!1}}(),t.isRN=function(){try{return"ReactNative"===navigator.product}catch(e){return!1}}()}).call(this,n(28))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);t.pify=function(e,t){return void 0===t&&(t=wx),function(n){for(var o=[],i=1;i0;)o=a.nextValue(),e=Math.floor(o*t.length),n.push(t.splice(e,1)[0]);return n.join("")}())}e.exports={get:function(){return r||c},characters:function(e){return s(e),r},seed:function(e){a.seed(e),o!==e&&(u(),o=e)},lookup:function(e){return l()[e]},shuffled:l}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);r.__exportStar(n(20),t),r.__exportStar(n(30),t)},function(e,t,n){"use strict";var r=n(17),o=n(32),i=n(36),a=n(37)||0;function c(){return o(a)}e.exports=c,e.exports.generate=c,e.exports.seed=function(t){return r.seed(t),e.exports},e.exports.worker=function(t){return a=t,e.exports},e.exports.characters=function(e){return void 0!==e&&r.characters(e),r.shuffled()},e.exports.isValid=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=r.__importDefault(n(24)),i=n(15),a=r.__importDefault(n(29)),c=n(16),u=0;function s(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),new Promise((function(r,i){try{var a=n.method,c=n.headers,u=void 0===c?{}:c,s=n.responseType,l=void 0===s?"json":s;a=(a||"get").toUpperCase(),Object.assign(u,{"Content-type":"application/json"});var f=new window.XMLHttpRequest;f.responseType=l,f.timeout=1e4,f.onreadystatechange=function(){4===f.readyState&&(200===f.status?r({data:f.response}):i({code:f.status,msg:f.statusText}))},"GET"===a?e="url"+(-1===e.indexOf("?")?"?":"&")+o.default.stringify(t):"POST"===a&&(t=JSON.stringify(t)),f.open(a,e,!0),Object.keys(u).forEach((function(e){f.setRequestHeader(e,u[e])})),f.send("POST"===a?t:null)}catch(e){console.error(e),i(e)}}))}t.request=function(e){return r.__awaiter(void 0,void 0,void 0,(function(){var t,n=e.url,o=e.data,l=e.header,f=void 0===l?{}:l,d=e.method,p=void 0===d?"get":d,h=e.dataType,v=e.responseType,m=r.__rest(e,["url","data","header","method","dataType","responseType"]);return r.__generator(this,(function(e){switch(e.label){case 0:if(i.isBrowser)return[2,s(n,o,{headers:f,method:p,responseType:v})];e.label=1;case 1:e.trys.push([1,6,7,8]),e.label=2;case 2:return u>=10?[4,a.default.startBlocking()]:[3,4];case 3:return e.sent(),[3,2];case 4:return u++,[4,c.pify(wx.request)(r.__assign({url:n,data:o,header:f,method:p,dataType:h,responseType:v},m))];case 5:return[2,e.sent()];case 6:return t=e.sent(),[2,Promise.reject(t)];case 7:return u--,a.default.resolveFirstBlock(),[7];case 8:return[2]}}))}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4);n(38);var o=n(39),i=r.__importDefault(n(8)),a=n(41),c=r.__importDefault(n(9)),u=n(43),s=n(7),l=n(5),f=n(18),d=n(11),p=n(44),h=n(15),v=function(e){function t(t){var n=t.getAccessToken,i=t.appKey,u=void 0===i?"":i,f=t.apiPlatform,d=void 0===f?"":f,p=t.debug,v=void 0!==p&&p,m=t.wsConfig,g=void 0===m?{}:m,y=g.autoReconnect,b=void 0===y||y,w=g.disconnectWhenAppHide,_=void 0===w||w,E=g.connectWhenAppShow,k=void 0===E||E,C=r.__rest(g,["autoReconnect","disconnectWhenAppHide","connectWhenAppShow"]),T=t.reportor,S=e.call(this)||this;S.isManuallyClose=!1,S._defaultFamilyIdPromise=null,S.reportor=null,c.default.config({debug:v});var x=T||l.noop;return S.reportor={info:function(e,t){void 0===t&&(t={});try{x(e,r.__assign({level:0},t))}catch(e){c.default.warn(e)}},warn:function(e,t){void 0===t&&(t={});try{x(e,r.__assign({level:1},t))}catch(e){c.default.warn(e)}},error:function(e,t){void 0===t&&(t={});try{x(e,r.__assign({level:2},t))}catch(e){c.default.warn(e)}}},S.ws=new a.IotWebsocket(S,r.__assign(r.__assign({},C),{apiPlatform:d})),S.loginManager=new o.LoginManager(S,{getAccessToken:n,appKey:u}),S._apiPlatform=d,S.ws.on("error",(function(e){c.default.debug("websocket error",e),S.emit(s.EventTypes.WsError,e),b&&S._reconnectWs()})),S.ws.on("close",(function(e){var t=void 0===e?{}:e,n=t.code,r=t.reason;c.default.debug("websocket close",{code:n,reason:r}),S.emit(s.EventTypes.WsClose,{code:n,reason:r}),b&&S._onWebsocketClose()})),S.ws.on("push",(function(e){return S._handlePushEvent(e)})),h.isMiniProgram&&(wx.onAppHide((function(){_&&(S.isManuallyClose=!0,S.ws.disconnect({reason:"appHide"}))})),wx.onAppShow((function(){k&&S.isLogin&&S.ws.connect()}))),S}return r.__extends(t,e),Object.defineProperty(t.prototype,"userInfo",{get:function(){return this.loginManager.userInfo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLogin",{get:function(){return this.loginManager.isLogin},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"userId",{get:function(){return this.loginManager.userId},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"nickName",{get:function(){return this.loginManager.nickName},enumerable:!0,configurable:!0}),t.prototype.init=function(e){return r.__awaiter(this,void 0,void 0,(function(){var t=this;return r.__generator(this,(function(n){return e||(e={}),e.reload&&(this._initPromise=null),[2,this._initPromise||(this._initPromise=new Promise((function(e,n){return r.__awaiter(t,void 0,void 0,(function(){var t;return r.__generator(this,(function(r){switch(r.label){case 0:return r.trys.push([0,3,,4]),[4,this.loginManager.login()];case 1:return r.sent(),[4,this.ws.connect()];case 2:return r.sent(),e(),[3,4];case 3:return t=r.sent(),n(d.normalizeError(t)),this._initPromise=null,[3,4];case 4:return[2]}}))}))})))]}))}))},t.prototype.getDefaultFamilyId=function(){var e=this;return this._defaultFamilyIdPromise||(this._defaultFamilyIdPromise=new Promise((function(t,n){return r.__awaiter(e,void 0,void 0,(function(){var e,o,i,a;return r.__generator(this,(function(r){switch(r.label){case 0:return r.trys.push([0,4,,5]),[4,this.requestApi("AppGetFamilyList",{Offset:0,Limit:100})];case 1:return e=r.sent(),o=e.FamilyList,e.Total?[3,3]:[4,this.requestApi("AppCreateFamily",{Name:this.loginManager.nickName})];case 2:return i=r.sent().Data.FamilyId,[2,t(i)];case 3:return t(o[0].FamilyId),[3,5];case 4:return a=r.sent(),n(a),this._defaultFamilyIdPromise=null,[3,5];case 5:return[2]}}))}))})))},t.prototype.sendWebsocketMessage=function(e,t){return void 0===t&&(t={}),r.__awaiter(this,void 0,void 0,(function(){return r.__generator(this,(function(n){switch(n.label){case 0:return[4,this.init()];case 1:return n.sent(),[2,this.ws.send(e,t)]}}))}))},t.prototype.connectWebsocket=function(){return r.__awaiter(this,void 0,void 0,(function(){return r.__generator(this,(function(e){switch(e.label){case 0:return[4,this.init()];case 1:return e.sent(),[4,this.ws.connect()];case 2:return e.sent(),[2]}}))}))},t.prototype.disconnectWebsocket=function(e){this.ws.disconnect(e)},t.prototype.subscribeDevices=function(e){return r.__awaiter(this,void 0,void 0,(function(){return r.__generator(this,(function(t){return this.ws.subscribe((e||[]).map((function(e){return"string"==typeof e?e:e&&e.DeviceId?e.DeviceId:void 0})).filter(Boolean)),[2]}))}))},t.prototype.requestApi=function(e,t,n){void 0===t&&(t={}),void 0===n&&(n={});var o=n.doNotRetry,i=void 0!==o&&o,a=n.needLogin,u=void 0===a||a,s=n.doNotReport,l=void 0!==s&&s,p=r.__rest(n,["doNotRetry","needLogin","doNotReport"]);return r.__awaiter(this,void 0,void 0,(function(){var n,o,a,s,h,v,m;return r.__generator(this,(function(g){switch(g.label){case 0:return g.trys.push([0,6,,13]),u?[4,this.loginManager.checkLogin()]:[3,2];case 1:g.sent(),g.label=2;case 2:return n=this.loginManager,o=n.accessToken,a=n.userId,t&&"default"===t.FamilyId?(s=t,[4,this.getDefaultFamilyId()]):[3,4];case 3:s.FamilyId=g.sent(),g.label=4;case 4:return h=r.__assign({uin:a},t),o&&(h.AccessToken=o),this._apiPlatform&&(h.Platform=this._apiPlatform),[4,f.requestTokenApi(e,h,r.__assign({reportor:this.reportor,doNotReport:l},p))];case 5:return[2,g.sent()];case 6:if(v=g.sent(),c.default.debug("requestApi fail",v),!d.isVerifyLoginError(v))return[3,12];if(i)return[3,11];g.label=7;case 7:return g.trys.push([7,9,,10]),[4,this.loginManager.reLogin()];case 8:return g.sent(),[3,10];case 9:return m=g.sent(),c.default.error("reLogin fail",m),[2,Promise.reject(d.genVerifyLoginFailError(v))];case 10:return[2,this.requestApi(e,t,r.__assign({doNotRetry:!0},p))];case 11:return[2,Promise.reject(d.genVerifyLoginFailError(v))];case 12:return[2,Promise.reject(d.normalizeError(v))];case 13:return[2]}}))}))},t.prototype.connectDevice=function(e){if(!h.isMiniProgram)throw"åªæœ‰å°ç¨‹åºå†…支æŒè¯¥æŽ¥å£è°ƒç”¨";return p.connectDevice(this,e)},t.prototype._handlePushEvent=function(e){e||(e={}),this.emit(s.EventTypes.WsPush,e);var t=e.action,n=e.params;n||(n={});var r=n.DeviceId,o=n.Type,i=n.SubType,a=n.Payload,l=n.Time,f=new Date(l).getTime();switch(a&&(a=JSON.parse(u.decodeBase64(a))),c.default.debug("websocket push payload",a),t){case"DeviceChange":switch(o){case"Property":case"Shadow":case"Template":switch(i){case"Report":var d={};try{if(a){var p=a.type,h=a.state,v=a.method,m=a.params;if(p&&"update"===p&&h&&h.reported&&(v="report",m=h.reported),m||(m={}),"report"===v)for(var g in m)d[g]={Value:m[g],lastUpdate:f}}}catch(e){c.default.error("handle report event error",e)}this.emit(s.EventTypes.WsReport,{deviceId:r,deviceData:d});break;case"Push":d={};try{if(a){p=a.type;var y=a.payload;if(v=a.method,m=a.params,p&&"delta"===p&&y&&y.state&&(v="control",m=y.state),"control"===v&&m){for(var g in m)d[g]={Value:m[g],LastUpdate:f};this.emit(s.EventTypes.WsControl,{deviceId:r,deviceData:d})}}}catch(e){c.default.error(e)}}break;case"StatusChange":var b="Online"===i?1:0;this.emit(s.EventTypes.WsStatusChange,{deviceId:r,deviceStatus:b})}}},t.prototype._onWebsocketClose=function(){if(!this.isManuallyClose)return this._reconnectWs();this.isManuallyClose=!1},t.prototype._reconnectWs=function(){return r.__awaiter(this,void 0,void 0,(function(){var e;return r.__generator(this,(function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),c.default.debug("websocket reconnecting in 2 seconds"),[4,l.delay(2e3)];case 1:return t.sent(),[4,this.ws.connect()];case 2:return t.sent(),[3,4];case 3:return e=t.sent(),c.default.error("error when reconnect ws",e),[2,Promise.reject(e)];case 4:return[2]}}))}))},t}(i.default);t.QcloudIotExplorerAppDevSdk=v},function(e,t,n){var r=n(47),o=n(48),i=n(49);e.exports=function(e){return r(e)||o(e)||i()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4),o=n(18);t.request=o.request,r.__exportStar(n(5),t),r.__exportStar(n(7),t),r.__exportStar(n(21),t);var i=n(21);t.default=i.QcloudIotExplorerAppDevSdk},function(e,t,n){"use strict";const r=n(25),o=n(26),i=n(27);function a(e,t){return t.encode?t.strict?r(e):encodeURIComponent(e):e}function c(e,t){return t.decode?o(e):e}function u(e){const t=e.indexOf("#");return-1!==t&&(e=e.slice(0,t)),e}function s(e){const t=(e=u(e)).indexOf("?");return-1===t?"":e.slice(t+1)}function l(e,t){return t.parseNumbers&&!Number.isNaN(Number(e))&&"string"==typeof e&&""!==e.trim()?e=Number(e):!t.parseBooleans||null===e||"true"!==e.toLowerCase()&&"false"!==e.toLowerCase()||(e="true"===e.toLowerCase()),e}function f(e,t){const n=function(e){let t;switch(e.arrayFormat){case"index":return(e,n,r)=>{t=/\[(\d*)\]$/.exec(e),e=e.replace(/\[\d*\]$/,""),t?(void 0===r[e]&&(r[e]={}),r[e][t[1]]=n):r[e]=n};case"bracket":return(e,n,r)=>{t=/(\[\])$/.exec(e),e=e.replace(/\[\]$/,""),t?void 0!==r[e]?r[e]=[].concat(r[e],n):r[e]=[n]:r[e]=n};case"comma":return(e,t,n)=>{const r="string"==typeof t&&t.split("").indexOf(",")>-1?t.split(","):t;n[e]=r};default:return(e,t,n)=>{void 0!==n[e]?n[e]=[].concat(n[e],t):n[e]=t}}}(t=Object.assign({decode:!0,sort:!0,arrayFormat:"none",parseNumbers:!1,parseBooleans:!1},t)),r=Object.create(null);if("string"!=typeof e)return r;if(!(e=e.trim().replace(/^[?#&]/,"")))return r;for(const o of e.split("&")){let[e,a]=i(t.decode?o.replace(/\+/g," "):o,"=");a=void 0===a?null:c(a,t),n(c(e,t),a,r)}for(const e of Object.keys(r)){const n=r[e];if("object"==typeof n&&null!==n)for(const e of Object.keys(n))n[e]=l(n[e],t);else r[e]=l(n,t)}return!1===t.sort?r:(!0===t.sort?Object.keys(r).sort():Object.keys(r).sort(t.sort)).reduce((e,t)=>{const n=r[t];return Boolean(n)&&"object"==typeof n&&!Array.isArray(n)?e[t]=function e(t){return Array.isArray(t)?t.sort():"object"==typeof t?e(Object.keys(t)).sort((e,t)=>Number(e)-Number(t)).map(e=>t[e]):t}(n):e[t]=n,e},Object.create(null))}t.extract=s,t.parse=f,t.stringify=(e,t)=>{if(!e)return"";const n=function(e){switch(e.arrayFormat){case"index":return t=>(n,r)=>{const o=n.length;return void 0===r||e.skipNull&&null===r?n:null===r?[...n,[a(t,e),"[",o,"]"].join("")]:[...n,[a(t,e),"[",a(o,e),"]=",a(r,e)].join("")]};case"bracket":return t=>(n,r)=>void 0===r||e.skipNull&&null===r?n:null===r?[...n,[a(t,e),"[]"].join("")]:[...n,[a(t,e),"[]=",a(r,e)].join("")];case"comma":return t=>(n,r)=>null==r||0===r.length?n:0===n.length?[[a(t,e),"=",a(r,e)].join("")]:[[n,a(r,e)].join(",")];default:return t=>(n,r)=>void 0===r||e.skipNull&&null===r?n:null===r?[...n,a(t,e)]:[...n,[a(t,e),"=",a(r,e)].join("")]}}(t=Object.assign({encode:!0,strict:!0,arrayFormat:"none"},t)),r=Object.assign({},e);if(t.skipNull)for(const e of Object.keys(r))void 0!==r[e]&&null!==r[e]||delete r[e];const o=Object.keys(r);return!1!==t.sort&&o.sort(t.sort),o.map(r=>{const o=e[r];return void 0===o?"":null===o?a(r,t):Array.isArray(o)?o.reduce(n(r),[]).join("&"):a(r,t)+"="+a(o,t)}).filter(e=>e.length>0).join("&")},t.parseUrl=(e,t)=>({url:u(e).split("?")[0]||"",query:f(s(e),t)})},function(e,t,n){"use strict";e.exports=e=>encodeURIComponent(e).replace(/[!'()*]/g,e=>"%"+e.charCodeAt(0).toString(16).toUpperCase())},function(e,t,n){"use strict";var r=new RegExp("%[a-f0-9]{2}","gi"),o=new RegExp("(%[a-f0-9]{2})+","gi");function i(e,t){try{return decodeURIComponent(e.join(""))}catch(e){}if(1===e.length)return e;t=t||1;var n=e.slice(0,t),r=e.slice(t);return Array.prototype.concat.call([],i(n),i(r))}function a(e){try{return decodeURIComponent(e)}catch(o){for(var t=e.match(r),n=1;n{if("string"!=typeof e||"string"!=typeof t)throw new TypeError("Expected the arguments to be of type `string`");if(""===t)return[e];const n=e.indexOf(t);return-1===n?[e]:[e.slice(0,n),e.slice(n+t.length)]}},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function c(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,s=[],l=!1,f=-1;function d(){l&&u&&(l=!1,u.length?s=u.concat(s):f=-1,s.length&&p())}function p(){if(!l){var e=c(d);l=!0;for(var t=s.length;t;){for(u=s,s=[];++f1)for(var n=1;n0&&(t+=i(r)),t+i(n)}},function(e,t,n){"use strict";var r=n(17),o=n(34),i=n(35);e.exports=function(e){for(var t,n=0,a="";!t;)a+=i(o,r.get(),1),t=e ",d),r.label=1;case 1:return r.trys.push([1,3,,11]),[4,this.send("YunApi",d,{reqId:n})];case 2:if(!(p=r.sent()))throw u.default.error("empty response",d),{msg:"连接æœåŠ¡å™¨å¤±è´¥ï¼Œè¯·ç¨åŽé‡è¯•"};if(!(h=p.Response))throw u.default.error("empty response",d,h),{msg:"连接æœåŠ¡å™¨å¤±è´¥ï¼Œè¯·ç¨åŽé‡è¯•"};if(v=h.Error,m=h.error,g=h.error_message,v)throw{code:v.Code,msg:v.Message};if(m)throw{code:m,msg:g};return u.default.debug("yunapi success("+n+") => ",d,h),[2,h];case 3:if(y=r.sent(),u.default.error("yunapi fail("+n+") => ",y),!s.isVerifyLoginError(y))return[3,10];if(o)return[3,8];r.label=4;case 4:return r.trys.push([4,6,,7]),[4,this.sdk.loginManager.reLogin()];case 5:return r.sent(),[3,7];case 6:return b=r.sent(),u.default.error("reLogin fail",b),[2,Promise.reject(s.genVerifyLoginFailError(y))];case 7:return[2,this.callYunApi(e,t,{doNotRetry:!0})];case 8:return[4,this.sdk.loginManager.logout()];case 9:return r.sent(),[2,s.genVerifyLoginFailError(y)];case 10:return a.isPlainObject(y)&&(y.reqId=n),[2,Promise.reject(y)];case 11:return[2]}}))}))},t.prototype.sendWsHeatBeat=function(){if(this._subscribeDeviceIdList&&this._subscribeDeviceIdList.length)return this.callYunApi("AppDeviceTraceHeartBeat",{DeviceIds:this._subscribeDeviceIdList})},t.prototype.activePush=function(e){var t=this;e&&(this._subscribeDeviceIdList=e);var n=this.sdk.loginManager,r=n.isLogin,o=n.accessToken,i=n.appKey;r&&o&&this._subscribeDeviceIdList&&(this.send("ActivePush",{DeviceIds:this._subscribeDeviceIdList,AccessToken:o,AppKey:i}),this.sendWsHeatBeat(),clearInterval(this._heartBeatTimer),this._heartBeatTimer=setInterval((function(){return t.sendWsHeatBeat()}),this.options.heartbeatInterval))},t}(o.default);t.IotWebsocket=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(4).__importStar(n(15)),o=function(){function e(e){this.url=e,this.ws=null,this.initWs()}return e.prototype.initWs=function(){r.isMiniProgram?this.ws=wx.connectSocket({url:this.url}):this.ws=new window.WebSocket(this.url)},e.prototype.send=function(e){var t=e.data;r.isMiniProgram?this.ws.send({data:t}):this.ws.send(t)},e.prototype.close=function(e){var t=void 0===e?{}:e,n=t.code,o=t.reason;r.isMiniProgram?this.ws.close({code:n,reason:o}):this.ws.close(n,o)},e.prototype.onOpen=function(e){r.isMiniProgram?this.ws.onOpen(e):this.ws.addEventListener("open",e)},e.prototype.onClose=function(e){r.isMiniProgram?this.ws.onClose(e):this.ws.addEventListener("close",e)},e.prototype.onMessage=function(e){r.isMiniProgram?this.ws.onMessage(e):this.ws.addEventListener("message",e)},e.prototype.onError=function(e){r.isMiniProgram?this.ws.onError(e):this.ws.addEventListener("error",e)},e}();t.WebSocket=o},function(e,t){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";t.encodeBase64=e=>{if(!e)return!1;let t,r,o,i,a,c,u,s="",l=0;do{t=e.charCodeAt(l++),r=e.charCodeAt(l++),o=e.charCodeAt(l++),i=t>>2,a=(3&t)<<4|r>>4,c=(15&r)<<2|o>>6,u=63&o,isNaN(r)?c=u=64:isNaN(o)&&(u=64),s+=n.charAt(i)+n.charAt(a)+n.charAt(c)+n.charAt(u)}while(l{if(!e)return!1;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");let t,r,o,i,a="",c=0;do{t=n.indexOf(e.charAt(c++)),r=n.indexOf(e.charAt(c++)),o=n.indexOf(e.charAt(c++)),i=n.indexOf(e.charAt(c++)),a+=String.fromCharCode(t<<2|r>>4),64!=o&&(a+=String.fromCharCode((15&r)<<4|o>>2)),64!=i&&(a+=String.fromCharCode((3&o)<<6|i))}while(c "+e+", detail => "+JSON.stringify(t))}catch(e){}x(r.__assign({code:e,msg:c.SmartConfigStepMsg[e]},t))})(c.ConnectDeviceStepCode.CONNECT_DEVICE_START),[4,i.pify(wx.startWifi)()];case 1:return S.sent(),[4,w()];case 2:return S.sent(),h(c.ConnectDeviceStepCode.CONNECT_DEVICE_SUCCESS),P(),[3,4];case 3:return(E=S.sent())&&E.code in c.ConnectDeviceErrorCode&&(E.msg=c.SmartConfigErrorMsg[E.code]),I(E),[3,4];case 4:return[2]}}))}))}},function(e,t,n){var r=function(e){"use strict";var t,n=Object.prototype,r=n.hasOwnProperty,o="function"==typeof Symbol?Symbol:{},i=o.iterator||"@@iterator",a=o.asyncIterator||"@@asyncIterator",c=o.toStringTag||"@@toStringTag";function u(e,t,n,r){var o=t&&t.prototype instanceof v?t:v,i=Object.create(o.prototype),a=new x(r||[]);return i._invoke=function(e,t,n){var r=l;return function(o,i){if(r===d)throw new Error("Generator is already running");if(r===p){if("throw"===o)throw i;return I()}for(n.method=o,n.arg=i;;){var a=n.delegate;if(a){var c=C(a,n);if(c){if(c===h)continue;return c}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(r===l)throw r=p,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r=d;var u=s(e,t,n);if("normal"===u.type){if(r=n.done?p:f,u.arg===h)continue;return{value:u.arg,done:n.done}}"throw"===u.type&&(r=p,n.method="throw",n.arg=u.arg)}}}(e,n,a),i}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var l="suspendedStart",f="suspendedYield",d="executing",p="completed",h={};function v(){}function m(){}function g(){}var y={};y[i]=function(){return this};var b=Object.getPrototypeOf,w=b&&b(b(O([])));w&&w!==n&&r.call(w,i)&&(y=w);var _=g.prototype=v.prototype=Object.create(y);function E(e){["next","throw","return"].forEach((function(t){e[t]=function(e){return this._invoke(t,e)}}))}function k(e){var t;this._invoke=function(n,o){function i(){return new Promise((function(t,i){!function t(n,o,i,a){var c=s(e[n],e,o);if("throw"!==c.type){var u=c.arg,l=u.value;return l&&"object"==typeof l&&r.call(l,"__await")?Promise.resolve(l.__await).then((function(e){t("next",e,i,a)}),(function(e){t("throw",e,i,a)})):Promise.resolve(l).then((function(e){u.value=e,i(u)}),(function(e){return t("throw",e,i,a)}))}a(c.arg)}(n,o,t,i)}))}return t=t?t.then(i,i):i()}}function C(e,n){var r=e.iterator[n.method];if(r===t){if(n.delegate=null,"throw"===n.method){if(e.iterator.return&&(n.method="return",n.arg=t,C(e,n),"throw"===n.method))return h;n.method="throw",n.arg=new TypeError("The iterator does not provide a 'throw' method")}return h}var o=s(r,e.iterator,n.arg);if("throw"===o.type)return n.method="throw",n.arg=o.arg,n.delegate=null,h;var i=o.arg;return i?i.done?(n[e.resultName]=i.value,n.next=e.nextLoc,"return"!==n.method&&(n.method="next",n.arg=t),n.delegate=null,h):i:(n.method="throw",n.arg=new TypeError("iterator result is not an object"),n.delegate=null,h)}function T(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function S(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function x(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(T,this),this.reset(!0)}function O(e){if(e){var n=e[i];if(n)return n.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,a=function n(){for(;++o=0;--i){var a=this.tryEntries[i],c=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var u=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(u&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),S(n),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;S(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:O(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),h}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t "+e+", detail => "+JSON.stringify(t))}catch(e){}T(r.__assign({code:e,msg:u.SoftApStepMsg[e]},t))})(u.ConnectDeviceStepCode.CONNECT_DEVICE_START),[4,i.pify(wx.startWifi)()];case 2:if(N.sent(),!f)return[3,6];N.label=3;case 3:return N.trys.push([3,5,,6]),h(u.ConnectDeviceStepCode.CONNECT_SOFTAP_START),[4,w(f)];case 4:return N.sent(),h(u.ConnectDeviceStepCode.CONNECT_SOFTAP_SUCCESS),[3,6];case 5:throw C=N.sent(),S={code:u.ConnectDeviceErrorCode.CONNECT_SOFTAP_FAIL},C&&C.errMsg&&(S.errMsg=C.errMsg),S;case 6:return[4,E()];case 7:return N.sent(),h(u.ConnectDeviceStepCode.CONNECT_DEVICE_SUCCESS),I(),[3,9];case 8:return(O=N.sent())&&O.code in u.ConnectDeviceErrorCode&&(O.msg=u.SoftApErrorMsg[O.code]),x(O),[3,9];case 9:return[2]}}))}))}},function(e,t,n){"use strict";n.r(t);var r=n(6),o=n.n(r),i=n(10),a=n.n(i),c=n(2),u=n.n(c),s=n(3),l=n.n(s),f=n(0),d=n.n(f),p=n(22),h=n.n(p),v=new(function(){function e(){u()(this,e),d()(this,"ESPTOUCH_ENCODING_CHARSET","UTF-8")}return l()(e,[{key:"stringToByteArray",value:function(e){for(var t=[],n=0,r=0;r255&&(t[n++]=255&o,o>>=8),t[n++]=o}return t}},{key:"putString2bytes",value:function(e,t,n,r,o){for(var i=this.stringToByteArray(t),a=0;a1?t:"0".concat(t)}},{key:"byteArrayToHex",value:function(e,t){var n=this;return e.map((function(e){return n.byteToHex(e)})).join(t||"")}},{key:"convertByte2HexString",value:function(e){var t=this.convertByte2Uint8(e);return this.byteToHex(t)}},{key:"convertU8ToHexString",value:function(e){return this.byteToHex(e)}},{key:"splitUint8To2bytes",value:function(e){if(e<0||e>255)throw"Out of Boundary";var t,n,r=this.convertByte2HexString(e);return r.length>1?(n=parseInt(r.substring(0,1),16),t=parseInt(r.substring(1,2),16)):(n=0,t=parseInt(r.substring(0,1),16)),new Array(n,t)}},{key:"combine2bytesToOne",value:function(e,t){if(e<0||e>15||t<0||t>15)throw"Out of Boundary";return e<<4|t}},{key:"combine2bytesToU16",value:function(e,t){return this.convertByte2Uint8(e)<<8|this.convertByte2Uint8(t)}},{key:"getSpecBytesFromChar",value:function(e){for(var t=new Int8Array(e),n=0;n>6|192,t[n++]=63&o|128):55296==(64512&o)&&r+1>18|240,t[n++]=o>>12&63|128,t[n++]=o>>6&63|128,t[n++]=63&o|128):(t[n++]=o>>12|224,t[n++]=o>>6&63|128,t[n++]=63&o|128)}return t}},{key:"getBytesByString",value:function(e){try{switch(this.ESPTOUCH_ENCODING_CHARSET){case"UTF-8":return this.stringToUtf8ByteArray(e)}}catch(e){throw"the charset is invalid"}}},{key:"testSplitUint8To2bytes",value:function(){var e=this.splitUint8To2bytes(20);1===e[0]&&4===e[1]?console.log("test_splitUint8To2bytes(): pass"):console.log("test_splitUint8To2bytes(): fail")}},{key:"testCombine2bytesToOne",value:function(){20===this.combine2bytesToOne(1,4)?console.log("test_combine2bytesToOne(): pass"):console.log("test_combine2bytesToOne(): fail")}},{key:"testConvertChar2Uint8",value:function(){97===this.convertByte2Uint8("a")&&128===this.convertByte2Uint8(-128)&&255===this.convertByte2Uint8(-1)?console.log("test_convertChar2Uint8(): pass"):console.log("test_convertChar2Uint8(): fail")}},{key:"testConvertUint8toByte",value:function(){97===this.convertUint8toByte("a")&&-128===this.convertUint8toByte(128)&&-1===this.convertUint8toByte(255)?console.log("test_convertUint8toByte(): pass"):console.log("test_convertUint8toByte(): fail")}},{key:"testParseBssid",value:function(){var e=[15,-2,52,-102,-93,-60];console.log(this.parseBssid(e)),"0ffe349aa3c4"===this.parseBssid(e)?console.log("test_parseBssid(): pass"):console.log("test_parseBssid(): fail")}},{key:"testMain",value:function(){this.testConvertUint8toByte(),this.testConvertChar2Uint8(),this.testSplitUint8To2bytes(),this.testCombine2bytesToOne(),this.testParseBssid()}}]),e}()),m=function(){function e(t){if(u()(this,e),d()(this,"mData",""),"string"==typeof t)this.mData=v.stringToByteArray(t);else{if(!(t instanceof Int8Array))throw"data cannot be null";this.mData=t}}return l()(e,[{key:"getData",value:function(){return this.mData}}]),e}(),g=n(12),y=n.n(g),b=n(13),w=n.n(b),_=n(1),E=n.n(_),k=n(14),C=n.n(k),T=new(function(){function e(){u()(this,e),this.mBroadcast=!0,this.mIntervalGuideCodeMillisecond=20,this.mIntervalDataCodeMillisecond=20,this.mTimeoutGuideCodeMillisecond=1500,this.mTimeoutDataCodeMillisecond=5e3,this.mTotalRepeatTime=1,this.mEsptouchResultOneLen=1,this.mEsptouchResultMacLen=6,this.mEsptouchResultIpLen=4,this.mEsptouchResultTotalLen=11,this.mPortListening=18266,this.mTargetPort=7001,this.mWaitUdpReceivingMilliseond=25e3,this.mWaitUdpSendingMillisecond=45e3,this.mThresholdSucBroadcastCount=1,this.mExpectTaskResultCount=1,this._datagramCount=0}return l()(e,[{key:"getIntervalGuideCodeMillisecond",value:function(){return this.mIntervalGuideCodeMillisecond}},{key:"getIntervalDataCodeMillisecond",value:function(){return this.mIntervalDataCodeMillisecond}},{key:"getTimeoutGuideCodeMillisecond",value:function(){return this.mTimeoutGuideCodeMillisecond}},{key:"getTimeoutDataCodeMillisecond",value:function(){return this.mTimeoutDataCodeMillisecond}},{key:"getTimeoutTotalCodeMillisecond",value:function(){return this.mTimeoutGuideCodeMillisecond+this.mTimeoutDataCodeMillisecond}},{key:"getTotalRepeatTime",value:function(){return this.mTotalRepeatTime}},{key:"getEsptouchResultOneLen",value:function(){return this.mEsptouchResultOneLen}},{key:"getEsptouchResultMacLen",value:function(){return this.mEsptouchResultMacLen}},{key:"getEsptouchResultIpLen",value:function(){return this.mEsptouchResultIpLen}},{key:"getEsptouchResultTotalLen",value:function(){return this.mEsptouchResultTotalLen}},{key:"getPortListening",value:function(){return this.mPortListening}},{key:"getTargetHostname",value:function(){if(this.mBroadcast)return"255.255.255.255";var e=this.__getNextDatagramCount();return"234.".concat(e,".").concat(e,".").concat(e)}},{key:"getTargetPort",value:function(){return this.mTargetPort}},{key:"getWaitUdpReceivingMillisecond",value:function(){return this.mWaitUdpReceivingMilliseond}},{key:"getWaitUdpSendingMillisecond",value:function(){return this.mWaitUdpSendingMillisecond}},{key:"getWaitUdpTotalMillisecond",value:function(){return this.mWaitUdpReceivingMilliseond+this.mWaitUdpSendingMillisecond}},{key:"setWaitUdpTotalMillisecond",value:function(e){if(ei)return 1;if(o1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2?arguments[2]:void 0,o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,a=arguments.length>5?arguments[5]:void 0,c=arguments.length>6?arguments[6]:void 0;if(1===r)return this.mSocket.send({address:o,port:i,message:e[n]}),c();setTimeout((function(){var u=Math.min(e.length-1,n+1),s=u>=e.length-1?1:r-1;t.mSocket.send({address:o,port:i,message:e[n]}),t.sendDataSideBySide(e,u,s,o,i,a,c)}),a)}},{key:"sendData",value:(n=a()(o.a.mark((function e(t){var n,r,i,a,c,u,s=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=s.length>1&&void 0!==s[1]?s[1]:0,r=s.length>2?s[2]:void 0,i=s.length>3?s[3]:void 0,a=s.length>4?s[4]:void 0,c=s.length>5?s[5]:void 0,!(null==t||t.length<=0)){e.next=8;break}return console.log(this.TAG,"sendData(): data == null or length <= 0"),e.abrupt("return");case 8:if(!this.isClose){e.next=11;break}return console.log(this.TAG,"udpsocket is close"),e.abrupt("return");case 11:u=n;case 12:if(!(u>>1^this.CRC_POLYNOM:n>>>=1;this.crcTable[t]=n}this.value=this.init=this.CRC_INITIAL}return l()(e,[{key:"updateValue",value:function(e,t,n){for(var r=0;rthis.INDEX_MAX)throw"index > INDEX_MAX";var r=v.splitUint8To2bytes(t);this.mDataHigh=r[0],this.mDataLow=r[1];var o=new N;o.update(v.convertUint8toByte(t)),o.update(n);var i=v.splitUint8To2bytes(v.convertNumberToChar(o.getValue()));this.mCrcHigh=i[0],this.mCrcLow=i[1],this.mSeqHeader=v.convertNumberToByte(n)}return l()(e,[{key:"getBytes",value:function(){var e=new Int8Array(this.DATA_CODE_LEN);return e[0]=0,e[1]=v.combine2bytesToOne(this.mCrcHigh,this.mDataHigh),e[2]=1,e[3]=this.mSeqHeader,e[4]=0,e[5]=v.combine2bytesToOne(this.mCrcLow,this.mDataLow),e}},{key:"toString",value:function(){for(var e="",t=this.getBytes(),n=0;n0&&void 0!==arguments[0]?arguments[0]:"").split("."),t=new Int8Array(e.length),n=0;n127?r-256:r}return t}(o),m=h.length,g=v.convertNumberToChar(this.EXTRA_HEAD_LEN+m+c+p);this.mDataCodes=[],this.mDataCodes.push(new A(g,0)),a^=g,this.mDataCodes.push(new A(c,1)),a^=c,this.mDataCodes.push(new A(l,2)),a^=l,this.mDataCodes.push(new A(f,3)),a^=f;for(var y=0;y=this.mDataCodes.length?this.mDataCodes.push(O):this.mDataCodes.splice(C,0,O),C+=4}}return l()(e,[{key:"getBytes",value:function(){var e=new Int8Array(this.mDataCodes.length*this.DATA_CODE_LEN),t=0;return this.mDataCodes.forEach((function(n){n.getBytes().forEach((function(n){e[t++]=n}))})),e}},{key:"toString",value:function(){for(var e="",t=this.getBytes(),n=0;n2&&void 0!==arguments[2]?arguments[2]:{};i[e]("".concat(c.TAG,"log detail"),{errorCode:t,data:n})},c.logger("info","Welcome Esptouch smartconfig in weapp"),c}var n,r;return C()(t,e),l()(t,[{key:"__checkTaskValid",value:function(){return this.mIsExecuted?(this.logger("error","the Esptouch task could be executed only once"),!1):(this.mIsExecuted=!0,!0)}},{key:"start",value:(r=a()(o.a.mark((function e(){var t,n,r,i=arguments;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=i.length>0&&void 0!==i[0]?i[0]:1,this.__checkTaskValid()){e.next=3;break}return e.abrupt("return");case 3:this.mParameter.setExpectTaskResultCount(t),this.logger("info","start smartconfig in promise settimeout"),n=new L(this.mApSsid,this.mApBssid,this.mApPassword,this.mLocalIp,this.mEncryptor),this.mSocketServer.startServer(),this.__listenAsyn(this.mParameter.getEsptouchResultTotalLen()),r=0;case 10:if(!(r0&&void 0!==arguments[0]?arguments[0]:1;if(this.__checkTaskValid()){this.mParameter.setExpectTaskResultCount(t),this.logger("info","start smartconfig in no promise settimeout");var n=new L(this.mApSsid,this.mApBssid,this.mApPassword,this.mLocalIp,this.mEncryptor);this.mSocketServer.startServer(),this.__listenAsyn(this.mParameter.getEsptouchResultTotalLen()),this.__executeInNoPromise(n),setTimeout((function(){e.mIsSuc||e.emit("onError",{code:j.ConnectDeviceErrorCode.SMART_CONFIG_TIMEOUT}),e.emit("result",e.__getEsptouchResultList()),e.interrupt()}),this.mParameter.getWaitUdpReceivingMillisecond())}}},{key:"__executeInNoPromise",value:function(e){var t=Date.now(),n=t-this.mParameter.getTimeoutTotalCodeMillisecond(),r=0,o=this,i=e.getGCBytes2(),a=e.getDCBytes2();function c(){if(!o.mIsInterrupt&&Date.now()-t=o.mParameter.getTimeoutDataCodeMillisecond()?(o.logger("info","send gc code "),c(),n=t):(o.mSocketClient.sendDataSideBySide(a,r,o.ONE_DATA_LEN,o.mParameter.getTargetHostname(),o.mParameter.getTargetPort(),o.mParameter.getIntervalDataCodeMillisecond(),u),r=(r+o.ONE_DATA_LEN)%a.length),t=Date.now())}u(),setTimeout((function(){o.interrupt(),o.emit("result",o.__getEsptouchResultList())}),this.mParameter.getWaitUdpSendingMillisecond())}},{key:"__execute",value:(n=a()(o.a.mark((function e(t){var n,r,i,a,c,u;return o.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=Date.now(),i=(r=n)-this.mParameter.getTimeoutTotalCodeMillisecond(),a=t.getGCBytes2(),c=t.getDCBytes2(),u=0;case 6:if(this.mIsInterrupt){e.next=27;break}if(!(r-i>=this.mParameter.getTimeoutDataCodeMillisecond())){e.next=19;break}this.logger("info","send gc code ");case 9:if(this.mIsInterrupt||!(Date.now()-rthis.mParameter.getWaitUdpSendingMillisecond())){e.next=14;break}return e.abrupt("break",16);case 14:e.next=9;break;case 16:i=r,e.next=22;break;case 19:return e.next=21,this.mSocketClient.sendData(c,u,this.ONE_DATA_LEN,this.mParameter.getTargetHostname(),this.mParameter.getTargetPort(),this.mParameter.getIntervalDataCodeMillisecond());case 21:u=(u+this.ONE_DATA_LEN)%c.length;case 22:if(!((r=Date.now())-n>this.mParameter.getWaitUdpSendingMillisecond())){e.next=25;break}return e.abrupt("break",27);case 25:e.next=6;break;case 27:return e.abrupt("return",this.mIsSuc);case 28:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"__listenAsyn",value:function(){var e=this;this.logger("info","__listenAsyn() start");var t=this.mApSsid,n=this.mApPassword,r=Date.now(),o=v.convertUint8toByte(t.length+n.length+9);this.logger("info","expectOneByte: ".concat(o)),this.mSocketServer.on("recieveCorrectMsg",(function(t){e.logger("info","RECIEVE_MSG",t),function(t){var n,i=t.message,a=t.remoteInfo,c=new Int8Array(i);if(e.logger("info","Int8Array",c),n=null!=c?c[0]:-1,e.logger("info","receiveOneByte: ".concat(n)),n===o){e.logger("info","receive correct broadcast");var u=Date.now()-r,s=Number(e.mParameter.getWaitUdpTotalMillisecond()-u);if(s<0)e.logger("error","esptouch timeout");else if(e.logger("error","mSocketServer's new timeout is ".concat(s," milliseconds")),e.logger("info","receive correct broadcast"),null!=c){var l=v.parseBssid(c,e.mParameter.getEsptouchResultOneLen(),e.mParameter.getEsptouchResultMacLen()),f=function(e,t,n){for(var r="",o=0;o=e.mParameter.getExpectTaskResultCount(),e.mIsSuc&&(e.logger("info","__listenAsyn() finish"),e.interrupt())}))}},{key:"__putEsptouchResult",value:function(e,t,n,r){var o=this.mBssidTaskSucCountMap[t];if(null==o&&(o=0),++o,this.logger("info","PUT_ESPTOUCH_RESULT","__putEsptouchResult(): count = ".concat(o)),this.mBssidTaskSucCountMap[t]=o,o>=this.mParameter.getThresholdSucBroadcastCount()){for(var i=!1,a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}},function(e,t,n){var r=n(16),o=n(17),i=n(18);e.exports=function(e){return r(e)||o(e)||i()}},function(e,t,n){"use strict";var r,o,i,a=n(25),c="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-";function u(){i=!1}function s(e){if(e){if(e!==r){if(e.length!==c.length)throw new Error("Custom alphabet for shortid must be "+c.length+" unique characters. You submitted "+e.length+" characters: "+e);var t=e.split("").filter((function(e,t,n){return t!==n.lastIndexOf(e)}));if(t.length)throw new Error("Custom alphabet for shortid must be "+c.length+" unique characters. These characters were not unique: "+t.join(", "));r=e,u()}}else r!==c&&(r=c,u())}function l(){return i||(i=function(){r||s(c);for(var e,t=r.split(""),n=[],o=a.nextValue();t.length>0;)o=a.nextValue(),e=Math.floor(o*t.length),n.push(t.splice(e,1)[0]);return n.join("")}())}e.exports={get:function(){return r||c},characters:function(e){return s(e),r},seed:function(e){a.seed(e),o!==e&&(u(),o=e)},lookup:function(e){return l()[e]},shuffled:l}},function(e,t,n){var r=n(21),o=n(22),i=n(23);e.exports=function(e,t){return r(e)||o(e,t)||i()}},function(e,t,n){"use strict";var r=n(13),o=n(26),i=n(30),a=n(31)||0;function c(){return o(a)}e.exports=c,e.exports.generate=c,e.exports.seed=function(t){return r.seed(t),e.exports},e.exports.worker=function(t){return a=t,e.exports},e.exports.characters=function(e){return void 0!==e&&r.characters(e),r.shuffled()},e.exports.isValid=i},function(e,t){e.exports=function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),s}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;_(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:k(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),s}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw i}}return n}}},function(e,t){e.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}},function(e,t){e.exports=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r=0||(o[n]=e[n]);return o}},function(e,t,n){"use strict";var r=1;e.exports={nextValue:function(){return(r=(9301*r+49297)%233280)/233280},seed:function(e){r=e}}},function(e,t,n){"use strict";var r,o,i=n(27);n(13),e.exports=function(e){var t="",n=Math.floor(.001*(Date.now()-1459707606518));return n===o?r++:(r=0,o=n),t+=i(6),t+=i(e),r>0&&(t+=i(r)),t+i(n)}},function(e,t,n){"use strict";var r=n(13),o=n(28),i=n(29);e.exports=function(e){for(var t,n=0,a="";!t;)a+=i(o,r.get(),1),t=e-1&&r.splice(o,1)}else n[e].length=0;return this}},{key:"emit",value:function(e){for(var t=this,n=arguments.length,r=new Array(n>1?n-1:0),o=1;o2?n-2:0),o=2;o1&&void 0!==r[1]&&r[1],e.prev=1,e.next=4,this.callWxApi("createBLEConnection",t);case 4:e.next=24;break;case 6:if(e.prev=6,e.t0=e.catch(1),n||!e.t0||!e.t0.errMsg||!e.t0.errMsg.indexOf(!1)){e.next=23;break}return console.log("already connect, try disconnect"),e.prev=10,e.next=13,this.closeBLEConnection(t);case 13:console.log("disconnect success",t),e.next=19;break;case 16:e.prev=16,e.t1=e.catch(10),console.warn("disconnect fail",e.t1);case 19:return console.log("try connect again",t),e.abrupt("return",this.createBLEConnection(t,!0));case 23:return e.abrupt("return",Promise.reject(e.t0));case 24:case"end":return e.stop()}}),e,this,[[1,6],[10,16]])}))),function(e){return n.apply(this,arguments)})},{key:"closeBLEConnection",value:function(e){return this.callWxApi("closeBLEConnection",e)}},{key:"onBluetoothAdapterStateChange",value:function(e){this._onBluetoothAdapterStateChangeHandler=e}},{key:"offBluetoothAdapterStateChange",value:function(){this._onBluetoothAdapterStateChangeHandler=null}},{key:"onBLEConnectionStateChange",value:function(e){this._onBLEConnectionStateChangeHandler=e}},{key:"offBLEConnectionStateChange",value:function(){this._onBLEConnectionStateChangeHandler=null}},{key:"onBLECharacteristicValueChange",value:function(e){this._onBLECharacteristicValueChangeHandler=e}},{key:"offBLECharacteristicValueChange",value:function(){this._onBLECharacteristicValueChangeHandler=null}},{key:"onBluetoothDeviceFound",value:function(e){this._onBluetoothDeviceFoundHandler=e}},{key:"offBluetoothDeviceFound",value:function(){this._onBluetoothDeviceFoundHandler=null}}]),t}(N),j=n(10),U=n.n(j),F=n(11),B=n.n(F);function V(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function W(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:{},t=e.serviceId;t=t||this.serviceId;var n=this.characteristicsMap[t]||{writeIds:[],notifyIds:[],readIds:[],indicateIds:[]};return n.notifyIds[0]||n.indicateIds[0]}},{key:"isDevMode",value:function(){return location.href.indexOf("/developing/")>-1}},{key:"handleBLEMessage",value:function(e,t){return t.serviceId,t.characteristicId,e}},{key:"registerDevice",value:(p=C()(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._deviceRegistered){e.next=4;break}return e.next=3,this.sdk.blueToothBridge.control("registryDevice",{deviceName:this._deviceName,productId:this.isDevMode()?this._productId:""});case 3:this._deviceRegistered=!0;case 4:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"_onBleConnectionStateChange",value:function(e){var t=e.connected;this._deviceConnected=t,this.emit("bLEConnectionStateChange",{connected:t}),t?this.emit("connect"):this.disconnectDevice()}},{key:"_onBLECharacteristicValueChange",value:(f=C()(u.a.mark((function e(t){var n,r,o,i,a,c,s,l,f;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.serviceId,r=t.characteristicId,o=t.value,e.prev=1,i=this.handleBLEMessage(o,{serviceId:n,characteristicId:r}),a=i.shouldIgnore,c=i.reportData,s=B()(i,["shouldIgnore","reportData"]),console.log("shouldIgnore?",a),!a){e.next=6;break}return e.abrupt("return");case 6:if(console.log("receive data",o,s),console.log("should report?",!!c,c),l=Date.now(),f=!1,!this._deviceName||!c){e.next=14;break}return f=!0,e.next=14,this.sdk.requestTokenApi("AppReportDataAsDevice",{ProductId:this._productId,DeviceName:this._deviceName,Data:JSON.stringify(c),DataTimeStamp:l});case 14:this.emit("message",W({},s,{timestamp:l,dataReported:f})),e.next=20;break;case 17:e.prev=17,e.t0=e.catch(1),console.error("onBLECharacteristicValueChange onError,",e.t0);case 20:case"end":return e.stop()}}),e,this,[[1,17]])}))),function(e){return f.apply(this,arguments)})},{key:"disconnectDevice",value:function(){this.sdk.blueToothBridge.closeBLEConnection({deviceId:this._deviceId}),this.emit("disconnect")}},{key:"connectDevice",value:(s=C()(u.a.mark((function e(){var t,n,r,o,i,a,c=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=c.length>0&&void 0!==c[0]?c[0]:{},n=t.autoNotify,r=void 0===n||n,o=this.sdk.blueToothBridge,e.prev=2,!this._deviceConnected){e.next=6;break}return console.log("Deviceå·²ç»è¿žæŽ¥",this._deviceId),e.abrupt("return");case 6:return e.next=8,this.registerDevice();case 8:return e.next=10,o.createBLEConnection({deviceId:this._deviceId});case 10:if(console.log("createBLEConnection succ"),!r){e.next=25;break}return e.next=14,this.getBLEDeviceServices();case 14:return i=e.sent,console.log("getBLEDeviceServices succ",i),this.emit("onGetBLEDeviceServices",i),e.next=19,this.getBLEDeviceCharacteristics();case 19:return a=e.sent,console.log("getBLEDeviceCharacteristics succ",a),this.emit("onGetBLEDeviceCharacteristics",a),e.next=24,this.notifyBLECharacteristicValueChange();case 24:console.log("notifyBLECharacteristicValueChange succ");case 25:e.next=31;break;case 27:throw e.prev=27,e.t0=e.catch(2),console.error("connectDevice error",e.t0),e.t0;case 31:case"end":return e.stop()}}),e,this,[[2,27]])}))),function(){return s.apply(this,arguments)})},{key:"bindDevice",value:(c=C()(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.registerDevice();case 2:return e.next=4,this.sdk.blueToothBridge.control("bindDevice",{deviceName:this._deviceName,productId:this.isDevMode()?this._productId:""});case 4:return e.abrupt("return",this.explorerDeviceId);case 5:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"write",value:(i=C()(u.a.mark((function e(t){var n,r,o,i,a,c=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},r=n.writeId,o=void 0===r?"":r,i=n.serviceId,a=void 0===i?"":i,e.prev=1,e.next=4,this.sdk.blueToothBridge.writeBLECharacteristicValue({deviceId:this._deviceId,characteristicId:o||this._writeId,serviceId:a||this.serviceId,value:t});case 4:e.next=9;break;case 6:return e.prev=6,e.t0=e.catch(1),e.abrupt("return",Promise.reject(e.t0));case 9:case"end":return e.stop()}}),e,this,[[1,6]])}))),function(e){return i.apply(this,arguments)})},{key:"getBLEDeviceServices",value:(o=C()(u.a.mark((function e(){var t,n;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.sdk.blueToothBridge.getBLEDeviceServices({deviceId:this._deviceId});case 2:return t=e.sent,n=t.services,this._services=n,e.abrupt("return",n);case 6:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"setCharacteristicsIds",value:function(e,t){var n=this,r=function(e,t){-1===e.indexOf(t)&&e.push(t)};t.forEach((function(e){var t=e.uuid,o=e.properties,i=o.notify,a=o.write,c=o.indicate,u=o.read;i?r(n.map.notifyIds,t):a?r(n.map.writeIds,t):c?r(n.map.indicateIds,t):u&&r(n.map.readIds,t)})),this.characteristicsMap[e]={notifyIds:[],writeIds:[],indicateIds:[],readIds:[]}}},{key:"getBLEDeviceCharacteristics",value:(r=C()(u.a.mark((function e(){var t,n,r,o,i=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},n=(n=t.serviceId)||this.serviceId,e.next=4,this.sdk.blueToothBridge.getBLEDeviceCharacteristics({deviceId:this._deviceId,serviceId:n});case 4:return r=e.sent,o=r.characteristics,this.setCharacteristicsIds(n,o),e.abrupt("return",o);case 8:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"notifyBLECharacteristicValueChange",value:(n=C()(u.a.mark((function e(){var t,n,r,o,i,a=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=a.length>0&&void 0!==a[0]?a[0]:{},n=t.characteristicId,r=t.serviceId,o=t.state,i=void 0===o||o,n=n||this._getNotifyId(),r=r||this.serviceId,n){e.next=7;break}console.warn("未找到指定service下的notifyId,该设备å¯èƒ½ä¸æ”¯æŒnotify"),e.next=9;break;case 7:return e.next=9,this.sdk.blueToothBridge.notifyBLECharacteristicValueChange({deviceId:this._deviceId,characteristicId:n,serviceId:r,state:i});case 9:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"deviceId",get:function(){return this._deviceId}},{key:"isConnected",get:function(){return this._deviceConnected}},{key:"originName",get:function(){return this._name}},{key:"explorerDeviceId",get:function(){return"".concat(this._productId,"/").concat(this._deviceName)}},{key:"serviceId",get:function(){return this.constructor.serviceId}},{key:"_writeId",get:function(){return((this.characteristicsMap[this.serviceId]||{}).writeIds||[])[0]}},{key:"_notifyId",get:function(){return((this.characteristicsMap[this.serviceId]||{}).notifyIds||[])[0]}},{key:"_readId",get:function(){return((this.characteristicsMap[this.serviceId]||{}).readIds||[])[0]}},{key:"_indicateId",get:function(){return((this.characteristicsMap[this.serviceId]||{}).indicateIds||[])[0]}}],[{key:"deviceFilter",value:function(e){throw new Error("具体产å“需è¦è‡ªè¡Œå®žçŽ°è¯¥æ–¹æ³•")}}]),t}(N);a()(H,"helper",{hexToArrayBuffer:function(e){return new Uint8Array(e.match(/[\da-f]{2}/gi).map((function(e){return parseInt(e,16)}))).buffer},arrayBufferToHexStringArray:function(e){try{if("[object ArrayBuffer]"!==Object.prototype.toString.call(e))throw"invalid array buffer";for(var t=new DataView(e),n=[],r=0,o=t.byteLength;r0&&void 0!==o[0]?o[0]:{},n=t.devices,r=void 0===n?[]:n,"function"==typeof this._onBluetoothDeviceFoundHandler&&this._onBluetoothDeviceFoundHandler(r);case 2:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"startSearch",value:(r=C()(u.a.mark((function e(t){var n,r,o,i,a,c,s,l,f,d,p,h,v,m=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.serviceId,r=t.serviceIds,o=t.ignoreDeviceIds,i=void 0===o?[]:o,a=t.onSearch,c=void 0===a?R:a,s=t.onError,l=void 0===s?R:s,f=t.timeout,d=void 0===f?2e4:f,n&&!r&&(r=[n]),p=0,h=function(e){m.stopSearch(),l(e)},e.prev=4,e.next=7,this.sdk.blueToothBridge.startBluetoothDevicesDiscovery();case 7:this._onBluetoothDeviceFoundHandler=function(e){try{var t=m._filterDevices({devices:e,serviceIds:r,ignoreDeviceIds:i});p=t.length,c(t)}catch(e){console.log("onSearch error",e),h(e)}},v=function(e){e.available||h({code:10001,msg:"å‘çŽ°è®¾å¤‡éœ€å¼€å¯æ‰‹æœºè“牙"})},this.on("adapterStateChange",v),this.addCleanupTask("startSearch",(function(){m._onBluetoothDeviceFoundHandler=null,m.off("adapterStateChange",v)})),setTimeout((function(){p||h("未å‘现设备,请确认设备已开å¯")}),d),e.next=18;break;case 14:throw e.prev=14,e.t0=e.catch(4),this.cleanup("startSearch"),e.t0;case 18:case"end":return e.stop()}}),e,this,[[4,14]])}))),function(e){return r.apply(this,arguments)})},{key:"stopSearch",value:function(){this.cleanup("startSearch"),this.sdk.blueToothBridge.stopBluetoothDevicesDiscovery()}},{key:"searchDevice",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.serviceId,r=t.serviceIds,o=t.deviceName,i=t.ignoreDeviceIds,a=void 0===i?[]:i,c=this.sdk.blueToothBridge;return n&&!r&&(r=[n]),o||console.log("searching for deviceName => ",o),this._searchDevicePromise||(this._searchDevicePromise=new Promise(function(){var t=C()(u.a.mark((function t(n,i){var s,l;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return s=function(t){c.stopBluetoothDevicesDiscovery(),i(t),e._searchDevicePromise=null},l=function(t){c.stopBluetoothDevicesDiscovery(),n(t),e._searchDevicePromise=null},e._onBluetoothDeviceFoundHandler=function(t){try{var n=e._filterDevices({devices:t,serviceIds:r,deviceName:o,ignoreDeviceIds:a});console.log("matchedDevices: ",n),n.length>0&&(console.log("doFindDevice",n[0]),l(n[0]))}catch(e){s(e)}},t.prev=3,t.next=6,c.startBluetoothDevicesDiscovery();case 6:console.log("startBluetoothDevicesDiscovery succ"),setTimeout((function(){l()}),5e3),t.next=13;break;case 10:t.prev=10,t.t0=t.catch(3),s(t.t0);case 13:case"end":return t.stop()}}),t,null,[[3,10]])})));return function(e,n){return t.apply(this,arguments)}}()))}},{key:"getDeviceAdapter",value:function(e){return this._deviceMap[e]}},{key:"connectDevice",value:(n=C()(u.a.mark((function e(t){var n,r,o,i,a,c,s,l,f,d,p=this,h=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.deviceId,r=t.serviceId,o=t.deviceName,i=t.productId,a=t.name,c=h.length>1&&void 0!==h[1]?h[1]:{},s=c.autoNotify,l=void 0===s||s,e.prev=2,f=this._deviceAdapterMap[r]){e.next=6;break}throw"æ— åŒ¹é…çš„ deviceAdapter!";case 6:if(!this._deviceMap[n]||!this._deviceMap[n].isConnected){e.next=9;break}return console.log("find device adapter",this._deviceMap[n]),e.abrupt("return",this._deviceMap[n]);case 9:return d=this._deviceMap[n]=new f(this.sdk,{deviceId:n,deviceName:o,productId:i,name:a,autoNotify:l}),e.next=12,d.connectDevice();case 12:return console.log("deviceConnected"),d.on("disconnect",(function(){console.log("ondisconnect, cleanup adapter",d),delete p._deviceMap[n]})),console.log("return adapter"),e.abrupt("return",d);case 18:return e.prev=18,e.t0=e.catch(2),delete this._deviceMap[n],e.abrupt("return",Promise.reject(e.t0));case 22:case"end":return e.stop()}}),e,this,[[2,18]])}))),function(e){return n.apply(this,arguments)})}]),t}(N),G=n(15),q=n.n(G);function $(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function Q(e){for(var t=1;t ".concat(t._manuallyClose)),t.disconnect(),t.emit("close",n),t.sdk.insightReportor.info("websocket-close",{data:n}),t._manuallyClose&&(t._manuallyClose=!1);case 5:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}())}catch(e){o(e)}case 2:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}())));case 1:case"end":return e.stop()}}),e,this)}))),function(){return o.apply(this,arguments)})},{key:"connect",value:(r=C()(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.isConnected()){e.next=3;break}return e.next=3,this.doConnectWs();case 3:return e.next=5,this.activeConnect();case 5:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"disconnect",value:function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.ws&&(this._manuallyClose=e,this.ws.close(),this._connected=!1,this._doConnectWsPromise=null,this.ws=null,clearInterval(this._heartBeatTimer),this._heartBeatTimer=null)}},{key:"send",value:(n=C()(u.a.mark((function e(t){var n,r,o,i,a,c,s,l,f=this,d=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=d.length>1&&void 0!==d[1]?d[1]:{},r=d.length>2&&void 0!==d[2]?d[2]:{},o=r.reqId,i=r.doNotWaitForClientResponse,o||(o=q()()),a=Date.now(),e.next=6,this.sdk.appDevSdk.init();case 6:if(c={AccessToken:this.sdk.appDevSdk.loginManager.accessToken,Type:"h5",Data:n},!this.ws){e.next=23;break}return this.ws.send(JSON.stringify({action:t,params:c,reqId:o})),s={reqBody:Object(T.cutoffLong)(JSON.stringify(c)),action:t,reqId:o},l=function(){return f.requestHandlerMap.delete(o)},e.prev=11,e.next=14,Promise.race([new Promise((function(e,t){f.requestHandlerMap.set(o,(function(n,r){if(s.timeCost=Date.now()-a,n)t(n),l();else if(r.error||r.error_message)t({code:r.error,msg:r.error_message}),l();else if(r.data&&"response"===r.data.action){var o=r.data.payload,c=void 0===o?{}:o,u=c.code,d=c.msg,p=B()(c,["code","msg"]);u?t(Q({code:u,msg:d},p)):(e(c),f.sdk.insightReportor.info("h5-websocket-response",Q({},s,{data:c}))),l()}else i&&(e(r.data),f.sdk.insightReportor.info("h5-websocket-response",Q({},s,{data:r.data})))}))})),new Promise((function(e,t){setTimeout((function(){t({code:"TIMEOUT"})}),2e4)}))]);case 14:return e.abrupt("return",e.sent);case 17:return e.prev=17,e.t0=e.catch(11),this.sdk.insightReportor.error("h5-websocket-error",{error:e.t0}),e.abrupt("return",Promise.reject(e.t0));case 21:e.next=24;break;case 23:console.warn("Try send ws message but no ws instance",t,c);case 24:case"end":return e.stop()}}),e,this,[[11,17]])}))),function(e){return n.apply(this,arguments)})},{key:"activeConnect",value:function(){return this.send("ActiveConnect",{},{doNotWaitForClientResponse:!0})}}]),t}(N),X=function(){function e(t){l()(this,e),this.$offlineTips=document.querySelector("#J_offline_modal"),this.$offlineTipsMask=document.querySelector("#J_offline_mask"),this.$offlineTipsCloseBtn=document.querySelector("#J_offline_close"),this.$offlineTipsFeedBack=document.querySelector("#J_offline_feedback"),this.$offlineTipsBackHome=document.querySelector("#J_offline_backHome"),this.sdk=t,this._bindClickEvents()}return d()(e,[{key:"hide",value:function(){this.$offlineTips.classList.add("hide")}},{key:"show",value:function(){this.$offlineTips.classList.remove("hide")}},{key:"_bindClickEvents",value:function(){var e=this;this.$offlineTipsMask.addEventListener("click",(function(){e.hide()})),this.$offlineTipsCloseBtn.addEventListener("click",(function(){e.hide()})),this.$offlineTipsFeedBack.addEventListener("click",(function(){e.sdk.goFeedBackPage()})),this.$offlineTipsBackHome.addEventListener("click",(function(){e.sdk.navBack()}))}}]),e}(),J=["vendor/regenerator-runtime.js","lib/WAService.js"];function Z(e){var t=e.split(/\r?\n/g);return(t=t.filter((function(e){return!J.some((function(t){return e.indexOf(t)>-1}))}))).join("\n")}function ee(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function te(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{},r=n.consumeCountPerTime,o=void 0===r?20:r,i=n.minConsumeCount,c=void 0===i?10:i,u=n.consumeInterval,s=void 0===u?5e3:u,f=n.eventFilter,d=void 0===f?R:f;l()(this,e),a()(this,"config",{consumeCountPerTime:20,consumeInterval:5e3,minConsumeCount:10,maxIdleTime:1e4}),a()(this,"eventQueue",[]),a()(this,"eventFilters",R),a()(this,"lastConsumeTime",Date.now()),a()(this,"tid",void 0),this.sdk=t,this.config={consumeCountPerTime:o,minConsumeCount:c,consumeInterval:s,maxIdleTime:2*s},"function"==typeof d&&(this.eventFilter=d)}var t,n,r;return d()(e,[{key:"startReportPolling",value:function(){var e=this;console.log("startReportPolling"),this.tid=setInterval((function(){if(e.eventQueue.length){var t=(new Date).getTime();(e.eventQueue.length>=e.config.minConsumeCount||t-e.lastConsumeTime>e.config.maxIdleTime)&&e.consume()}}),this.config.consumeInterval)}},{key:"stopReportPolling",value:function(){console.log("stopReportPolling"),this.clearQueue(),clearInterval(this.tid)}},{key:"doReport",value:(r=C()(u.a.mark((function e(t){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",Object(T.request)({url:"https://iot.cloud.tencent.com/insight/event",data:t,method:"POST"}));case 1:case"end":return e.stop()}}),e)}))),function(e){return r.apply(this,arguments)})},{key:"report",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.pushEventQueue(e,t)}},{key:"info",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.report(e,te({level:0},t))}},{key:"warn",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.report(e,te({level:1},t))}},{key:"error",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.report(e,te({level:2},t))}},{key:"pushEventQueue",value:function(e,t){try{var n=t||{},r=n.app,o=void 0===r?"iot-weapp":r,i=n.type,a=void 0===i?"iot-weapp-h5":i,c=n.at,u=n.path,s=n.level,l=void 0===s?0:s,f=n.message,d=n.stack,p=n.error,h=B()(n,["app","type","at","path","level","message","stack","error"]);c||(c=Date.now()),u=u||location.pathname;var v=this.sdk,m=v.lid,g=v.born,y=v.quid,b=te({event:e,type:a,app:o,lid:m,born:g,at:c,path:u,level:l,uin:v.uin,quid:y,message:f,stack:d,deviceId:v.deviceId},h);if(p&&("string"==typeof p?b.message=p:(b.message||(b.message=p.message||p.msg||p.errMsg),p instanceof Error&&(b.stack=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Error("captureStack");try{return e&&e.stack?Z(e.stack):""}catch(t){return e?e.stack:""}}(p),b.message=p.message),"code"in p&&(b.code=p.code),p.detail&&(b.data=p.detail))),void 0!==b.code&&(b.code=String(b.code)),this.eventFilters(b))return;this.enqueue(b)}catch(e){console.error("push insight queue fail",e)}}},{key:"consume",value:(n=C()(u.a.mark((function e(){var t;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this.lastConsumeTime=Date.now(),e.prev=1,this.eventQueue.length>1e3&&this.eventQueue.splice(0,100),t=this.eventQueue.slice(0,this.config.consumeCountPerTime),this.sdk.debug){e.next=9;break}return e.next=7,this.doReport(t);case 7:e.next=10;break;case 9:console.log("report insight",t);case 10:this.eventQueue.splice(0,this.config.consumeCountPerTime),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),console.warn("report insight fail",e.t0);case 16:case"end":return e.stop()}}),e,this,[[1,13]])}))),function(){return n.apply(this,arguments)})},{key:"enqueue",value:function(e,t){if(t)return this.eventQueue.unshift(e),void this.consume();this.eventQueue.push(e)}},{key:"clearQueue",value:(t=C()(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this.eventQueue.length){e.next=10;break}return e.prev=1,e.next=4,this.consume();case 4:e.next=8;break;case 6:e.prev=6,e.t0=e.catch(1);case 8:e.next=0;break;case 10:case"end":return e.stop()}}),e,this,[[1,6]])}))),function(){return t.apply(this,arguments)})}]),e}(),re=["border-radius: 50%","width: 10px","height: 10px","background: #f00","position: absolute","right: 17px","top: 50%","margin-top: -5px","visibility: hidden"].join("; "),oe=function(e){return''.concat(e,"
")},ie=function(){function e(t){l()(this,e),this.sdk=t}var t,n,r,o;return d()(e,[{key:"renderRedDot",value:function(e){var t=e.deviceId;return this.deviceId=t,'
')}},{key:"getUpgradeInfo",value:(o=C()(u.a.mark((function e(t){var n,r,o,i,a,c,s,l,f;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.deviceId,r=n.split("/"),o=E()(r,2),i=o[0],a=o[1],e.next=4,this.sdk.requestTokenApi("AppCheckFirmwareUpdate",{ProductId:i,DeviceName:a});case 4:return c=e.sent,s=c.CurrentVersion,l=c.DstVersion,f=Boolean(l)&&l!==s,n===this.deviceId&&this.setRedDotVisible(f),e.abrupt("return",{CurrentVersion:s,DstVersion:l,IsUpgradable:f});case 10:case"end":return e.stop()}}),e,this)}))),function(e){return o.apply(this,arguments)})},{key:"showCheckUpgradeModal",value:(r=C()(u.a.mark((function e(t){var n,r,o,i,a=this;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.deviceId,o=new Promise((function(e,t){r=t})),this.sdk.tips.showModal({title:"æ£åœ¨æ£€æŸ¥â€¦",content:"",confirmText:"å–æ¶ˆ",showCancel:!1}).then((function(e){e&&r()})),e.prev=3,e.next=6,Promise.race([this.getUpgradeInfo({deviceId:n}),o]);case 6:(i=e.sent).IsUpgradable?this.sdk.tips.showModal({title:"å¯å‡çº§å›ºä»¶",content:oe("当å‰å›ºä»¶ç‰ˆæœ¬ä¸º".concat(i.CurrentVersion," 最新固件版本为").concat(i.DstVersion," 是å¦å‡çº§ï¼Ÿ")),confirmText:"ç«‹å³å‡çº§",cancelText:"å–æ¶ˆ"}).then((function(e){e&&a.goFirmwareUpgradePage({deviceId:n})})):this.sdk.tips.showModal({title:"已是最新版本",content:oe(i.CurrentVersion?"当å‰å›ºä»¶ç‰ˆæœ¬ä¸º".concat(i.CurrentVersion):""),confirmText:"确定",showCancel:!1}),e.next=15;break;case 10:if(e.prev=10,e.t0=e.catch(3),e.t0){e.next=14;break}return e.abrupt("return");case 14:this.sdk.tips.showModal({title:"检查固件更新失败",content:"",confirmText:"确定",showCancel:!1});case 15:case"end":return e.stop()}}),e,this,[[3,10]])}))),function(e){return r.apply(this,arguments)})},{key:"showUpgradableModal",value:(n=C()(u.a.mark((function e(t){var n,r;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.deviceId,r=t.dstVersion,e.next=3,this.sdk.tips.showModal({title:"å‘现新固件",content:oe("å‘现设备有新版本(".concat(r,"),是å¦å‡çº§ï¼Ÿ")),confirmText:"ç«‹å³å‡çº§",cancelText:"å–æ¶ˆ"});case 3:e.sent&&this.goFirmwareUpgradePage({deviceId:n});case 5:case"end":return e.stop()}}),e,this)}))),function(e){return n.apply(this,arguments)})},{key:"goFirmwareUpgradePage",value:function(e){var t=this,n=e.deviceId;if(n===this.deviceId){var r={WaitForHide:0,WaitForShow:1},o=r.WaitForHide;document.addEventListener("visibilitychange",(function e(){switch(o){case r.WaitForHide:"hidden"===document.visibilityState&&(o=r.WaitForShow);break;case r.WaitForShow:"visible"===document.visibilityState&&(document.removeEventListener("visibilitychange",e),t.refreshRedDot())}}))}return this.sdk.callMpApi("navigateTo",{url:"/pages/Device/DeviceUpgradeFirmware/DeviceUpgradeFirmware?deviceId=".concat(n)})}},{key:"refreshRedDot",value:(t=C()(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this.getUpgradeInfo({deviceId:this.deviceId});case 3:e.next=8;break;case 5:e.prev=5,e.t0=e.catch(0),console.error("refreshRedDot fail",e.t0);case 8:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(){return t.apply(this,arguments)})},{key:"setRedDotVisible",value:function(e){var t=document.querySelector(".".concat("explorer-device-detail-firmware-upgrade-dot"));t&&(t.style.visibility=e?"visible":"hidden")}}]),e}();function ae(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function ce(e){for(var t=1;t-1)return console.log("match heatbeat, ignore"),!0}}),e.appDevSdk=new S.a({debug:e.debug,appKey:"",getAccessToken:(n=C()(u.a.mark((function e(){return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",{Token:ue});case 1:case"end":return e.stop()}}),e)}))),function(){return n.apply(this,arguments)}),wsConfig:{},reportor:function(t,n){return e.insightReportor.report(t,n)}}),e.appDevSdk.init().then((function(){e.insightReportor.info("app-dev-sdk-init"),e.appDevSdk.subscribeDevices([ye]),e.h5Websocket.connect(),e.insightReportor.startReportPolling()})).catch((function(t){return e.insightReportor.error("app-dev-sdk-fail",{error:t}),Promise.reject(t)}));var r=(ke.find((function(e){return e.RoomId===ge.RoomId}))||{}).RoomName,o=void 0===r?"":r;return e.roomName=o,e.dataTemplate={},e.productInfo=ve,e.wx=window.wx,e.tips=window.iotexplorerH5PanelTips,e.iotexplorerH5PanelDeviceDetail=window.iotexplorerH5PanelDeviceDetail,e.themeColorMap={primary:"#0052d9",success:"#29cc85",grey:"#bbb",danger:"#ff584c",weak:"#888",muted:"#bbb"},e.offlineTip=new X(y()(e)),e.firmwareUpgrade=new ie(y()(e)),e.h5Websocket=new Y(y()(e)),e.blueToothBridge=new L(y()(e)),e.blueToothAdapter=new z(y()(e)),e.injectEventsHandler(),e.on("appShow",(function(){return e.insightReportor.startReportPolling()})).on("appHide",(function(){return e.insightReportor.stopReportPolling()})),e}var n,r,i,a,c,s,f,p,v,g;return w()(t,e),d()(t,[{key:"callMpApi",value:(g=C()(u.a.mark((function e(t){var n,r,o=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=o.length>1&&void 0!==o[1]?o[1]:{},e.prev=1,e.next=4,this.wxSdkReady();case 4:return e.next=6,new Promise((function(e,r){try{wx.miniProgram[t](ce({},n,{success:function(t){e(t)},fail:function(e){r(e)}}))}catch(e){r(e)}}));case 6:return r=e.sent,this.insightReportor.info("call-mp-api-success",{action:t,reqBody:n,data:r}),e.abrupt("return",r);case 11:e.prev=11,e.t0=e.catch(1),this.insightReportor.info("call-mp-api-fail",{action:t,reqBody:n,error:e.t0});case 14:case"end":return e.stop()}}),e,this,[[1,11]])}))),function(e){return g.apply(this,arguments)})},{key:"showOfflineTip",value:function(){this.offlineTip.show(),this.insightReportor.info("show-offline-tip")}},{key:"hideOfflineTip",value:function(){this.offlineTip.hide(),this.insightReportor.info("hide-offline-tip")}},{key:"enableBlueToothBridge",value:function(){return this.insightReportor.info("enable-bluetooth-bridge"),this.blueToothBridge.init()}},{key:"injectEventsHandler",value:function(){var e=this;Object.keys(T.EventTypes).forEach((function(t){if(t.startsWith("Ws")){var n=T.EventTypes[t],r="_".concat(n,"Handler");e["on".concat(t[0].toUpperCase()).concat(t.slice(1))]=function(t){return e[r]=t,e},e.appDevSdk.on(n,(function(t){try{switch(n){case T.EventTypes.WsReport:var o=t.deviceId,i=t.deviceData,a={};o===e.deviceId&&(Object.keys(i||{}).forEach((function(e){a[e]=i[e].Value})),Object.assign(e.deviceData,a));break;case T.EventTypes.WsStatusChange:var c=t.deviceId,u=t.deviceStatus;c===e.deviceId&&(e.deviceStatus=u)}}catch(e){console.error("handler event err",e)}e.emit(n,t),"function"==typeof e[r]&&e[r](t)}))}})),this.h5Websocket.on("message",(function(t){var n=t.action,r=t.payload;switch(n){case"appShow":e.emit("appShow",r);break;case"appHide":e.emit("appHide",r);break;case"pageShow":e.emit("pageShow",r);break;case"pageHide":e.emit("pageHide",r)}}))}},{key:"ready",value:function(){return this.appDevSdk.init()}},{key:"wxSdkReady",value:function(){var e=this;return this._wxSdkReadyPromise||(this._wxSdkReadyPromise=new Promise((function(t,n){window.wechatJsSdk?wechatJsSdk.init((function(r){if(r)return n(r),void(e._wxSdkReadyPromise=null);e.insightReportor.info("wxjssdk-init"),t(window.wechatJsSdk)})):(n("微信jssdk未注册"),e._wxSdkReadyPromise=null)})).catch((function(t){return e.insightReportor.error("wxjssdk-fail",{error:t}),Promise.reject(t)})))}},{key:"requestTokenApi",value:function(e,t,n){var r=this;return this.appDevSdk.init().then((function(){return r.appDevSdk.requestApi(e,t,n)}))}},{key:"getDeviceDataHistory",value:function(e){var t=e.FieldName,n=e.MaxTime,r=e.MinTime,o=e.Context,i=e.Limit;return this.requestTokenApi("AppGetDeviceDataHistory",{FieldName:t,MaxTime:n,MinTime:r,DeviceId:ye,Context:o,Limit:i})}},{key:"getShareParams",value:(v=C()(u.a.mark((function e(){var t,n,r,o,i,a,c,s=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n=(n=t.deviceId)||this.deviceId,r="SHARE_CONTEXT_KEY",o={},e.prev=4,e.next=7,this.requestTokenApi("AppGetUserDeviceConfig",{DeviceId:n,DeviceKey:r});case 7:i=e.sent,a=i.Configs,o=a,e.next=14;break;case 12:e.prev=12,e.t0=e.catch(4);case 14:if("string"==typeof(c=o[r]))try{c=JSON.parse(c)}catch(e){console.warn("parse device value fail",e)}return e.abrupt("return",c);case 17:case"end":return e.stop()}}),e,this,[[4,12]])}))),function(){return v.apply(this,arguments)})},{key:"setShareConfig",value:function(e){var t=e.title,n=e.imgUrl;return this.insightReportor.info("set-share-config",{title:t,imgUrl:n}),this.wxSdkReady().then((function(e){return e.share({default:{title:t,imgUrl:n}})}))}},{key:"controlDeviceData",value:function(e,t){if(t=t||this.deviceId,"string"!=typeof e)try{e=JSON.stringify(e)}catch(e){}return this.requestTokenApi("AppControlDeviceData",{Data:e,DeviceId:t})}},{key:"goDeviceDetailPage",value:(p=C()(u.a.mark((function e(){var t,n,r,o,i,a,c=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=c.length>0&&void 0!==c[0]?c[0]:{},n=t.reload,r=void 0!==n&&n,o=t.deviceId,i=t.isShareDevice,a=t.shareParams,o=o||this.deviceId,i=i||this.isShareDevice,a&&"string"!=typeof a&&(a=JSON.stringify(a)),e.abrupt("return",this.callMpApi("navigateTo",{url:"/pages/Device/DeviceDetail/DeviceDetail?deviceId=".concat(o,"&isShareDevice=").concat(i,"&reload=").concat(r,"&shareParams=").concat(encodeURIComponent(a))}));case 5:case"end":return e.stop()}}),e,this)}))),function(){return p.apply(this,arguments)})},{key:"navBack",value:function(){return this.callMpApi("navigateBack")}},{key:"goFeedBackPage",value:function(){return this.callMpApi("navigateTo",{url:"/pages/User/Feedback/Feedback"})}},{key:"getUserInfo",value:(f=C()(u.a.mark((function e(){var t,n;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this.requestTokenApi("AppGetUser");case 2:return t=e.sent,(n=t.Data)&&n.PhoneNumber&&(n.originPhoneNumber=n.PhoneNumber,n.PhoneNumber=Ne(n.PhoneNumber)),this.userInfo=n,e.abrupt("return",n);case 7:case"end":return e.stop()}}),e,this)}))),function(){return f.apply(this,arguments)})},{key:"getProductInfo",value:(s=C()(u.a.mark((function e(){var t,n,r,o,i=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},n=(n=t.productId)||this.productId,e.next=4,this.requestTokenApi("AppGetProducts",{ProductIds:[n]});case 4:return r=e.sent,o=r.Products,this.productInfo=o[0],e.abrupt("return",this.productInfo);case 8:case"end":return e.stop()}}),e,this)}))),function(){return s.apply(this,arguments)})},{key:"getDeviceInfo",value:(c=C()(u.a.mark((function e(){var t,n,r,o,i,a,c=this,s=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n=(n=t.deviceId)||this.deviceId,r=function(){return Se((function(e){var t=e.offset,n=e.limit;return c.requestTokenApi("AppGetFamilyDeviceList",{FamilyId:c.familyId,RoomId:c.roomId,Offset:t,Limit:n}).then((function(e){return{list:e.DeviceList,total:e.Total}}))}))},o=function(){return Se((function(e){var t=e.offset,n=e.limit;return c.requestTokenApi("AppListUserShareDevices",{Offset:t,Limit:n}).then((function(e){return{list:e.ShareDevices,total:e.Total}}))}))},e.next=6,this.isShareDevice?o():r();case 6:return(i=e.sent).length&&(a=i.find((function(e){return e.DeviceId===n}))),e.abrupt("return",a);case 9:case"end":return e.stop()}}),e,this)}))),function(){return c.apply(this,arguments)})},{key:"getDeviceData",value:(a=C()(u.a.mark((function e(){var t,n,r,o,i=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},n=(n=t.deviceId)||this.deviceId,e.next=4,this.requestTokenApi("AppGetDeviceData",{DeviceId:n});case 4:r=e.sent,o=r.Data;try{o=JSON.parse(o)}catch(e){o={}}return e.abrupt("return",o);case 8:case"end":return e.stop()}}),e,this)}))),function(){return a.apply(this,arguments)})},{key:"getDeviceStatus",value:(i=C()(u.a.mark((function e(){var t,n,r,o,i=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},n=(n=t.deviceId)||this.deviceId,e.next=4,this.requestTokenApi("AppGetDeviceStatuses",{ProductId:De,DeviceIds:[n]});case 4:return r=e.sent,o=r.DeviceStatuses,e.abrupt("return",o[0]?o[0].Online:0);case 7:case"end":return e.stop()}}),e,this)}))),function(){return i.apply(this,arguments)})},{key:"reloadAfterUnmount",value:function(){return this.callMpApi("postMessage",{data:{type:"action",params:{action:"reloadAfterUnmount",payload:{href:location.href}}}})}},{key:"goDeviceInfoPage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deviceId;return t=t||this.deviceId,this.callMpApi("navigateTo",{url:"/pages/Device/DeviceDetail/DeviceInfo/DeviceInfo?deviceId=".concat(t)})}},{key:"goEditDeviceNamePage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deviceId,n=e.name;return t=t||this.deviceId,n=n||this.deviceInfo.AliasName,this.callMpApi("navigateTo",{url:"/pages/Device/EditDeviceName/EditDeviceName?deviceId=".concat(t,"&name=").concat(encodeURIComponent(n))})}},{key:"goRoomSettingPage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deviceId;return t=t||this.deviceId,this.callMpApi("navigateTo",{url:"/pages/Device/DeviceDetail/DeviceChooseRoom/DeviceChooseRoom?deviceId=".concat(t)})}},{key:"goShareDevicePage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deviceId,n=e.shareParams;return t=t||this.deviceId,n&&"string"!=typeof n&&(n=JSON.stringify(n)),this.callMpApi("navigateTo",{url:"/pages/Device/DeviceDetail/ShareList/ShareList?deviceId=".concat(t,"¶ms=").concat(encodeURIComponent(n))})}},{key:"deleteDevice",value:(r=C()(u.a.mark((function e(){var t,n,r,o,i,a,c,s,l=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=l.length>0&&void 0!==l[0]?l[0]:{},n=(n=t.deviceId)||this.deviceId,this.isShareDevice?(r="确认移除该分享设备å—?",o="",s="移除",i="AppRemoveUserShareDevice",a={DeviceId:n},c="移除æˆåŠŸ"):(r="ç¡®è®¤åˆ é™¤è®¾å¤‡å—?",o="åˆ é™¤è®¾å¤‡åŽä¸Žå…¶ç›¸å…³çš„任务将会失效。",s="åˆ é™¤",i="AppDeleteDeviceInFamily",a={FamilyId:le,DeviceId:n},c="åˆ é™¤æˆåŠŸ"),e.next=5,this.tips.confirm(r,o,{confirmText:s,confirmColor:this.themeColorMap.danger});case 5:if(!e.sent){e.next=21;break}return e.prev=7,e.next=10,this.requestTokenApi(i,a);case 10:return e.next=12,this.reloadAfterUnmount();case 12:return e.next=14,this.tips.showSuccess(c);case 14:return e.next=16,this.navBack();case 16:e.next=21;break;case 18:e.prev=18,e.t0=e.catch(7),this.tips.showError(e.t0);case 21:case"end":return e.stop()}}),e,this,[[7,18]])}))),function(){return r.apply(this,arguments)})},{key:"showDeviceDetail",value:function(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.deviceInfo,r=t.labelWidth,i=t.marginTop,a=t.extendItems,c=void 0===a?[]:a,u=t.extendButtons,s=void 0===u?[]:u,l=t.containerClassName,f=t.shareParams;n=n||this.deviceInfo;var d=!this.isShareDevice&&this.isFamilyOwner;this.insightReportor.info("show-device-detail",{data:{extendItems:c,extendButtons:s,shareParams:f}});var p=this.iotexplorerH5PanelDeviceDetail.render({labelWidth:r,marginTop:i,items:[{label:"设备åç§°",content:n.AliasName,onClick:function(){return e.goEditDeviceNamePage({deviceId:n.DeviceId,name:n.AliasName})}},{label:"设备信æ¯",onClick:function(){return e.goDeviceInfoPage({deviceId:n.DeviceId})}}].concat(o()(d?[{label:"房间设置",content:this.roomName,onClick:function(){return e.goRoomSettingPage({deviceId:n.DeviceId})}},{label:"设备分享",onClick:function(){return e.goShareDevicePage({deviceId:n.DeviceId,shareParams:f})}},{label:"固件å‡çº§",content:this.firmwareUpgrade.renderRedDot({deviceId:n.DeviceId}),onClick:function(){return e.firmwareUpgrade.showCheckUpgradeModal({deviceId:n.DeviceId})}}]:[]),o()(c)),buttons:[].concat(o()(this.isShareDevice||d?[{text:_e?"移除分享设备":"åˆ é™¤è®¾å¤‡",type:"danger",onClick:function(){return e.deleteDevice({deviceId:n.DeviceId})}}]:[]),o()(s))});this.iotexplorerH5PanelDeviceDetail.$container.innerHTML='\n \n ').concat(p,"\n
\n "),d&&this.firmwareUpgrade.refreshRedDot({deviceId:n.DeviceId})}},{key:"hideDeviceDetail",value:function(){this.insightReportor.info("hide-device-detail"),this.iotexplorerH5PanelDeviceDetail.$container.innerHTML=""}},{key:"checkFirmwareUpgrade",value:(n=C()(u.a.mark((function e(){var t,n,r,o,i=arguments;return u.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=i.length>0&&void 0!==i[0]?i[0]:{},n=t.deviceId,r=t.silent,n=n||this.deviceId,e.next=4,this.firmwareUpgrade.getUpgradeInfo({deviceId:n});case 4:if(!(o=e.sent).IsUpgradable||r){e.next=10;break}return e.next=8,this.getDeviceStatus({deviceId:this.deviceId});case 8:e.sent&&this.firmwareUpgrade.showUpgradableModal({deviceId:n,dstVersion:o.DstVersion});case 10:return e.abrupt("return",{CurrentVersion:o.CurrentVersion,DstVersion:o.DstVersion});case 11:case"end":return e.stop()}}),e,this)}))),function(){return n.apply(this,arguments)})},{key:"goFirmwareUpgradePage",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.deviceId;return t=t||this.deviceId,this.firmwareUpgrade.goFirmwareUpgradePage({deviceId:t})}},{key:"productInfo",set:function(e){if(e&&e.DataTemplate){var t;try{t=JSON.parse(e.DataTemplate)}catch(e){t={}}this.dataTemplate=t}this._productInfo=e},get:function(){return this._productInfo}}]),t}(N);t.default=new Ae}])},function(e,t,n){var r;
+/*!
+ Copyright (c) 2017 Jed Watson.
+ Licensed under the MIT License (MIT), see
+ http://jedwatson.github.io/classnames
+*/!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t-1){e.visited=!0;var n=e.cloneNode();n.isLoaded=!1,n.addEventListener("load",(function(){n.isLoaded=!0,e.parentNode.removeChild(e)})),n.addEventListener("error",(function(){n.isLoaded=!0,e.parentNode.removeChild(e)})),n.href="".concat(t,"?").concat(Date.now()),e.nextSibling?e.parentNode.insertBefore(n,e.nextSibling):e.parentNode.appendChild(n)}}function s(e){if(!e)return!1;var t=document.querySelectorAll("link"),n=!1;return a.call(t,(function(t){if(t.href){var o=function(e,t){var n;return e=r(e,{stripWWW:!1}),t.some((function(r){e.indexOf(t)>-1&&(n=r)})),n}(t.href,e);f(o)&&!0!==t.visited&&o&&(u(t,o),n=!0)}})),n}function l(){var e=document.querySelectorAll("link");a.call(e,(function(e){!0!==e.visited&&u(e)}))}function f(e){return!!/^https?:/i.test(e)}e.exports=function(e,t){if(i)return console.log("no window.document found, will not HMR CSS"),c;var n,a,u,f=function(e){var t=o[e];if(!t){if(document.currentScript)t=document.currentScript.src;else{var n=document.getElementsByTagName("script"),i=n[n.length-1];i&&(t=i.src)}o[e]=t}return function(e){if(!t)return null;var n=t.split(/([^\\/]+)\.js$/),o=n&&n[1];return o&&e?e.split(",").map((function(e){var n=new RegExp("".concat(o,"\\.js$"),"g");return r(t.replace(n,"".concat(e.replace(/{fileName}/g,o),".css")))})):[t.replace(".js",".css")]}}(e);return n=function(){var e=f(t.filename),n=s(e);if(t.locals)return console.log("[HMR] Detected local css modules. Reload all css"),void l();n?console.log("[HMR] css reload %s",e.join(" ")):(console.log("[HMR] Reload all css"),l())},a=50,u=0,function(){var e=this,t=arguments,r=function(){return n.apply(e,t)};clearTimeout(u),u=setTimeout(r,a)}}},function(e,t,n){"use strict";function r(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,e.__proto__=t}n.d(t,"a",(function(){return r}))},function(e,t){function n(e,t,n,r,o,i,a){try{var c=e[i](a),u=c.value}catch(e){return void n(e)}c.done?t(u):Promise.resolve(u).then(r,o)}e.exports=function(e){return function(){var t=this,r=arguments;return new Promise((function(o,i){var a=e.apply(t,r);function c(e){n(a,o,i,c,u,"next",e)}function u(e){n(a,o,i,c,u,"throw",e)}c(void 0)}))}}},function(e,t,n){e.exports=n(48)()},function(e,t,n){var r=n(39);e.exports=function(e,t){if(null==e)return{};var n,o,i=r(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}},,function(e,t){function n(t){return e.exports=n=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)},n(t)}e.exports=n},function(e,t,n){"use strict";(function(e){var r=n(0),o=n.n(r),i=n(7),a=n(9),c=n.n(a),u="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==e?e:{};function s(e){var t=[];return{on:function(e){t.push(e)},off:function(e){t=t.filter((function(t){return t!==e}))},get:function(){return e},set:function(n,r){e=n,t.forEach((function(t){return t(e,r)}))}}}var l=o.a.createContext||function(e,t){var n,o,a,l="__create-react-context-"+((u[a="__global_unique_id__"]=(u[a]||0)+1)+"__"),f=function(e){function n(){var t;return(t=e.apply(this,arguments)||this).emitter=s(t.props.value),t}Object(i.a)(n,e);var r=n.prototype;return r.getChildContext=function(){var e;return(e={})[l]=this.emitter,e},r.componentWillReceiveProps=function(e){if(this.props.value!==e.value){var n,r=this.props.value,o=e.value;((i=r)===(a=o)?0!==i||1/i==1/a:i!=i&&a!=a)?n=0:(n="function"==typeof t?t(r,o):1073741823,0!==(n|=0)&&this.emitter.set(e.value,n))}var i,a},r.render=function(){return this.props.children},n}(r.Component);f.childContextTypes=((n={})[l]=c.a.object.isRequired,n);var d=function(t){function n(){var e;return(e=t.apply(this,arguments)||this).state={value:e.getValue()},e.onUpdate=function(t,n){0!=((0|e.observedBits)&n)&&e.setState({value:e.getValue()})},e}Object(i.a)(n,t);var r=n.prototype;return r.componentWillReceiveProps=function(e){var t=e.observedBits;this.observedBits=null==t?1073741823:t},r.componentDidMount=function(){this.context[l]&&this.context[l].on(this.onUpdate);var e=this.props.observedBits;this.observedBits=null==e?1073741823:e},r.componentWillUnmount=function(){this.context[l]&&this.context[l].off(this.onUpdate)},r.getValue=function(){return this.context[l]?this.context[l].get():e},r.render=function(){return(e=this.props.children,Array.isArray(e)?e[0]:e)(this.state.value);var e},n}(r.Component);return d.contextTypes=((o={})[l]=c.a.object,o),{Provider:f,Consumer:d}};t.a=l}).call(this,n(16))},function(e,t,n){var r=n(62);e.exports=p,e.exports.parse=i,e.exports.compile=function(e,t){return c(i(e,t),t)},e.exports.tokensToFunction=c,e.exports.tokensToRegExp=d;var o=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function i(e,t){for(var n,r=[],i=0,a=0,c="",l=t&&t.delimiter||"/";null!=(n=o.exec(e));){var f=n[0],d=n[1],p=n.index;if(c+=e.slice(a,p),a=p+f.length,d)c+=d[1];else{var h=e[a],v=n[2],m=n[3],g=n[4],y=n[5],b=n[6],w=n[7];c&&(r.push(c),c="");var _=null!=v&&null!=h&&h!==v,E="+"===b||"*"===b,k="?"===b||"*"===b,C=n[2]||l,T=g||y;r.push({name:m||i++,prefix:v||"",delimiter:C,optional:k,repeat:E,partial:_,asterisk:!!w,pattern:T?s(T):w?".*":"[^"+u(C)+"]+?"})}}return aD.length&&D.push(e)}function A(e,t,n){return null==e?0:function e(t,n,r,o){var c=typeof t;"undefined"!==c&&"boolean"!==c||(t=null);var u=!1;if(null===t)u=!0;else switch(c){case"string":case"number":u=!0;break;case"object":switch(t.$$typeof){case i:case a:u=!0}}if(u)return r(o,t,""===n?"."+R(t,0):n),1;if(u=0,n=""===n?".":n+":",Array.isArray(t))for(var s=0;st}return!1}(t,n,o,r)&&(n=null),r||null===o?function(e){return!!H.call(G,e)||!H.call(z,e)&&(W.test(e)?G[e]=!0:(z[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}Y.hasOwnProperty("ReactCurrentDispatcher")||(Y.ReactCurrentDispatcher={current:null}),Y.hasOwnProperty("ReactCurrentBatchConfig")||(Y.ReactCurrentBatchConfig={suspense:null});var J=/^(.*)[\\\/]/,Z="function"==typeof Symbol&&Symbol.for,ee=Z?Symbol.for("react.element"):60103,te=Z?Symbol.for("react.portal"):60106,ne=Z?Symbol.for("react.fragment"):60107,re=Z?Symbol.for("react.strict_mode"):60108,oe=Z?Symbol.for("react.profiler"):60114,ie=Z?Symbol.for("react.provider"):60109,ae=Z?Symbol.for("react.context"):60110,ce=Z?Symbol.for("react.concurrent_mode"):60111,ue=Z?Symbol.for("react.forward_ref"):60112,se=Z?Symbol.for("react.suspense"):60113,le=Z?Symbol.for("react.suspense_list"):60120,fe=Z?Symbol.for("react.memo"):60115,de=Z?Symbol.for("react.lazy"):60116,pe=Z?Symbol.for("react.block"):60121,he="function"==typeof Symbol&&Symbol.iterator;function ve(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=he&&e[he]||e["@@iterator"])?e:null}function me(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case ne:return"Fragment";case te:return"Portal";case oe:return"Profiler";case re:return"StrictMode";case se:return"Suspense";case le:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case ae:return"Context.Consumer";case ie:return"Context.Provider";case ue:var t=e.render;return t=t.displayName||t.name||"",e.displayName||(""!==t?"ForwardRef("+t+")":"ForwardRef");case fe:return me(e.type);case pe:return me(e.render);case de:if(e=1===e._status?e._result:null)return me(e)}return null}function ge(e){var t="";do{e:switch(e.tag){case 3:case 4:case 6:case 7:case 10:case 9:var n="";break e;default:var r=e._debugOwner,o=e._debugSource,i=me(e.type);n=null,r&&(n=me(r.type)),r=i,i="",o?i=" (at "+o.fileName.replace(J,"")+":"+o.lineNumber+")":n&&(i=" (created by "+n+")"),n="\n in "+(r||"Unknown")+i}t+=n,e=e.return}while(e);return t}function ye(e){switch(typeof e){case"boolean":case"number":case"object":case"string":case"undefined":return e;default:return""}}function be(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function we(e){e._valueTracker||(e._valueTracker=function(e){var t=be(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var o=n.get,i=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(e){r=""+e,i.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function _e(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=be(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function Ee(e,t){var n=t.checked;return o({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function ke(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=ye(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function Ce(e,t){null!=(t=t.checked)&&X(e,"checked",t,!1)}function Te(e,t){Ce(e,t);var n=ye(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?xe(e,t.type,n):t.hasOwnProperty("defaultValue")&&xe(e,t.type,ye(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function Se(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function xe(e,t,n){"number"===t&&e.ownerDocument.activeElement===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}function Oe(e,t){return e=o({children:void 0},t),(t=function(e){var t="";return r.Children.forEach(e,(function(e){null!=e&&(t+=e)})),t}(t.children))&&(e.children=t),e}function Ie(e,t,n,r){if(e=e.options,t){t={};for(var o=0;o=n.length))throw Error(a(93));n=n[0]}t=n}null==t&&(t=""),n=t}e._wrapperState={initialValue:ye(n)}}function Ne(e,t){var n=ye(t.value),r=ye(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function Ae(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}var Re="http://www.w3.org/1999/xhtml",Me="http://www.w3.org/2000/svg";function Le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function je(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Ue,Fe=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==Me||"innerHTML"in e)e.innerHTML=t;else{for((Ue=Ue||document.createElement("div")).innerHTML=""+t.valueOf().toString()+" ",t=Ue.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Be(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}function Ve(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var We={animationend:Ve("Animation","AnimationEnd"),animationiteration:Ve("Animation","AnimationIteration"),animationstart:Ve("Animation","AnimationStart"),transitionend:Ve("Transition","TransitionEnd")},He={},ze={};function Ge(e){if(He[e])return He[e];if(!We[e])return e;var t,n=We[e];for(t in n)if(n.hasOwnProperty(t)&&t in ze)return He[e]=n[t];return e}x&&(ze=document.createElement("div").style,"AnimationEvent"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),"TransitionEvent"in window||delete We.transitionend.transition);var qe=Ge("animationend"),$e=Ge("animationiteration"),Qe=Ge("animationstart"),Ke=Ge("transitionend"),Ye="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Xe=new("function"==typeof WeakMap?WeakMap:Map);function Je(e){var t=Xe.get(e);return void 0===t&&(t=new Map,Xe.set(e,t)),t}function Ze(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{0!=(1026&(t=e).effectTag)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function et(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function tt(e){if(Ze(e)!==e)throw Error(a(188))}function nt(e){if(!(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ze(e)))throw Error(a(188));return t!==e?null:e}for(var n=e,r=t;;){var o=n.return;if(null===o)break;var i=o.alternate;if(null===i){if(null!==(r=o.return)){n=r;continue}break}if(o.child===i.child){for(i=o.child;i;){if(i===n)return tt(o),e;if(i===r)return tt(o),t;i=i.sibling}throw Error(a(188))}if(n.return!==r.return)n=o,r=i;else{for(var c=!1,u=o.child;u;){if(u===n){c=!0,n=o,r=i;break}if(u===r){c=!0,r=o,n=i;break}u=u.sibling}if(!c){for(u=i.child;u;){if(u===n){c=!0,n=i,r=o;break}if(u===r){c=!0,r=i,n=o;break}u=u.sibling}if(!c)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(3!==n.tag)throw Error(a(188));return n.stateNode.current===n?e:t}(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}function rt(e,t){if(null==t)throw Error(a(30));return null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}function ot(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}var it=null;function at(e){if(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t))for(var r=0;rlt.length&<.push(e)}function dt(e,t,n,r){if(lt.length){var o=lt.pop();return o.topLevelType=e,o.eventSystemFlags=r,o.nativeEvent=t,o.targetInst=n,o}return{topLevelType:e,eventSystemFlags:r,nativeEvent:t,targetInst:n,ancestors:[]}}function pt(e){var t=e.targetInst,n=t;do{if(!n){e.ancestors.push(n);break}var r=n;if(3===r.tag)r=r.stateNode.containerInfo;else{for(;r.return;)r=r.return;r=3!==r.tag?null:r.stateNode.containerInfo}if(!r)break;5!==(t=n.tag)&&6!==t||e.ancestors.push(n),n=xn(r)}while(n);for(n=0;n=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=fn(r)}}function pn(){for(var e=window,t=ln();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(!n)break;t=ln((e=t.contentWindow).document)}return t}function hn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var vn=null,mn=null;function gn(e,t){switch(e){case"button":case"input":case"select":case"textarea":return!!t.autoFocus}return!1}function yn(e,t){return"textarea"===e||"option"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var bn="function"==typeof setTimeout?setTimeout:void 0,wn="function"==typeof clearTimeout?clearTimeout:void 0;function _n(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break}return e}function En(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var kn=Math.random().toString(36).slice(2),Cn="__reactInternalInstance$"+kn,Tn="__reactEventHandlers$"+kn,Sn="__reactContainere$"+kn;function xn(e){var t=e[Cn];if(t)return t;for(var n=e.parentNode;n;){if(t=n[Sn]||n[Cn]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=En(e);null!==e;){if(n=e[Cn])return n;e=En(e)}return t}n=(e=n).parentNode}return null}function On(e){return!(e=e[Cn]||e[Sn])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function In(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(a(33))}function Dn(e){return e[Tn]||null}function Pn(e){do{e=e.return}while(e&&5!==e.tag);return e||null}function Nn(e,t){var n=e.stateNode;if(!n)return null;var r=h(n);if(!r)return null;n=r[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(r=!r.disabled)||(r=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!r;break e;default:e=!1}if(e)return null;if(n&&"function"!=typeof n)throw Error(a(231,t,typeof n));return n}function An(e,t,n){(t=Nn(e,n.dispatchConfig.phasedRegistrationNames[t]))&&(n._dispatchListeners=rt(n._dispatchListeners,t),n._dispatchInstances=rt(n._dispatchInstances,e))}function Rn(e){if(e&&e.dispatchConfig.phasedRegistrationNames){for(var t=e._targetInst,n=[];t;)n.push(t),t=Pn(t);for(t=n.length;0this.eventPool.length&&this.eventPool.push(e)}function $n(e){e.eventPool=[],e.getPooled=Gn,e.release=qn}o(zn.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=Wn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=Wn)},persist:function(){this.isPersistent=Wn},isPersistent:Hn,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;this.nativeEvent=this._targetInst=this.dispatchConfig=null,this.isPropagationStopped=this.isDefaultPrevented=Hn,this._dispatchInstances=this._dispatchListeners=null}}),zn.Interface={type:null,target:null,currentTarget:function(){return null},eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null},zn.extend=function(e){function t(){}function n(){return r.apply(this,arguments)}var r=this;t.prototype=r.prototype;var i=new t;return o(i,n.prototype),n.prototype=i,n.prototype.constructor=n,n.Interface=o({},r.Interface,e),n.extend=r.extend,$n(n),n},$n(zn);var Qn=zn.extend({data:null}),Kn=zn.extend({data:null}),Yn=[9,13,27,32],Xn=x&&"CompositionEvent"in window,Jn=null;x&&"documentMode"in document&&(Jn=document.documentMode);var Zn=x&&"TextEvent"in window&&!Jn,er=x&&(!Xn||Jn&&8=Jn),tr=String.fromCharCode(32),nr={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["compositionend","keypress","textInput","paste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"blur compositionend keydown keypress keyup mousedown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"blur compositionstart keydown keypress keyup mousedown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"blur compositionupdate keydown keypress keyup mousedown".split(" ")}},rr=!1;function or(e,t){switch(e){case"keyup":return-1!==Yn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"blur":return!0;default:return!1}}function ir(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ar=!1;var cr={eventTypes:nr,extractEvents:function(e,t,n,r){var o;if(Xn)e:{switch(e){case"compositionstart":var i=nr.compositionStart;break e;case"compositionend":i=nr.compositionEnd;break e;case"compositionupdate":i=nr.compositionUpdate;break e}i=void 0}else ar?or(e,n)&&(i=nr.compositionEnd):"keydown"===e&&229===n.keyCode&&(i=nr.compositionStart);return i?(er&&"ko"!==n.locale&&(ar||i!==nr.compositionStart?i===nr.compositionEnd&&ar&&(o=Vn()):(Fn="value"in(Un=r)?Un.value:Un.textContent,ar=!0)),i=Qn.getPooled(i,t,n,r),o?i.data=o:null!==(o=ir(n))&&(i.data=o),jn(i),o=i):o=null,(e=Zn?function(e,t){switch(e){case"compositionend":return ir(t);case"keypress":return 32!==t.which?null:(rr=!0,tr);case"textInput":return(e=t.data)===tr&&rr?null:e;default:return null}}(e,n):function(e,t){if(ar)return"compositionend"===e||!Xn&&or(e,t)?(e=Vn(),Bn=Fn=Un=null,ar=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=document.documentMode,Vr={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange".split(" ")}},Wr=null,Hr=null,zr=null,Gr=!1;function qr(e,t){var n=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;return Gr||null==Wr||Wr!==ln(n)?null:("selectionStart"in(n=Wr)&&hn(n)?n={start:n.selectionStart,end:n.selectionEnd}:n={anchorNode:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset},zr&&Fr(zr,n)?null:(zr=n,(e=zn.getPooled(Vr.select,Hr,e,t)).type="select",e.target=Wr,jn(e),e))}var $r={eventTypes:Vr,extractEvents:function(e,t,n,r,o,i){if(!(i=!(o=i||(r.window===r?r.document:9===r.nodeType?r:r.ownerDocument)))){e:{o=Je(o),i=T.onSelect;for(var a=0;aco||(e.current=ao[co],ao[co]=null,co--)}function so(e,t){co++,ao[co]=e.current,e.current=t}var lo={},fo={current:lo},po={current:!1},ho=lo;function vo(e,t){var n=e.type.contextTypes;if(!n)return lo;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var o,i={};for(o in n)i[o]=t[o];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function mo(e){return null!=(e=e.childContextTypes)}function go(){uo(po),uo(fo)}function yo(e,t,n){if(fo.current!==lo)throw Error(a(168));so(fo,t),so(po,n)}function bo(e,t,n){var r=e.stateNode;if(e=t.childContextTypes,"function"!=typeof r.getChildContext)return n;for(var i in r=r.getChildContext())if(!(i in e))throw Error(a(108,me(t)||"Unknown",i));return o({},n,{},r)}function wo(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||lo,ho=fo.current,so(fo,e),so(po,po.current),!0}function _o(e,t,n){var r=e.stateNode;if(!r)throw Error(a(169));n?(e=bo(e,t,ho),r.__reactInternalMemoizedMergedChildContext=e,uo(po),uo(fo),so(fo,e)):uo(po),so(po,n)}var Eo=i.unstable_runWithPriority,ko=i.unstable_scheduleCallback,Co=i.unstable_cancelCallback,To=i.unstable_requestPaint,So=i.unstable_now,xo=i.unstable_getCurrentPriorityLevel,Oo=i.unstable_ImmediatePriority,Io=i.unstable_UserBlockingPriority,Do=i.unstable_NormalPriority,Po=i.unstable_LowPriority,No=i.unstable_IdlePriority,Ao={},Ro=i.unstable_shouldYield,Mo=void 0!==To?To:function(){},Lo=null,jo=null,Uo=!1,Fo=So(),Bo=1e4>Fo?So:function(){return So()-Fo};function Vo(){switch(xo()){case Oo:return 99;case Io:return 98;case Do:return 97;case Po:return 96;case No:return 95;default:throw Error(a(332))}}function Wo(e){switch(e){case 99:return Oo;case 98:return Io;case 97:return Do;case 96:return Po;case 95:return No;default:throw Error(a(332))}}function Ho(e,t){return e=Wo(e),Eo(e,t)}function zo(e,t,n){return e=Wo(e),ko(e,t,n)}function Go(e){return null===Lo?(Lo=[e],jo=ko(Oo,$o)):Lo.push(e),Ao}function qo(){if(null!==jo){var e=jo;jo=null,Co(e)}$o()}function $o(){if(!Uo&&null!==Lo){Uo=!0;var e=0;try{var t=Lo;Ho(99,(function(){for(;e=t&&(Da=!0),e.firstContext=null)}function oi(e,t){if(Zo!==e&&!1!==t&&0!==t)if("number"==typeof t&&1073741823!==t||(Zo=e,t=1073741823),t={context:e,observedBits:t,next:null},null===Jo){if(null===Xo)throw Error(a(308));Jo=t,Xo.dependencies={expirationTime:0,firstContext:t,responders:null}}else Jo=Jo.next=t;return e._currentValue}var ii=!1;function ai(e){e.updateQueue={baseState:e.memoizedState,baseQueue:null,shared:{pending:null},effects:null}}function ci(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,baseQueue:e.baseQueue,shared:e.shared,effects:e.effects})}function ui(e,t){return(e={expirationTime:e,suspenseConfig:t,tag:0,payload:null,callback:null,next:null}).next=e}function si(e,t){if(null!==(e=e.updateQueue)){var n=(e=e.shared).pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}}function li(e,t){var n=e.alternate;null!==n&&ci(n,e),null===(n=(e=e.updateQueue).baseQueue)?(e.baseQueue=t.next=t,t.next=t):(t.next=n.next,n.next=t)}function fi(e,t,n,r){var i=e.updateQueue;ii=!1;var a=i.baseQueue,c=i.shared.pending;if(null!==c){if(null!==a){var u=a.next;a.next=c.next,c.next=u}a=c,i.shared.pending=null,null!==(u=e.alternate)&&(null!==(u=u.updateQueue)&&(u.baseQueue=c))}if(null!==a){u=a.next;var s=i.baseState,l=0,f=null,d=null,p=null;if(null!==u)for(var h=u;;){if((c=h.expirationTime)l&&(l=c)}else{null!==p&&(p=p.next={expirationTime:1073741823,suspenseConfig:h.suspenseConfig,tag:h.tag,payload:h.payload,callback:h.callback,next:null}),iu(c,h.suspenseConfig);e:{var m=e,g=h;switch(c=t,v=n,g.tag){case 1:if("function"==typeof(m=g.payload)){s=m.call(v,s,c);break e}s=m;break e;case 3:m.effectTag=-4097&m.effectTag|64;case 0:if(null==(c="function"==typeof(m=g.payload)?m.call(v,s,c):m))break e;s=o({},s,c);break e;case 2:ii=!0}}null!==h.callback&&(e.effectTag|=32,null===(c=i.effects)?i.effects=[h]:c.push(h))}if(null===(h=h.next)||h===u){if(null===(c=i.shared.pending))break;h=a.next=c.next,c.next=u,i.baseQueue=a=c,i.shared.pending=null}}null===p?f=s:p.next=d,i.baseState=f,i.baseQueue=p,au(l),e.expirationTime=l,e.memoizedState=s}}function di(e,t,n){if(e=t.effects,t.effects=null,null!==e)for(t=0;tv?(m=f,f=null):m=f.sibling;var g=p(o,f,c[v],u);if(null===g){null===f&&(f=m);break}e&&f&&null===g.alternate&&t(o,f),a=i(g,a,v),null===l?s=g:l.sibling=g,l=g,f=m}if(v===c.length)return n(o,f),s;if(null===f){for(;vm?(g=v,v=null):g=v.sibling;var b=p(o,v,y.value,s);if(null===b){null===v&&(v=g);break}e&&v&&null===b.alternate&&t(o,v),c=i(b,c,m),null===f?l=b:f.sibling=b,f=b,v=g}if(y.done)return n(o,v),l;if(null===v){for(;!y.done;m++,y=u.next())null!==(y=d(o,y.value,s))&&(c=i(y,c,m),null===f?l=y:f.sibling=y,f=y);return l}for(v=r(o,v);!y.done;m++,y=u.next())null!==(y=h(v,o,m,y.value,s))&&(e&&null!==y.alternate&&v.delete(null===y.key?m:y.key),c=i(y,c,m),null===f?l=y:f.sibling=y,f=y);return e&&v.forEach((function(e){return t(o,e)})),l}return function(e,r,i,u){var s="object"==typeof i&&null!==i&&i.type===ne&&null===i.key;s&&(i=i.props.children);var l="object"==typeof i&&null!==i;if(l)switch(i.$$typeof){case ee:e:{for(l=i.key,s=r;null!==s;){if(s.key===l){switch(s.tag){case 7:if(i.type===ne){n(e,s.sibling),(r=o(s,i.props.children)).return=e,e=r;break e}break;default:if(s.elementType===i.type){n(e,s.sibling),(r=o(s,i.props)).ref=Ei(e,s,i),r.return=e,e=r;break e}}n(e,s);break}t(e,s),s=s.sibling}i.type===ne?((r=Ou(i.props.children,e.mode,u,i.key)).return=e,e=r):((u=xu(i.type,i.key,i.props,null,e.mode,u)).ref=Ei(e,r,i),u.return=e,e=u)}return c(e);case te:e:{for(s=i.key;null!==r;){if(r.key===s){if(4===r.tag&&r.stateNode.containerInfo===i.containerInfo&&r.stateNode.implementation===i.implementation){n(e,r.sibling),(r=o(r,i.children||[])).return=e,e=r;break e}n(e,r);break}t(e,r),r=r.sibling}(r=Du(i,e.mode,u)).return=e,e=r}return c(e)}if("string"==typeof i||"number"==typeof i)return i=""+i,null!==r&&6===r.tag?(n(e,r.sibling),(r=o(r,i)).return=e,e=r):(n(e,r),(r=Iu(i,e.mode,u)).return=e,e=r),c(e);if(_i(i))return v(e,r,i,u);if(ve(i))return m(e,r,i,u);if(l&&ki(e,i),void 0===i&&!s)switch(e.tag){case 1:case 0:throw e=e.type,Error(a(152,e.displayName||e.name||"Component"))}return n(e,r)}}var Ti=Ci(!0),Si=Ci(!1),xi={},Oi={current:xi},Ii={current:xi},Di={current:xi};function Pi(e){if(e===xi)throw Error(a(174));return e}function Ni(e,t){switch(so(Di,t),so(Ii,e),so(Oi,xi),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:je(null,"");break;default:t=je(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}uo(Oi),so(Oi,t)}function Ai(){uo(Oi),uo(Ii),uo(Di)}function Ri(e){Pi(Di.current);var t=Pi(Oi.current),n=je(t,e.type);t!==n&&(so(Ii,e),so(Oi,n))}function Mi(e){Ii.current===e&&(uo(Oi),uo(Ii))}var Li={current:0};function ji(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(64&t.effectTag))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}function Ui(e,t){return{responder:e,props:t}}var Fi=Y.ReactCurrentDispatcher,Bi=Y.ReactCurrentBatchConfig,Vi=0,Wi=null,Hi=null,zi=null,Gi=!1;function qi(){throw Error(a(321))}function $i(e,t){if(null===t)return!1;for(var n=0;ni))throw Error(a(301));i+=1,zi=Hi=null,t.updateQueue=null,Fi.current=ba,e=n(r,o)}while(t.expirationTime===Vi)}if(Fi.current=ma,t=null!==Hi&&null!==Hi.next,Vi=0,zi=Hi=Wi=null,Gi=!1,t)throw Error(a(300));return e}function Ki(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===zi?Wi.memoizedState=zi=e:zi=zi.next=e,zi}function Yi(){if(null===Hi){var e=Wi.alternate;e=null!==e?e.memoizedState:null}else e=Hi.next;var t=null===zi?Wi.memoizedState:zi.next;if(null!==t)zi=t,Hi=e;else{if(null===e)throw Error(a(310));e={memoizedState:(Hi=e).memoizedState,baseState:Hi.baseState,baseQueue:Hi.baseQueue,queue:Hi.queue,next:null},null===zi?Wi.memoizedState=zi=e:zi=zi.next=e}return zi}function Xi(e,t){return"function"==typeof t?t(e):t}function Ji(e){var t=Yi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=Hi,o=r.baseQueue,i=n.pending;if(null!==i){if(null!==o){var c=o.next;o.next=i.next,i.next=c}r.baseQueue=o=i,n.pending=null}if(null!==o){o=o.next,r=r.baseState;var u=c=i=null,s=o;do{var l=s.expirationTime;if(lWi.expirationTime&&(Wi.expirationTime=l,au(l))}else null!==u&&(u=u.next={expirationTime:1073741823,suspenseConfig:s.suspenseConfig,action:s.action,eagerReducer:s.eagerReducer,eagerState:s.eagerState,next:null}),iu(l,s.suspenseConfig),r=s.eagerReducer===e?s.eagerState:e(r,s.action);s=s.next}while(null!==s&&s!==o);null===u?i=r:u.next=c,jr(r,t.memoizedState)||(Da=!0),t.memoizedState=r,t.baseState=i,t.baseQueue=u,n.lastRenderedState=r}return[t.memoizedState,n.dispatch]}function Zi(e){var t=Yi(),n=t.queue;if(null===n)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,o=n.pending,i=t.memoizedState;if(null!==o){n.pending=null;var c=o=o.next;do{i=e(i,c.action),c=c.next}while(c!==o);jr(i,t.memoizedState)||(Da=!0),t.memoizedState=i,null===t.baseQueue&&(t.baseState=i),n.lastRenderedState=i}return[i,r]}function ea(e){var t=Ki();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e=(e=t.queue={pending:null,dispatch:null,lastRenderedReducer:Xi,lastRenderedState:e}).dispatch=va.bind(null,Wi,e),[t.memoizedState,e]}function ta(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=Wi.updateQueue)?(t={lastEffect:null},Wi.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function na(){return Yi().memoizedState}function ra(e,t,n,r){var o=Ki();Wi.effectTag|=e,o.memoizedState=ta(1|t,n,void 0,void 0===r?null:r)}function oa(e,t,n,r){var o=Yi();r=void 0===r?null:r;var i=void 0;if(null!==Hi){var a=Hi.memoizedState;if(i=a.destroy,null!==r&&$i(r,a.deps))return void ta(t,n,i,r)}Wi.effectTag|=e,o.memoizedState=ta(1|t,n,i,r)}function ia(e,t){return ra(516,4,e,t)}function aa(e,t){return oa(516,4,e,t)}function ca(e,t){return oa(4,2,e,t)}function ua(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function sa(e,t,n){return n=null!=n?n.concat([e]):null,oa(4,2,ua.bind(null,t,e),n)}function la(){}function fa(e,t){return Ki().memoizedState=[e,void 0===t?null:t],e}function da(e,t){var n=Yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&$i(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function pa(e,t){var n=Yi();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&$i(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function ha(e,t,n){var r=Vo();Ho(98>r?98:r,(function(){e(!0)})),Ho(97<\/script>",e=e.removeChild(e.firstChild)):"string"==typeof r.is?e=u.createElement(i,{is:r.is}):(e=u.createElement(i),"select"===i&&(u=e,r.multiple?u.multiple=!0:r.size&&(u.size=r.size))):e=u.createElementNS(e,i),e[Cn]=t,e[Tn]=r,Ba(e,t),t.stateNode=e,u=an(i,r),i){case"iframe":case"object":case"embed":$t("load",e),s=r;break;case"video":case"audio":for(s=0;sr.tailExpiration&&1t)&&Wc.set(e,t))}}function Kc(e,t){e.expirationTime=(e=n>(e=e.nextKnownPendingLevel)?n:e)&&t!==e?0:e}function Xc(e){if(0!==e.lastExpiredTime)e.callbackExpirationTime=1073741823,e.callbackPriority=99,e.callbackNode=Go(Zc.bind(null,e));else{var t=Yc(e),n=e.callbackNode;if(0===t)null!==n&&(e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90);else{var r=qc();if(1073741823===t?r=99:1===t||2===t?r=95:r=0>=(r=10*(1073741821-t)-10*(1073741821-r))?99:250>=r?98:5250>=r?97:95,null!==n){var o=e.callbackPriority;if(e.callbackExpirationTime===t&&o>=r)return;n!==Ao&&Co(n)}e.callbackExpirationTime=t,e.callbackPriority=r,t=1073741823===t?Go(Zc.bind(null,e)):zo(r,Jc.bind(null,e),{timeout:10*(1073741821-t)-Bo()}),e.callbackNode=t}}}function Jc(e,t){if(Gc=0,t)return Mu(e,t=qc()),Xc(e),null;var n=Yc(e);if(0!==n){if(t=e.callbackNode,0!=(48&kc))throw Error(a(327));if(vu(),e===Cc&&n===Sc||nu(e,n),null!==Tc){var r=kc;kc|=16;for(var o=ou();;)try{uu();break}catch(t){ru(e,t)}if(ei(),kc=r,yc.current=o,1===xc)throw t=Oc,nu(e,n),Au(e,n),Xc(e),t;if(null===Tc)switch(o=e.finishedWork=e.current.alternate,e.finishedExpirationTime=n,r=xc,Cc=null,r){case wc:case 1:throw Error(a(345));case 2:Mu(e,2=n){e.lastPingedTime=n,nu(e,n);break}}if(0!==(i=Yc(e))&&i!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}e.timeoutHandle=bn(du.bind(null,e),o);break}du(e);break;case Ec:if(Au(e,n),n===(r=e.lastSuspendedTime)&&(e.nextKnownPendingLevel=fu(o)),Ac&&(0===(o=e.lastPingedTime)||o>=n)){e.lastPingedTime=n,nu(e,n);break}if(0!==(o=Yc(e))&&o!==n)break;if(0!==r&&r!==n){e.lastPingedTime=r;break}if(1073741823!==Dc?r=10*(1073741821-Dc)-Bo():1073741823===Ic?r=0:(r=10*(1073741821-Ic)-5e3,0>(r=(o=Bo())-r)&&(r=0),(n=10*(1073741821-n)-o)<(r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*gc(r/1960))-r)&&(r=n)),10=(r=0|c.busyMinDurationMs)?r=0:(o=0|c.busyDelayMs,r=(i=Bo()-(10*(1073741821-i)-(0|c.timeoutMs||5e3)))<=o?0:o+r-i),10 component higher in the tree to provide a loading indicator or placeholder to display."+ge(a))}5!==xc&&(xc=2),c=Ja(c,a),f=i;do{switch(f.tag){case 3:u=c,f.effectTag|=4096,f.expirationTime=t,li(f,hc(f,u,t));break e;case 1:u=c;var w=f.type,_=f.stateNode;if(0==(64&f.effectTag)&&("function"==typeof w.getDerivedStateFromError||null!==_&&"function"==typeof _.componentDidCatch&&(null===Uc||!Uc.has(_)))){f.effectTag|=4096,f.expirationTime=t,li(f,vc(f,u,t));break e}}f=f.return}while(null!==f)}Tc=lu(Tc)}catch(e){t=e;continue}break}}function ou(){var e=yc.current;return yc.current=ma,null===e?ma:e}function iu(e,t){eNc&&(Nc=e)}function cu(){for(;null!==Tc;)Tc=su(Tc)}function uu(){for(;null!==Tc&&!Ro();)Tc=su(Tc)}function su(e){var t=mc(e.alternate,e,Sc);return e.memoizedProps=e.pendingProps,null===t&&(t=lu(e)),bc.current=null,t}function lu(e){Tc=e;do{var t=Tc.alternate;if(e=Tc.return,0==(2048&Tc.effectTag)){if(t=Ya(t,Tc,Sc),1===Sc||1!==Tc.childExpirationTime){for(var n=0,r=Tc.child;null!==r;){var o=r.expirationTime,i=r.childExpirationTime;o>n&&(n=o),i>n&&(n=i),r=r.sibling}Tc.childExpirationTime=n}if(null!==t)return t;null!==e&&0==(2048&e.effectTag)&&(null===e.firstEffect&&(e.firstEffect=Tc.firstEffect),null!==Tc.lastEffect&&(null!==e.lastEffect&&(e.lastEffect.nextEffect=Tc.firstEffect),e.lastEffect=Tc.lastEffect),1(e=e.childExpirationTime)?t:e}function du(e){var t=Vo();return Ho(99,pu.bind(null,e,t)),null}function pu(e,t){do{vu()}while(null!==Bc);if(0!=(48&kc))throw Error(a(327));var n=e.finishedWork,r=e.finishedExpirationTime;if(null===n)return null;if(e.finishedWork=null,e.finishedExpirationTime=0,n===e.current)throw Error(a(177));e.callbackNode=null,e.callbackExpirationTime=0,e.callbackPriority=90,e.nextKnownPendingLevel=0;var o=fu(n);if(e.firstPendingTime=o,r<=e.lastSuspendedTime?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:r<=e.firstSuspendedTime&&(e.firstSuspendedTime=r-1),r<=e.lastPingedTime&&(e.lastPingedTime=0),r<=e.lastExpiredTime&&(e.lastExpiredTime=0),e===Cc&&(Tc=Cc=null,Sc=0),1u&&(l=u,u=c,c=l),l=dn(w,c),f=dn(w,u),l&&f&&(1!==E.rangeCount||E.anchorNode!==l.node||E.anchorOffset!==l.offset||E.focusNode!==f.node||E.focusOffset!==f.offset)&&((_=_.createRange()).setStart(l.node,l.offset),E.removeAllRanges(),c>u?(E.addRange(_),E.extend(f.node,f.offset)):(_.setEnd(f.node,f.offset),E.addRange(_))))),_=[];for(E=w;E=E.parentNode;)1===E.nodeType&&_.push({element:E,left:E.scrollLeft,top:E.scrollTop});for("function"==typeof w.focus&&w.focus(),w=0;w<_.length;w++)(E=_[w]).element.scrollLeft=E.left,E.element.scrollTop=E.top}qt=!!vn,mn=vn=null,e.current=n,Mc=o;do{try{for(w=e;null!==Mc;){var k=Mc.effectTag;if(36&k&&ic(w,Mc.alternate,Mc),128&k){_=void 0;var C=Mc.ref;if(null!==C){var T=Mc.stateNode;switch(Mc.tag){case 5:_=T;break;default:_=T}"function"==typeof C?C(_):C.current=_}}Mc=Mc.nextEffect}}catch(e){if(null===Mc)throw Error(a(330));yu(Mc,e),Mc=Mc.nextEffect}}while(null!==Mc);Mc=null,Mo(),kc=i}else e.current=n;if(Fc)Fc=!1,Bc=e,Vc=t;else for(Mc=o;null!==Mc;)t=Mc.nextEffect,Mc.nextEffect=null,Mc=t;if(0===(t=e.firstPendingTime)&&(Uc=null),1073741823===t?e===zc?Hc++:(Hc=0,zc=e):Hc=0,"function"==typeof _u&&_u(n.stateNode,r),Xc(e),Lc)throw Lc=!1,e=jc,jc=null,e;return 0!=(8&kc)||qo(),null}function hu(){for(;null!==Mc;){var e=Mc.effectTag;0!=(256&e)&&nc(Mc.alternate,Mc),0==(512&e)||Fc||(Fc=!0,zo(97,(function(){return vu(),null}))),Mc=Mc.nextEffect}}function vu(){if(90!==Vc){var e=97=n?za(e,t,n):(so(Li,1&Li.current),null!==(t=Qa(e,t,n))?t.sibling:null);so(Li,1&Li.current);break;case 19:if(r=t.childExpirationTime>=n,0!=(64&e.effectTag)){if(r)return $a(e,t,n);t.effectTag|=64}if(null!==(o=t.memoizedState)&&(o.rendering=null,o.tail=null),so(Li,Li.current),!r)return null}return Qa(e,t,n)}Da=!1}}else Da=!1;switch(t.expirationTime=0,t.tag){case 2:if(r=t.type,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,o=vo(t,fo.current),ri(t,n),o=Qi(null,t,r,e,o,n),t.effectTag|=1,"object"==typeof o&&null!==o&&"function"==typeof o.render&&void 0===o.$$typeof){if(t.tag=1,t.memoizedState=null,t.updateQueue=null,mo(r)){var i=!0;wo(t)}else i=!1;t.memoizedState=null!==o.state&&void 0!==o.state?o.state:null,ai(t);var c=r.getDerivedStateFromProps;"function"==typeof c&&vi(t,r,c,e),o.updater=mi,t.stateNode=o,o._reactInternalFiber=t,wi(t,r,e,n),t=Ua(null,t,r,!0,i,n)}else t.tag=0,Pa(null,t,o,n),t=t.child;return t;case 16:e:{if(o=t.elementType,null!==e&&(e.alternate=null,t.alternate=null,t.effectTag|=2),e=t.pendingProps,function(e){if(-1===e._status){e._status=0;var t=e._ctor;t=t(),e._result=t,t.then((function(t){0===e._status&&(t=t.default,e._status=1,e._result=t)}),(function(t){0===e._status&&(e._status=2,e._result=t)}))}}(o),1!==o._status)throw o._result;switch(o=o._result,t.type=o,i=t.tag=function(e){if("function"==typeof e)return Tu(e)?1:0;if(null!=e){if((e=e.$$typeof)===ue)return 11;if(e===fe)return 14}return 2}(o),e=Ko(o,e),i){case 0:t=La(null,t,o,e,n);break e;case 1:t=ja(null,t,o,e,n);break e;case 11:t=Na(null,t,o,e,n);break e;case 14:t=Aa(null,t,o,Ko(o.type,e),r,n);break e}throw Error(a(306,o,""))}return t;case 0:return r=t.type,o=t.pendingProps,La(e,t,r,o=t.elementType===r?o:Ko(r,o),n);case 1:return r=t.type,o=t.pendingProps,ja(e,t,r,o=t.elementType===r?o:Ko(r,o),n);case 3:if(Fa(t),r=t.updateQueue,null===e||null===r)throw Error(a(282));if(r=t.pendingProps,o=null!==(o=t.memoizedState)?o.element:null,ci(e,t),fi(t,r,null,n),(r=t.memoizedState.element)===o)Oa(),t=Qa(e,t,n);else{if((o=t.stateNode.hydrate)&&(_a=_n(t.stateNode.containerInfo.firstChild),wa=t,o=Ea=!0),o)for(n=Si(t,null,r,n),t.child=n;n;)n.effectTag=-3&n.effectTag|1024,n=n.sibling;else Pa(e,t,r,n),Oa();t=t.child}return t;case 5:return Ri(t),null===e&&Ta(t),r=t.type,o=t.pendingProps,i=null!==e?e.memoizedProps:null,c=o.children,yn(r,o)?c=null:null!==i&&yn(r,i)&&(t.effectTag|=16),Ma(e,t),4&t.mode&&1!==n&&o.hidden?(t.expirationTime=t.childExpirationTime=1,t=null):(Pa(e,t,c,n),t=t.child),t;case 6:return null===e&&Ta(t),null;case 13:return za(e,t,n);case 4:return Ni(t,t.stateNode.containerInfo),r=t.pendingProps,null===e?t.child=Ti(t,null,r,n):Pa(e,t,r,n),t.child;case 11:return r=t.type,o=t.pendingProps,Na(e,t,r,o=t.elementType===r?o:Ko(r,o),n);case 7:return Pa(e,t,t.pendingProps,n),t.child;case 8:case 12:return Pa(e,t,t.pendingProps.children,n),t.child;case 10:e:{r=t.type._context,o=t.pendingProps,c=t.memoizedProps,i=o.value;var u=t.type._context;if(so(Yo,u._currentValue),u._currentValue=i,null!==c)if(u=c.value,0===(i=jr(u,i)?0:0|("function"==typeof r._calculateChangedBits?r._calculateChangedBits(u,i):1073741823))){if(c.children===o.children&&!po.current){t=Qa(e,t,n);break e}}else for(null!==(u=t.child)&&(u.return=t);null!==u;){var s=u.dependencies;if(null!==s){c=u.child;for(var l=s.firstContext;null!==l;){if(l.context===r&&0!=(l.observedBits&i)){1===u.tag&&((l=ui(n,null)).tag=2,si(u,l)),u.expirationTime=t&&e<=t}function Au(e,t){var n=e.firstSuspendedTime,r=e.lastSuspendedTime;nt||0===n)&&(e.lastSuspendedTime=t),t<=e.lastPingedTime&&(e.lastPingedTime=0),t<=e.lastExpiredTime&&(e.lastExpiredTime=0)}function Ru(e,t){t>e.firstPendingTime&&(e.firstPendingTime=t);var n=e.firstSuspendedTime;0!==n&&(t>=n?e.firstSuspendedTime=e.lastSuspendedTime=e.nextKnownPendingLevel=0:t>=e.lastSuspendedTime&&(e.lastSuspendedTime=t+1),t>e.nextKnownPendingLevel&&(e.nextKnownPendingLevel=t))}function Mu(e,t){var n=e.lastExpiredTime;(0===n||n>t)&&(e.lastExpiredTime=t)}function Lu(e,t,n,r){var o=t.current,i=qc(),c=pi.suspense;i=$c(i,o,c);e:if(n){t:{if(Ze(n=n._reactInternalFiber)!==n||1!==n.tag)throw Error(a(170));var u=n;do{switch(u.tag){case 3:u=u.stateNode.context;break t;case 1:if(mo(u.type)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break t}}u=u.return}while(null!==u);throw Error(a(171))}if(1===n.tag){var s=n.type;if(mo(s)){n=bo(n,s,u);break e}}n=u}else n=lo;return null===t.context?t.context=n:t.pendingContext=n,(t=ui(i,c)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),si(o,t),Qc(o,i),i}function ju(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:default:return e.child.stateNode}}function Uu(e,t){null!==(e=e.memoizedState)&&null!==e.dehydrated&&e.retryTime=E},c=function(){},t.unstable_forceFrameRate=function(e){0>e||125>>1,o=e[r];if(!(void 0!==o&&0O(a,n))void 0!==u&&0>O(u,a)?(e[r]=u,e[c]=n,r=c):(e[r]=a,e[i]=n,r=i);else{if(!(void 0!==u&&0>O(u,n)))break e;e[r]=u,e[c]=n,r=c}}}return t}return null}function O(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var I=[],D=[],P=1,N=null,A=3,R=!1,M=!1,L=!1;function j(e){for(var t=S(D);null!==t;){if(null===t.callback)x(D);else{if(!(t.startTime<=e))break;x(D),t.sortIndex=t.expirationTime,T(I,t)}t=S(D)}}function U(e){if(L=!1,j(e),!M)if(null!==S(I))M=!0,r(F);else{var t=S(D);null!==t&&o(U,t.startTime-e)}}function F(e,n){M=!1,L&&(L=!1,i()),R=!0;var r=A;try{for(j(n),N=S(I);null!==N&&(!(N.expirationTime>n)||e&&!a());){var c=N.callback;if(null!==c){N.callback=null,A=N.priorityLevel;var u=c(N.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?N.callback=u:N===S(I)&&x(I),j(n)}else x(I);N=S(I)}if(null!==N)var s=!0;else{var l=S(D);null!==l&&o(U,l.startTime-n),s=!1}return s}finally{N=null,A=r,R=!1}}function B(e){switch(e){case 1:return-1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var V=c;t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){M||R||(M=!0,r(F))},t.unstable_getCurrentPriorityLevel=function(){return A},t.unstable_getFirstCallbackNode=function(){return S(I)},t.unstable_next=function(e){switch(A){case 1:case 2:case 3:var t=3;break;default:t=A}var n=A;A=t;try{return e()}finally{A=n}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=V,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=A;A=e;try{return t()}finally{A=n}},t.unstable_scheduleCallback=function(e,n,a){var c=t.unstable_now();if("object"==typeof a&&null!==a){var u=a.delay;u="number"==typeof u&&0c?(e.sortIndex=u,T(D,e),null===S(I)&&e===S(D)&&(L?i():L=!0,o(U,u-c))):(e.sortIndex=a,T(I,e),M||R||(M=!0,r(F))),e},t.unstable_shouldYield=function(){var e=t.unstable_now();j(e);var n=S(I);return n!==N&&null!==N&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),E(n),l}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;E(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:C(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),l}},e}(e.exports);try{regeneratorRuntime=r}catch(e){Function("r","regeneratorRuntime = r")(r)}},function(e,t){e.exports=function(e){if(Array.isArray(e))return e}},function(e,t){e.exports=function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var n=[],r=!0,o=!1,i=void 0;try{for(var a,c=e[Symbol.iterator]();!(r=(a=c.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){o=!0,i=e}finally{try{r||null==c.return||c.return()}finally{if(o)throw i}}return n}}},function(e,t,n){var r=n(34);e.exports=function(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?r(e,t):void 0}}},function(e,t){e.exports=function(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(e,t){for(var n=0;na?a:o+c,u&&u(s,e);break;case 37:case 40:s=o-c0){C=C.sort((function(e,t){return u?e-t:t-e}));var T=!0,S=!1,x=void 0;try{for(var O,I=C[Symbol.iterator]();!(T=(O=I.next()).done);T=!0){var D=O.value,P=this.getPositionFromValue(D),N=f({},g,this.coordinates(P).label+"px");k.push(a.default.createElement("li",{key:D,className:(0,o.default)("rangeslider__label-item"),"data-value":D,onMouseDown:this.handleDrag,onTouchStart:this.handleStart,onTouchEnd:this.handleEnd,style:N},this.props.labels[D]))}}catch(e){S=!0,x=e}finally{try{!T&&I.return&&I.return()}finally{if(S)throw x}}}return a.default.createElement("div",{ref:function(t){e.slider=t},className:(0,o.default)("rangeslider","rangeslider-"+r,{"rangeslider-reverse":u},i),onMouseDown:this.handleDrag,onMouseUp:this.handleEnd,onTouchStart:this.handleStart,onTouchEnd:this.handleEnd,"aria-valuemin":l,"aria-valuemax":p,"aria-valuenow":n,"aria-orientation":r},a.default.createElement("div",{className:"rangeslider__fill",style:w}),a.default.createElement("div",{ref:function(t){e.handle=t},className:"rangeslider__handle",onMouseDown:this.handleStart,onTouchMove:this.handleDrag,onTouchEnd:this.handleEnd,onKeyDown:this.handleKeyDown,style:_,tabIndex:0},E?a.default.createElement("div",{ref:function(t){e.tooltip=t},className:"rangeslider__handle-tooltip"},a.default.createElement("span",null,this.handleFormat(n))):null,a.default.createElement("div",{className:"rangeslider__handle-label"},h)),s?this.renderLabels(k):null)}}]),t}(i.Component);p.propTypes={min:c.default.number,max:c.default.number,step:c.default.number,value:c.default.number,orientation:c.default.string,tooltip:c.default.bool,reverse:c.default.bool,labels:c.default.object,handleLabel:c.default.string,format:c.default.func,onChangeStart:c.default.func,onChange:c.default.func,onChangeComplete:c.default.func},p.defaultProps={min:0,max:100,step:1,value:0,orientation:"horizontal",tooltip:!0,reverse:!1,labels:{},handleLabel:""},t.default=p},function(e,t,n){"use strict";var r=n(49);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var c=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw c.name="Invariant Violation",c}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";n.r(t),function(e){var n=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some((function(e,r){return e[0]===t&&(n=r,!0)})),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),r=this.__entries__[n];return r&&r[1]},t.prototype.set=function(t,n){var r=e(this.__entries__,t);~r?this.__entries__[r][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,r=e(n,t);~r&&n.splice(r,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,r=this.__entries__;n0},e.prototype.connect_=function(){r&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),c?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){r&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;a.some((function(e){return!!~n.indexOf(e)}))&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),s=function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),_="undefined"!=typeof WeakMap?new WeakMap:new n,E=function e(t){if(!(this instanceof e))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var n=u.getInstance(),r=new w(t,n,this);_.set(this,r)};["observe","unobserve","disconnect"].forEach((function(e){E.prototype[e]=function(){var t;return(t=_.get(this))[e].apply(t,arguments)}}));var k=void 0!==o.ResizeObserver?o.ResizeObserver:E;t.default=k}.call(this,n(16))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.capitalize=function(e){return e.charAt(0).toUpperCase()+e.substr(1)},t.clamp=function(e,t,n){return Math.min(Math.max(e,t),n)}},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t){function n(t,r){return e.exports=n=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},n(t,r)}e.exports=n},function(e,t){function n(t){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?e.exports=n=function(e){return typeof e}:e.exports=n=function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(t)}e.exports=n},function(e,t){e.exports=function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}},function(e,t,n){"use strict";var r=n(6)(e.i,{locals:!1});e.hot.dispose(r),e.hot.accept(void 0,r)},function(e,t){e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},function(e,t,n){"use strict";
+/** @license React v16.13.1
+ * react-is.production.min.js
+ *
+ * Copyright (c) Facebook, Inc. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ */var r="function"==typeof Symbol&&Symbol.for,o=r?Symbol.for("react.element"):60103,i=r?Symbol.for("react.portal"):60106,a=r?Symbol.for("react.fragment"):60107,c=r?Symbol.for("react.strict_mode"):60108,u=r?Symbol.for("react.profiler"):60114,s=r?Symbol.for("react.provider"):60109,l=r?Symbol.for("react.context"):60110,f=r?Symbol.for("react.async_mode"):60111,d=r?Symbol.for("react.concurrent_mode"):60111,p=r?Symbol.for("react.forward_ref"):60112,h=r?Symbol.for("react.suspense"):60113,v=r?Symbol.for("react.suspense_list"):60120,m=r?Symbol.for("react.memo"):60115,g=r?Symbol.for("react.lazy"):60116,y=r?Symbol.for("react.block"):60121,b=r?Symbol.for("react.fundamental"):60117,w=r?Symbol.for("react.responder"):60118,_=r?Symbol.for("react.scope"):60119;function E(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case o:switch(e=e.type){case f:case d:case a:case u:case c:case h:return e;default:switch(e=e&&e.$$typeof){case l:case p:case g:case m:case s:return e;default:return t}}case i:return t}}}function k(e){return E(e)===d}t.AsyncMode=f,t.ConcurrentMode=d,t.ContextConsumer=l,t.ContextProvider=s,t.Element=o,t.ForwardRef=p,t.Fragment=a,t.Lazy=g,t.Memo=m,t.Portal=i,t.Profiler=u,t.StrictMode=c,t.Suspense=h,t.isAsyncMode=function(e){return k(e)||E(e)===f},t.isConcurrentMode=k,t.isContextConsumer=function(e){return E(e)===l},t.isContextProvider=function(e){return E(e)===s},t.isElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===o},t.isForwardRef=function(e){return E(e)===p},t.isFragment=function(e){return E(e)===a},t.isLazy=function(e){return E(e)===g},t.isMemo=function(e){return E(e)===m},t.isPortal=function(e){return E(e)===i},t.isProfiler=function(e){return E(e)===u},t.isStrictMode=function(e){return E(e)===c},t.isSuspense=function(e){return E(e)===h},t.isValidElementType=function(e){return"string"==typeof e||"function"==typeof e||e===a||e===d||e===u||e===c||e===h||e===v||"object"==typeof e&&null!==e&&(e.$$typeof===g||e.$$typeof===m||e.$$typeof===s||e.$$typeof===l||e.$$typeof===p||e.$$typeof===b||e.$$typeof===w||e.$$typeof===_||e.$$typeof===y)},t.typeOf=E},function(e,t,n){"use strict";n.r(t);var r=n(0),o=n.n(r),i=n(18),a=n.n(i),c=n(7);n(9);function u(){return(u=Object.assign||function(e){for(var t=1;t=0;d--){var p=o[d];"."===p?l(o,d):".."===p?(l(o,d),f++):f&&(l(o,d),f--)}if(!c)for(;f--;f)o.unshift("..");!c||""===o[0]||o[0]&&s(o[0])||o.unshift("");var h=o.join("/");return n&&"/"!==h.substr(-1)&&(h+="/"),h};var d=function(e,t){if(!e)throw new Error("Invariant failed")};function p(e){return"/"===e.charAt(0)?e:"/"+e}function h(e){return"/"===e.charAt(0)?e.substr(1):e}function v(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function m(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function g(e){var t=e.pathname,n=e.search,r=e.hash,o=t||"/";return n&&"?"!==n&&(o+="?"===n.charAt(0)?n:"?"+n),r&&"#"!==r&&(o+="#"===r.charAt(0)?r:"#"+r),o}function y(e,t,n,r){var o;"string"==typeof e?(o=function(e){var t=e||"/",n="",r="",o=t.indexOf("#");-1!==o&&(r=t.substr(o),t=t.substr(0,o));var i=t.indexOf("?");return-1!==i&&(n=t.substr(i),t=t.substr(0,i)),{pathname:t,search:"?"===n?"":n,hash:"#"===r?"":r}}(e)).state=t:(void 0===(o=u({},e)).pathname&&(o.pathname=""),o.search?"?"!==o.search.charAt(0)&&(o.search="?"+o.search):o.search="",o.hash?"#"!==o.hash.charAt(0)&&(o.hash="#"+o.hash):o.hash="",void 0!==t&&void 0===o.state&&(o.state=t));try{o.pathname=decodeURI(o.pathname)}catch(e){throw e instanceof URIError?new URIError('Pathname "'+o.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):e}return n&&(o.key=n),r?o.pathname?"/"!==o.pathname.charAt(0)&&(o.pathname=f(o.pathname,r.pathname)):o.pathname=r.pathname:o.pathname||(o.pathname="/"),o}function b(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,r,o){if(null!=e){var i="function"==typeof e?e(t,n):e;"string"==typeof i?"function"==typeof r?r(i,o):o(!0):o(!1!==i)}else o(!0)},appendListener:function(e){var n=!0;function r(){n&&e.apply(void 0,arguments)}return t.push(r),function(){n=!1,t=t.filter((function(e){return e!==r}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),r=0;rt?n.splice(t,n.length-t,r):n.push(r),f({action:"PUSH",location:r,index:t,entries:n})}}))},replace:function(e,t){var r=y(e,t,d(),w.location);l.confirmTransitionTo(r,"REPLACE",n,(function(e){e&&(w.entries[w.index]=r,f({action:"REPLACE",location:r}))}))},go:m,goBack:function(){m(-1)},goForward:function(){m(1)},canGo:function(e){var t=w.index+e;return t>=0&&t=0||(o[n]=e[n]);return o}n(25);var M=function(e){var t=Object(P.a)();return t.displayName=e,t}("Router-History"),L=function(e){var t=Object(P.a)();return t.displayName=e,t}("Router"),j=function(e){function t(t){var n;return(n=e.call(this,t)||this).state={location:t.history.location},n._isMounted=!1,n._pendingLocation=null,t.staticContext||(n.unlisten=t.history.listen((function(e){n._isMounted?n.setState({location:e}):n._pendingLocation=e}))),n}Object(c.a)(t,e),t.computeRootMatch=function(e){return{path:"/",url:"/",params:{},isExact:"/"===e}};var n=t.prototype;return n.componentDidMount=function(){this._isMounted=!0,this._pendingLocation&&this.setState({location:this._pendingLocation})},n.componentWillUnmount=function(){this.unlisten&&this.unlisten()},n.render=function(){return o.a.createElement(L.Provider,{value:{history:this.props.history,location:this.state.location,match:t.computeRootMatch(this.state.location.pathname),staticContext:this.props.staticContext}},o.a.createElement(M.Provider,{children:this.props.children||null,value:this.props.history}))},t}(o.a.Component);o.a.Component;o.a.Component;var U={},F=0;function B(e,t){void 0===t&&(t={}),("string"==typeof t||Array.isArray(t))&&(t={path:t});var n=t,r=n.path,o=n.exact,i=void 0!==o&&o,a=n.strict,c=void 0!==a&&a,u=n.sensitive,s=void 0!==u&&u;return[].concat(r).reduce((function(t,n){if(!n&&""!==n)return null;if(t)return t;var r=function(e,t){var n=""+t.end+t.strict+t.sensitive,r=U[n]||(U[n]={});if(r[e])return r[e];var o=[],i={regexp:A()(e,o,t),keys:o};return F<1e4&&(r[e]=i,F++),i}(n,{end:i,strict:c,sensitive:s}),o=r.regexp,a=r.keys,u=o.exec(e);if(!u)return null;var l=u[0],f=u.slice(1),d=e===l;return i&&!d?null:{path:n,url:"/"===n&&""===l?"/":l,isExact:d,params:a.reduce((function(e,t,n){return e[t.name]=f[n],e}),{})}}),null)}var V=function(e){function t(){return e.apply(this,arguments)||this}return Object(c.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(L.Consumer,null,(function(t){t||d(!1);var n=e.props.location||t.location,r=u({},t,{location:n,match:e.props.computedMatch?e.props.computedMatch:e.props.path?B(n.pathname,e.props):t.match}),i=e.props,a=i.children,c=i.component,s=i.render;return Array.isArray(a)&&0===a.length&&(a=null),o.a.createElement(L.Provider,{value:r},r.match?a?"function"==typeof a?a(r):a:c?o.a.createElement(c,r):s?s(r):null:"function"==typeof a?a(r):null)}))},t}(o.a.Component);function W(e){return"/"===e.charAt(0)?e:"/"+e}function H(e,t){if(!e)return t;var n=W(e);return 0!==t.pathname.indexOf(n)?t:u({},t,{pathname:t.pathname.substr(n.length)})}function z(e){return"string"==typeof e?e:g(e)}function G(e){return function(){d(!1)}}function q(){}o.a.Component;var $=function(e){function t(){return e.apply(this,arguments)||this}return Object(c.a)(t,e),t.prototype.render=function(){var e=this;return o.a.createElement(L.Consumer,null,(function(t){t||d(!1);var n,r,i=e.props.location||t.location;return o.a.Children.forEach(e.props.children,(function(e){if(null==r&&o.a.isValidElement(e)){n=e;var a=e.props.path||e.props.from;r=a?B(i.pathname,u({},e.props,{path:a})):t.match}})),r?o.a.cloneElement(n,{location:i,computedMatch:r}):null}))},t}(o.a.Component);o.a.useContext;var Q=function(e){function t(){for(var t,n=arguments.length,r=new Array(n),o=0;on&&(r=t-n),r&&(g.current.scrollLeft+=r)}};return o.a.createElement("div",{className:he()("head-enum-panel",{disabled:h})},o.a.createElement("div",{className:"enum-value"},p[m]),o.a.createElement("div",{className:"enum-name"},u),o.a.createElement("div",{className:"enum-list",ref:g},y.map((function(e){return o.a.createElement(Ee,{key:e.value,value:e.value,text:e.text,onChange:i,disabled:h,active:e.value===m,onScrollIntoView:b})}))))}n(42);function Ce(e){var t=e.templateConfig,n=e.value,i=e.onChange,a=e.disabled,c=t||{},u=c.name,s=c.mode,l=c.define,f=(l=void 0===l?{}:l).start,d=void 0===f?0:f,p=l.step,h=void 0===p?0:p,v=l.max,m=void 0===v?0:v,g=l.min,y=void 0===g?0:g,b=l.unit,w=void 0===b?"":b,_=+y,E=+m,k=+d,C=+h,T=Object(r.useMemo)((function(){return function(e){if("number"!=typeof e)return 0;var t=e.toString();return/e-(.+)$/.test(t)?parseInt(RegExp.$1,10):t.indexOf(".")>=0?t.length-t.indexOf(".")-1:0}(+(C||0))}),[C]),S=function(e){var t=Math.pow(10,T);return e-=_,e-=e*t%(C*t)/t,(e+=_)<_&&(e=_),e>E&&(e=E),parseFloat(e.toFixed(T))},x=Boolean(a)||-1===s.indexOf("w"),O=Object(r.useState)(void 0===n?k:n),I=le()(O,2),D=I[0],P=I[1],N=Object(r.useMemo)((function(){return S(D)}),[D]),A=Object(r.useRef)(null),R=Object(r.useRef)(null);Object(r.useEffect)((function(){S(void 0===n?k:n)!==N&&P(n),x&&(R.current=null,U(!1))}),[n,x]);var M=Object(r.useState)(!1),L=le()(M,2),j=L[0],U=L[1],F=Math.abs(E-_),B=(D-_)/F*100,V=function(e){if(R.current){var t=R.current,n=t.startY,r=t.startValue+(n-e)/t.totalHeight*F;return r=Math.min(E,Math.max(_,r))}return k},W=function(e,t,n){R.current&&R.current.cleanup&&R.current.cleanup(),R.current={identifier:e,startY:t,startValue:D,totalHeight:A.current.getBoundingClientRect().height,cleanup:n},U(!0)},H=function(e){P(V(e))},z=function(e){var t=V(e);P(t);var r=S(t);r!==n&&i(r),R.current&&R.current.cleanup&&R.current.cleanup(),R.current=null,U(!1)},G=function(e){if(R.current){var t=R.current.identifier;return(n=e.changedTouches,Array.prototype.slice.apply(n)).find((function(e){return e.identifier===t}))}return null;var n};return o.a.createElement("div",{className:"head-number-panel"},o.a.createElement("div",{className:"number-info"},o.a.createElement("span",{className:"number-name"},u),o.a.createElement("span",{className:"number-value"},N),o.a.createElement("span",{className:"number-unit"},w)),o.a.createElement("div",{className:"number-control"},o.a.createElement("div",{className:"number-control-content"},o.a.createElement("div",{className:"number-mark"}),o.a.createElement("div",{className:"number-range"},o.a.createElement("div",{className:"number-max"},E),o.a.createElement("div",{className:"number-min"},_),o.a.createElement("div",{className:"number-value-hint",style:{bottom:"".concat(B,"%"),display:j?"block":"none"}},"".concat(N).concat(w))),o.a.createElement("div",{className:"number-bar",ref:A,onTouchStart:function(e){if(e.preventDefault(),!x){var t=e.changedTouches[0];t&&A.current&&W(t.identifier,t.clientY)}},onTouchMove:function(e){if(e.preventDefault(),!x){var t=G(e);t&&H(t.clientY)}},onTouchEnd:function(e){if(e.preventDefault(),!x){var t=G(e);t&&z(t.clientY)}},onTouchCancel:function(e){(e.preventDefault(),x)||G(e)&&(P(n),R.current=null,U(!1))},onMouseDown:function(e){if(!x){var t=function(e){H(e.clientY)},n=function(e){z(e.clientY)};document.addEventListener("mouseup",n),document.addEventListener("mousemove",t),W(null,e.clientY,(function(){document.removeEventListener("mouseup",n),document.removeEventListener("mousemove",t)}))}}},o.a.createElement("div",{className:"number-track upper"}),o.a.createElement("div",{className:"number-track under",style:{bottom:"".concat(B,"%")}},o.a.createElement("div",{className:"number-handler",style:{top:"".concat(B<1.5?1:B<=5?8:14,"rpx")}}))))))}n(43);function Te(e){var t=e.disabled,n=e.type,r=void 0===n?"default":n,i=e.onClick,a=e.icon,c=e.reverse,u=void 0!==c&&c,s=e.transparent,l=void 0!==s&&s,f=e.style,d=e.className,p=e.btnText,h=e.standalone,v=e.children;me()(e,["disabled","type","onClick","icon","reverse","transparent","style","className","btnText","standalone","children"]);"default"===r&&(r="primary",u=!0),l&&(u=!0);var m="link"===r?"link-hover":"hover";return o.a.createElement(be,{className:he()("btn",d,r?"btn-".concat(r):"",{standalone:h,disabled:t,transparent:l,reverse:u}),style:f,hoverClass:t?"none":m,onClick:function(e){t||"function"==typeof i&&i(e)}},o.a.createElement(o.a.Fragment,null,a&&o.a.createElement("img",{src:a,className:"btn-icon"}),Boolean(p)?o.a.createElement("span",{className:"btn-text"},"btnText"):v))}var Se=n(19),xe=n.n(Se),Oe=(n(44),function(){var e=window.screen||{},t=e.width,n=e.height;return Object(r.useMemo)((function(){return{ipx:Math.max(t,n)/Math.min(t,n)>1.86}}),[])});function Ie(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function De(e){for(var t=1;t0&&(p=n.templateList[0].id);return o.a.createElement("div",{className:"device-panel clear-margin",style:{minHeight:"".concat(Fe,"px")}},function(){if(!p)return null;var e=n.templateMap[p];if(!e)return null;var t=e.id,r=e.define.type,i=n.deviceData[t];switch(r){case"bool":return o.a.createElement(_e,{templateConfig:e,onChange:function(e){return d(t,e)},value:i,disabled:!1});case"enum":return o.a.createElement(ke,{templateConfig:e,onChange:function(e){return d(t,e)},value:i,disabled:!1});case"int":case"float":return o.a.createElement(Ce,{templateConfig:e,onChange:function(e){return d(t,e)},value:i,disabled:!1});default:return null}}(),function(){var e=n.templateMap[n.templateList[1].id];if(!e)return null;var t=e.id,r=e.define.type,i=n.deviceData[t];return i&&"string"==r?o.a.createElement("div",{className:"card-layout coordinate"},"åæ ‡ï¼š",i):void 0}())}n(57);function Ve(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function We(e){for(var t=1;t=32&&e<=42}(i)&&(a.reportData={temperature:i}),a}}return{type:"unknown",data:e}}}],[{key:"deviceFilter",value:function(e){if(e.advertisServiceUUIDs&&(e.advertisServiceUUIDs.find((function(e){return e===n.serviceId}))&&e.advertisData))try{var t=e.advertisData.slice(2).join(":");return ot(ot({},e),{},{deviceName:t,serviceId:n.serviceId})}catch(e){console.error("parse mac error",e)}}}]),n}(fe.DeviceAdapter);oe()(at,"serviceId","0000FFF0-0000-1033-8000-00805F9B34FB");n(61);function ct(){var e=/\/scf\//.test(location.href),t="".concat(e?"/scf":"","/h5panel");return console.log("----basename----",t),Object(r.useEffect)((function(){de.a.on("appShow",(function(){return console.log("appShow")})).on("appHide",(function(){return console.log("appHide")})).on("pageShow",(function(){return console.log("pageShow")})).on("pageHide",(function(){return console.log("pageHide")}))}),[]),o.a.createElement(Q,{basename:t},o.a.createElement("div",null,o.a.createElement($,null,o.a.createElement(V,{path:"/bluetooth-search"},o.a.createElement(qe,null)),o.a.createElement(V,{path:"/"},o.a.createElement(Be,null)))))}de.a.blueToothAdapter.addAdapter(at),a.a.render(o.a.createElement(ct,null),document.getElementById("app"))}])}));
+//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3FjbG91ZC1pb3RleHBsb3Jlci1oNS1wYW5lbC1zZGsvZGlzdC9yZWxlYXNlL3FjbG91ZC1pb3RleHBsb3Jlci1oNS1wYW5lbC1zZGsuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NsYXNzbmFtZXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZGVmaW5lUHJvcGVydHkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvc2xpY2VkVG9BcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvcmVnZW5lcmF0b3IvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvaG1yL2hvdE1vZHVsZVJlcGxhY2VtZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2VzbS9pbmhlcml0c0xvb3NlLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2FzeW5jVG9HZW5lcmF0b3IuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Byb3AtdHlwZXMvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZ2V0UHJvdG90eXBlT2YuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21pbmktY3JlYXRlLXJlYWN0LWNvbnRleHQvZGlzdC9lc20vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3BhdGgtdG8tcmVnZXhwL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9vYmplY3QtYXNzaWduL2luZGV4LmpzIiwid2VicGFjazovLy8od2VicGFjaykvYnVpbGRpbi9nbG9iYWwuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWlzL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC1kb20vaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXh0ZW5kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtcmFuZ2VzbGlkZXIvbGliL2luZGV4LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NsYXNzQ2FsbENoZWNrLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2NyZWF0ZUNsYXNzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL2luaGVyaXRzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hvaXN0LW5vbi1yZWFjdC1zdGF0aWNzL2Rpc3QvaG9pc3Qtbm9uLXJlYWN0LXN0YXRpY3MuY2pzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC9janMvcmVhY3QucHJvZHVjdGlvbi5taW4uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWRvbS9janMvcmVhY3QtZG9tLnByb2R1Y3Rpb24ubWluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9zY2hlZHVsZXIvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3NjaGVkdWxlci9janMvc2NoZWR1bGVyLnByb2R1Y3Rpb24ubWluLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWdlbmVyYXRvci1ydW50aW1lL3J1bnRpbWUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXJyYXlXaXRoSG9sZXMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvaXRlcmFibGVUb0FycmF5TGltaXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvYXJyYXlMaWtlVG9BcnJheS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9ub25JdGVyYWJsZVJlc3QuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvQ2FyZC9DYXJkLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL21pbmktY3NzLWV4dHJhY3QtcGx1Z2luL2Rpc3QvaG1yL25vcm1hbGl6ZS11cmwuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSW9uSWNvbi9Jb25JY29uLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZS5qcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9IZWFkUGFuZWxzL0hlYWRCb29sUGFuZWwubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9IZWFkUGFuZWxzL0hlYWRFbnVtUGFuZWwubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9IZWFkUGFuZWxzL0hlYWROdW1iZXJQYW5lbC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0J0bi9CdG4ubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9CdG4vQnRuR3JvdXAubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9Nb2RhbC9Nb2RhbC5sZXNzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0RldmljZURhdGFNb2RhbC9FbnVtUGFuZWxDb250cm9sL0VudW1QYW5lbENvbnRyb2wubGVzcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVhY3QtcmFuZ2VzbGlkZXIvbGliL1Jhbmdlc2xpZGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9wcm9wLXR5cGVzL2ZhY3RvcnlXaXRoVGhyb3dpbmdTaGltcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcHJvcC10eXBlcy9saWIvUmVhY3RQcm9wVHlwZXNTZWNyZXQuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3Jlc2l6ZS1vYnNlcnZlci1wb2x5ZmlsbC9kaXN0L1Jlc2l6ZU9ic2VydmVyLmVzLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC1yYW5nZXNsaWRlci9saWIvdXRpbHMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJhbmdlc2xpZGVyL2xpYi9pbmRleC5jc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvRGV2aWNlRGF0YU1vZGFsL051bWJlclBhbmVsQ29udHJvbC9OdW1iZXJQYW5lbENvbnRyb2wubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9HcmlkL0dyaWQubGVzcyIsIndlYnBhY2s6Ly8vLi9zcmMvRGV2aWNlUGFuZWwvRGV2aWNlRGV0YWlsQnRuLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0RldmljZVBhbmVsL0RldmljZVBhbmVsLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vc3JjL0JsdWV0b290aERlbW8vU2VhcmNoUGFnZS5sZXNzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3NldFByb3RvdHlwZU9mLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9AYmFiZWwvcnVudGltZS9oZWxwZXJzL3R5cGVvZi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9hc3NlcnRUaGlzSW5pdGlhbGl6ZWQuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL3N0eWxlLmxlc3MiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2lzYXJyYXkvaW5kZXguanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LWlzL2Nqcy9yZWFjdC1pcy5wcm9kdWN0aW9uLm1pbi5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvaGVscGVycy9lc20vZXh0ZW5kcy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvcmVzb2x2ZS1wYXRobmFtZS9lc20vcmVzb2x2ZS1wYXRobmFtZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvdGlueS1pbnZhcmlhbnQvZGlzdC90aW55LWludmFyaWFudC5lc20uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2hpc3RvcnkvZXNtL2hpc3RvcnkuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL0BiYWJlbC9ydW50aW1lL2hlbHBlcnMvZXNtL29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL3JlYWN0LXJvdXRlci9lc20vcmVhY3Qtcm91dGVyLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9yZWFjdC1yb3V0ZXItZG9tL2VzbS9yZWFjdC1yb3V0ZXItZG9tLmpzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0hvdmVyYWJsZS9Ib3ZlcmFibGUudHN4Iiwid2VicGFjazovLy8uL3NyYy91dGlscy9pbmRleC50cyIsIndlYnBhY2s6Ly8vLi9zcmMvY29tcG9uZW50cy9IZWFkUGFuZWxzL0hlYWRCb29sUGFuZWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0hlYWRQYW5lbHMvSGVhZEVudW1QYW5lbC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvSGVhZFBhbmVscy9IZWFkTnVtYmVyUGFuZWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0J0bi9CdG4udHN4Iiwid2VicGFjazovLy8uL3NyYy9ob29rcy91c2VTeXN0ZW1JbmZvLnRzIiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0J0bi9CdG5Hcm91cC50c3giLCJ3ZWJwYWNrOi8vLy4vc3JjL2NvbXBvbmVudHMvTW9kYWwvTW9kYWwudHN4Iiwid2VicGFjazovLy8uL3NyYy9jb21wb25lbnRzL0RldmljZURhdGFNb2RhbC9OdW1iZXJQYW5lbENvbnRyb2wvTnVtYmVyUGFuZWxDb250cm9sLnRzeCIsIndlYnBhY2s6Ly8vLi9zcmMvaG9va3MvdXNlRGV2aWNlRGF0YS50cyIsIndlYnBhY2s6Ly8vLi9zcmMvRGV2aWNlUGFuZWwvRGV2aWNlUGFuZWwuanN4Iiwid2VicGFjazovLy8uL3NyYy9CbHVldG9vdGhEZW1vL1NlYXJjaFBhZ2UuanN4Iiwid2VicGFjazovLy8uL3NyYy9CbHVldG9vdGhEZW1vL1BhbmVsUGFnZS5qc3giLCJ3ZWJwYWNrOi8vLy4vc3JjL0JsdWV0b290aERlbW8vRGVtb0JsdWV0b290aERldmljZUFkYXB0ZXIuanMiLCJ3ZWJwYWNrOi8vLy4vc3JjL2FwcC5qc3giXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwiZGVmaW5lIiwiYW1kIiwiYSIsImkiLCJ3aW5kb3ciLCJwYXJlbnRIb3RVcGRhdGVDYWxsYmFjayIsImNodW5rSWQiLCJtb3JlTW9kdWxlcyIsImhvdEF2YWlsYWJsZUZpbGVzTWFwIiwiaG90UmVxdWVzdGVkRmlsZXNNYXAiLCJtb2R1bGVJZCIsIk9iamVjdCIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImhvdFVwZGF0ZSIsImhvdFdhaXRpbmdGaWxlcyIsImhvdENodW5rc0xvYWRpbmciLCJob3RVcGRhdGVEb3dubG9hZGVkIiwiaG90QWRkVXBkYXRlQ2h1bmsiLCJob3RDdXJyZW50Q2hpbGRNb2R1bGUiLCJob3RBcHBseU9uVXBkYXRlIiwiaG90Q3VycmVudEhhc2giLCJob3RDdXJyZW50TW9kdWxlRGF0YSIsImhvdEN1cnJlbnRQYXJlbnRzIiwiaG90Q3VycmVudFBhcmVudHNUZW1wIiwiaG90Q3JlYXRlUmVxdWlyZSIsIm1lIiwiaW5zdGFsbGVkTW9kdWxlcyIsIl9fd2VicGFja19yZXF1aXJlX18iLCJmbiIsInJlcXVlc3QiLCJob3QiLCJhY3RpdmUiLCJwYXJlbnRzIiwiaW5kZXhPZiIsInB1c2giLCJjaGlsZHJlbiIsImNvbnNvbGUiLCJ3YXJuIiwiT2JqZWN0RmFjdG9yeSIsIm5hbWUiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2V0IiwidmFsdWUiLCJkZWZpbmVQcm9wZXJ0eSIsImUiLCJob3RTdGF0dXMiLCJob3RTZXRTdGF0dXMiLCJ0aGVuIiwiZmluaXNoQ2h1bmtMb2FkaW5nIiwiZXJyIiwiaG90V2FpdGluZ0ZpbGVzTWFwIiwiaG90RW5zdXJlVXBkYXRlQ2h1bmsiLCJ0IiwibW9kZSIsImhvdENyZWF0ZU1vZHVsZSIsIl9hY2NlcHRlZERlcGVuZGVuY2llcyIsIl9kZWNsaW5lZERlcGVuZGVuY2llcyIsIl9zZWxmQWNjZXB0ZWQiLCJfc2VsZkRlY2xpbmVkIiwiX3NlbGZJbnZhbGlkYXRlZCIsIl9kaXNwb3NlSGFuZGxlcnMiLCJfbWFpbiIsImFjY2VwdCIsImRlcCIsImNhbGxiYWNrIiwidW5kZWZpbmVkIiwibGVuZ3RoIiwiZGVjbGluZSIsImRpc3Bvc2UiLCJhZGREaXNwb3NlSGFuZGxlciIsInJlbW92ZURpc3Bvc2VIYW5kbGVyIiwiaWR4Iiwic3BsaWNlIiwiaW52YWxpZGF0ZSIsInRoaXMiLCJtb2R1bGVzIiwiaG90QXBwbHlJbnZhbGlkYXRlZE1vZHVsZSIsImhvdFF1ZXVlZEludmFsaWRhdGVkTW9kdWxlcyIsImNoZWNrIiwiaG90Q2hlY2siLCJhcHBseSIsImhvdEFwcGx5Iiwic3RhdHVzIiwibCIsImhvdFN0YXR1c0hhbmRsZXJzIiwiYWRkU3RhdHVzSGFuZGxlciIsInJlbW92ZVN0YXR1c0hhbmRsZXIiLCJkYXRhIiwibmV3U3RhdHVzIiwiaG90RGVmZXJyZWQiLCJob3RVcGRhdGVOZXdIYXNoIiwidG9Nb2R1bGVJZCIsImlkIiwiRXJyb3IiLCJyZXF1ZXN0VGltZW91dCIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiWE1MSHR0cFJlcXVlc3QiLCJyZXF1ZXN0UGF0aCIsInAiLCJvcGVuIiwidGltZW91dCIsInNlbmQiLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCJyZWFkeVN0YXRlIiwidXBkYXRlIiwiSlNPTiIsInBhcnNlIiwicmVzcG9uc2VUZXh0IiwiaG90QXBwbHlJbnZhbGlkYXRlZE1vZHVsZXMiLCJjIiwiaCIsInByb21pc2UiLCJzY3JpcHQiLCJkb2N1bWVudCIsImNyZWF0ZUVsZW1lbnQiLCJjaGFyc2V0Iiwic3JjIiwiaGVhZCIsImFwcGVuZENoaWxkIiwiaG90RG93bmxvYWRVcGRhdGVDaHVuayIsImRlZmVycmVkIiwicmVzdWx0Iiwib3V0ZGF0ZWRNb2R1bGVzIiwib3B0aW9ucyIsImhvdEFwcGx5SW50ZXJuYWwiLCJjYiIsImoiLCJnZXRBZmZlY3RlZFN0dWZmIiwidXBkYXRlTW9kdWxlSWQiLCJvdXRkYXRlZERlcGVuZGVuY2llcyIsInF1ZXVlIiwibWFwIiwiY2hhaW4iLCJxdWV1ZUl0ZW0iLCJwb3AiLCJ0eXBlIiwicGFyZW50SWQiLCJwYXJlbnQiLCJjb25jYXQiLCJhZGRBbGxUb1NldCIsImIiLCJpdGVtIiwiYXBwbGllZFVwZGF0ZSIsIndhcm5VbmV4cGVjdGVkUmVxdWlyZSIsImFib3J0RXJyb3IiLCJkb0FwcGx5IiwiZG9EaXNwb3NlIiwiY2hhaW5JbmZvIiwiam9pbiIsIm9uRGVjbGluZWQiLCJpZ25vcmVEZWNsaW5lZCIsIm9uVW5hY2NlcHRlZCIsImlnbm9yZVVuYWNjZXB0ZWQiLCJvbkFjY2VwdGVkIiwib25EaXNwb3NlZCIsIm91dGRhdGVkU2VsZkFjY2VwdGVkTW9kdWxlcyIsInNsaWNlIiwiZXJyb3JIYW5kbGVyIiwia2V5cyIsImZvckVhY2giLCJpbnN0YWxsZWRDaHVua3MiLCJob3REaXNwb3NlQ2h1bmsiLCJkZXBlbmRlbmN5IiwibW9kdWxlT3V0ZGF0ZWREZXBlbmRlbmNpZXMiLCJkaXNwb3NlSGFuZGxlcnMiLCJjaGlsZCIsImVycm9yIiwiY2FsbGJhY2tzIiwib25FcnJvcmVkIiwiZGVwZW5kZW5jeUlkIiwiaWdub3JlRXJyb3JlZCIsImVycjIiLCJvcmlnaW5hbEVycm9yIiwibGlzdCIsIm0iLCJkIiwiZ2V0dGVyIiwibyIsInIiLCJTeW1ib2wiLCJ0b1N0cmluZ1RhZyIsIl9fZXNNb2R1bGUiLCJucyIsImNyZWF0ZSIsImtleSIsImJpbmQiLCJuIiwib2JqZWN0IiwicHJvcGVydHkiLCJzIiwiZGVmYXVsdCIsImRvbmUiLCJhcmd1bWVudHMiLCJ3cml0YWJsZSIsIlJlZmVyZW5jZUVycm9yIiwiVHlwZUVycm9yIiwic2V0UHJvdG90eXBlT2YiLCJnZXRQcm90b3R5cGVPZiIsIl9fcHJvdG9fXyIsImNvbnN0cnVjdG9yIiwidSIsImYiLCJ2IiwiZyIsInkiLCJfIiwiQyIsInciLCJFIiwiQXJyYXkiLCJhc3NpZ24iLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIlJlZmxlY3QiLCJkZWNvcmF0ZSIsIm1ldGFkYXRhIiwibmV4dCIsInRocm93IiwibGFiZWwiLCJzZW50IiwidHJ5cyIsIm9wcyIsInJldHVybiIsIml0ZXJhdG9yIiwiYXN5bmNJdGVyYXRvciIsInNoaWZ0IiwicmF3IiwiX19pbXBvcnREZWZhdWx0IiwiYXBwZW5kUGFyYW1zIiwiaXNQbGFpbk9iamVjdCIsInN0cmluZ2lmeSIsImVuY29kZVVSSUNvbXBvbmVudCIsImRlbGF5Iiwic2V0VGltZW91dCIsImdlblByb21pc2UiLCJub29wIiwiZ2V0RXJyb3JNc2ciLCJtc2ciLCJNZXNzYWdlIiwibWVzc2FnZSIsImVyck1zZyIsInJlcUlkIiwiaGFzTW9kYWxTaG93Iiwic2hvd01vZGFsIiwiY29uZmlybVRleHQiLCJjb25maXJtQ29sb3IiLCJ0aGVtZUNvbG9yTWFwIiwicHJpbWFyeSIsImNhbmNlbFRleHQiLCJjYW5jZWxDb2xvciIsIndlYWsiLCJfX3Jlc3QiLCJ3eCIsImhpZGVUb2FzdCIsIl9fYXNzaWduIiwidGl0bGUiLCJjb250ZW50Iiwic3VjY2VzcyIsImNvbmZpcm0iLCJmYWlsIiwiY29tcGxldGUiLCJjdXRvZmZMb25nIiwic3Vic3RyIiwiaXNBcnJheSIsInJlZHVjZSIsImRlYnVnIiwiUmVhZHkiLCJXc0Vycm9yIiwiV3NDbG9zZSIsIldzUHVzaCIsIldzUmVwb3J0IiwiV3NDb250cm9sIiwiV3NTdGF0dXNDaGFuZ2UiLCJFdmVudFR5cGVzIiwiV1hfQVBJX05FRURfQVVUSCIsIkdFVF9VU0VSSU5GT19ORUVEX0FVVEgiLCJXWF9BUElfRkFJTCIsIlZFUklGWV9MT0dJTl9GQUlMIiwiSU5URVJOQUxfRVJST1IiLCJFcnJvckNvZGUiLCJVRFBfTk9UX1JFU1BPTlNFRCIsIlNTSURfTk9UX01BVENIIiwiQ09OTkVDVF9TT0ZUQVBfRkFJTCIsIkNPTk5FQ1RfVEFSR0VUX1dJRklfRkFJTCIsIlVEUF9FUlJPUiIsIkRFVklDRV9FUlJPUiIsIklOVkFMSURfVURQX1JFU1BPTlNFIiwiREVWSUNFX0NPTk5FQ1RfTVFUVF9GQUlMIiwiREVWSUNFX0NPTk5FQ1RfV0lGSV9GQUlMIiwiQUREX0RFVklDRV9GQUlMIiwiU0VORF9VRFBfTVNHX0ZBSUwiLCJRVUVSWV9CSU5EX1RPS0VOX1RJTUVPVVQiLCJRVUVSWV9CSU5EX1RPS0VOX0ZBSUwiLCJERVZJQ0VfUkVTUF9USU1PVVQiLCJDT05ORUNUX0RFVklDRV9FUlJPUiIsIlNNQVJUX0NPTkZJR19GQUlMIiwiU01BUlRfQ09ORklHX1RJTUVPVVQiLCJTTUFSVF9DT05GSUdfSU5WQUxJRF9SRVNQT05TRSIsIkNvbm5lY3REZXZpY2VFcnJvckNvZGUiLCJTb2Z0QXBFcnJvck1zZyIsIlNtYXJ0Q29uZmlnRXJyb3JNc2ciLCJDT05ORUNUX0RFVklDRV9TVEFSVCIsIkNPTk5FQ1RfU09GVEFQX1NUQVJUIiwiQ09OTkVDVF9TT0ZUQVBfU1VDQ0VTUyIsIkNPTk5FQ1RfU01BUlRDT05GSUdfU1RBUlQiLCJDT05ORUNUX1NNQVJUQ09ORklHX1NVQ0NFU1MiLCJDUkVBVEVfVURQX0NPTk5FQ1RJT05fU1RBUlQiLCJDUkVBVEVfVURQX0NPTk5FQ1RJT05fU1VDQ0VTUyIsIlNFTkRfVEFSR0VUX1dJRklJTkZPX1NUQVJUIiwiU0VORF9UQVJHRVRfV0lGSUlORk9fU1VDQ0VTUyIsIkdFVF9ERVZJQ0VfU0lHTkFUVVJFX1NUQVJUIiwiR0VUX0RFVklDRV9TSUdOQVRVUkVfU1VDQ0VTUyIsIkNPTk5FQ1RfVEFSR0VUX1dJRklfU1RBUlQiLCJDT05ORUNUX1RBUkdFVF9XSUZJX1NVQ0NFU1MiLCJBRERfREVWSUNFX1NUQVJUIiwiQUREX0RFVklDRV9TVUNDRVNTIiwiQ09OTkVDVF9ERVZJQ0VfU1VDQ0VTUyIsIlFVRVJZX1RPS0VOX1NUQVRFX1NUQVJUIiwiUVVFUllfVE9LRU5fU1RBVEVfU1VDQ0VTUyIsIlNNQVJUQ09ORklHX1NFTkRfVE9LRU5fU1RBUlQiLCJTTUFSVENPTkZJR19TRU5EX1RPS0VOX1NVQ0NFU1MiLCJDb25uZWN0RGV2aWNlU3RlcENvZGUiLCJTb2Z0QXBTdGVwTXNnIiwiU21hcnRDb25maWdTdGVwTXNnIiwiZ3JleSIsImRhbmdlciIsIm11dGVkIiwib24iLCJfX2VlX18iLCJvbmNlIiwib2ZmIiwiZW1pdCIsIkRlYnVnIiwiSW5mbyIsIldhcm4iLCJMb2dMZXZlbCIsImxvZyIsImluZm8iLCJfZ2V0TG9nZ2VyIiwiY29uZmlnIiwibm9ybWFsaXplRXJyb3IiLCJzb21lIiwiU3RyaW5nIiwiY29kZSIsIl9fcmVhZCIsInNwbGl0IiwiaXNWZXJpZnlMb2dpbkVycm9yIiwiZ2VuVmVyaWZ5TG9naW5GYWlsRXJyb3IiLCJzdGFjayIsImhhbmRsZVZlcmlmeUxvZ2luRXJyb3IiLCJpc01pbmlQcm9ncmFtIiwiY29ubmVjdFNvY2tldCIsImlzQnJvd3NlciIsImlzTm9kZSIsInZlcnNpb25zIiwibm9kZSIsImlzUk4iLCJuYXZpZ2F0b3IiLCJwcm9kdWN0IiwicGlmeSIsIl9fc3ByZWFkIiwic2hvd0NhbmNlbCIsImZpbHRlciIsImxhc3RJbmRleE9mIiwibmV4dFZhbHVlIiwiTWF0aCIsImZsb29yIiwiY2hhcmFjdGVycyIsInNlZWQiLCJsb29rdXAiLCJzaHVmZmxlZCIsIl9fZXhwb3J0U3RhciIsImdlbmVyYXRlIiwid29ya2VyIiwiaXNWYWxpZCIsIm1ldGhvZCIsImhlYWRlcnMiLCJyZXNwb25zZVR5cGUiLCJ0b1VwcGVyQ2FzZSIsInJlc3BvbnNlIiwic3RhdHVzVGV4dCIsInNldFJlcXVlc3RIZWFkZXIiLCJfX2F3YWl0ZXIiLCJ1cmwiLCJoZWFkZXIiLCJkYXRhVHlwZSIsIl9fZ2VuZXJhdG9yIiwic3RhcnRCbG9ja2luZyIsInJlc29sdmVGaXJzdEJsb2NrIiwiZ2V0QWNjZXNzVG9rZW4iLCJhcHBLZXkiLCJhcGlQbGF0Zm9ybSIsIndzQ29uZmlnIiwiYXV0b1JlY29ubmVjdCIsImRpc2Nvbm5lY3RXaGVuQXBwSGlkZSIsIlQiLCJTIiwiY29ubmVjdFdoZW5BcHBTaG93IiwiSSIsImsiLCJEIiwicmVwb3J0b3IiLCJPIiwiaXNNYW51YWxseUNsb3NlIiwiX2RlZmF1bHRGYW1pbHlJZFByb21pc2UiLCJ4IiwibGV2ZWwiLCJ3cyIsIklvdFdlYnNvY2tldCIsImxvZ2luTWFuYWdlciIsIkxvZ2luTWFuYWdlciIsIl9hcGlQbGF0Zm9ybSIsIl9yZWNvbm5lY3RXcyIsInJlYXNvbiIsIl9vbldlYnNvY2tldENsb3NlIiwiX2hhbmRsZVB1c2hFdmVudCIsIm9uQXBwSGlkZSIsImRpc2Nvbm5lY3QiLCJvbkFwcFNob3ciLCJpc0xvZ2luIiwiY29ubmVjdCIsIl9fZXh0ZW5kcyIsInVzZXJJbmZvIiwidXNlcklkIiwibmlja05hbWUiLCJpbml0IiwicmVsb2FkIiwiX2luaXRQcm9taXNlIiwibG9naW4iLCJnZXREZWZhdWx0RmFtaWx5SWQiLCJyZXF1ZXN0QXBpIiwiT2Zmc2V0IiwiTGltaXQiLCJGYW1pbHlMaXN0IiwiVG90YWwiLCJOYW1lIiwiRGF0YSIsIkZhbWlseUlkIiwic2VuZFdlYnNvY2tldE1lc3NhZ2UiLCJjb25uZWN0V2Vic29ja2V0IiwiZGlzY29ubmVjdFdlYnNvY2tldCIsInN1YnNjcmliZURldmljZXMiLCJzdWJzY3JpYmUiLCJEZXZpY2VJZCIsIkJvb2xlYW4iLCJkb05vdFJldHJ5IiwibmVlZExvZ2luIiwiZG9Ob3RSZXBvcnQiLCJjaGVja0xvZ2luIiwiYWNjZXNzVG9rZW4iLCJ1aW4iLCJBY2Nlc3NUb2tlbiIsIlBsYXRmb3JtIiwicmVxdWVzdFRva2VuQXBpIiwicmVMb2dpbiIsImNvbm5lY3REZXZpY2UiLCJhY3Rpb24iLCJwYXJhbXMiLCJUeXBlIiwiU3ViVHlwZSIsIlBheWxvYWQiLCJUaW1lIiwiRGF0ZSIsImdldFRpbWUiLCJkZWNvZGVCYXNlNjQiLCJzdGF0ZSIsInJlcG9ydGVkIiwiVmFsdWUiLCJsYXN0VXBkYXRlIiwiZGV2aWNlSWQiLCJkZXZpY2VEYXRhIiwicGF5bG9hZCIsIkxhc3RVcGRhdGUiLCJkZXZpY2VTdGF0dXMiLCJRY2xvdWRJb3RFeHBsb3JlckFwcERldlNkayIsImVuY29kZSIsInN0cmljdCIsImRlY29kZSIsInBhcnNlTnVtYmVycyIsIk51bWJlciIsImlzTmFOIiwidHJpbSIsInBhcnNlQm9vbGVhbnMiLCJ0b0xvd2VyQ2FzZSIsImFycmF5Rm9ybWF0IiwiZXhlYyIsInJlcGxhY2UiLCJzb3J0IiwiZXh0cmFjdCIsInNraXBOdWxsIiwicGFyc2VVcmwiLCJxdWVyeSIsImNoYXJDb2RlQXQiLCJ0b1N0cmluZyIsIlJlZ0V4cCIsImRlY29kZVVSSUNvbXBvbmVudCIsIm1hdGNoIiwiY2xlYXJUaW1lb3V0IiwicnVuIiwiZnVuIiwiYXJyYXkiLCJuZXh0VGljayIsImJyb3dzZXIiLCJlbnYiLCJhcmd2IiwidmVyc2lvbiIsImFkZExpc3RlbmVyIiwicmVtb3ZlTGlzdGVuZXIiLCJyZW1vdmVBbGxMaXN0ZW5lcnMiLCJwcmVwZW5kTGlzdGVuZXIiLCJwcmVwZW5kT25jZUxpc3RlbmVyIiwibGlzdGVuZXJzIiwiYmluZGluZyIsImN3ZCIsImNoZGlyIiwidW1hc2siLCJBIiwibm93IiwiY21kIiwiQWN0aW9uIiwiUmVxdWVzdElkIiwiQ29kZSIsInJlcUJvZHkiLCJ0aW1lQ29zdCIsInBvdyIsImNyeXB0byIsIm1zQ3J5cHRvIiwiZ2V0UmFuZG9tVmFsdWVzIiwiVWludDhBcnJheSIsInJhbmRvbSIsIkxOMiIsImNlaWwiLCJ0ZXN0Iiwic2RrIiwiZ2V0SXRlbSIsIlRva2VuIiwic2V0SXRlbSIsImxvZ291dCIsIlVzZXJJRCIsIk5pY2tOYW1lIiwicmVtb3ZlSXRlbSIsImdldFN0b3JhZ2UiLCJzZXRTdG9yYWdlIiwicmVtb3ZlU3RvcmFnZSIsImhlYXJ0YmVhdEludGVydmFsIiwicmVxdWVzdEhhbmRsZXJNYXAiLCJfY29ubmVjdGVkIiwiX3N1YnNjcmliZURldmljZUlkTGlzdCIsIl9oZWFydEJlYXRUaW1lciIsImlzQ29ubmVjdGVkIiwiZG9Db25uZWN0V3MiLCJfZG9Db25uZWN0V3NQcm9taXNlIiwiV2ViU29ja2V0Iiwib25PcGVuIiwib25FcnJvciIsIm9uTWVzc2FnZSIsIm9uQ2xvc2UiLCJhY3RpdmVQdXNoIiwiY2xvc2UiLCJjbGVhckludGVydmFsIiwicmFjZSIsImVycm9yX21lc3NhZ2UiLCJyZXNCb2R5IiwiY2FsbFl1bkFwaSIsIkFjdGlvblBhcmFtcyIsIkFwcEtleSIsIlJlc3BvbnNlIiwic2VuZFdzSGVhdEJlYXQiLCJEZXZpY2VJZHMiLCJzZXRJbnRlcnZhbCIsIl9faW1wb3J0U3RhciIsImluaXRXcyIsImFkZEV2ZW50TGlzdGVuZXIiLCJlbmNvZGVCYXNlNjQiLCJjaGFyQXQiLCJmcm9tQ2hhckNvZGUiLCJjb25uZWN0VHlwZSIsImNvbm5lY3RPcHRzIiwiY29ubmVjdERldmljZVVzZVNtYXJ0Q29uZmlnIiwiY29ubmVjdERldmljZVVzZVNvZnRBcCIsInRhcmdldFdpZmlJbmZvIiwiYmluZERldmljZVRva2VuIiwiZmFtaWx5SWQiLCJ1ZHBQb3J0IiwicXVlcnlUb2tlblJldHJ5VGltZSIsInF1ZXJ5VG9rZW5HYXAiLCJzdGVwR2FwIiwibW9kYWxDb25maXJtQ29sb3IiLCJtb2RhbENhbmNlbENvbG9yIiwib25Qcm9ncmVzcyIsIm9uQ29tcGxldGUiLCJhZGRyZXNzIiwicG9ydCIsInJldHJ5Q291bnQiLCJFc3B0b3VjaFRhc2siLCJhcFNzaWQiLCJTU0lEIiwiYXBCc3NpZCIsIkJTU0lEIiwiYXBQYXNzd29yZCIsInBhc3N3b3JkIiwibG9nZ2VyIiwic3RhcnRTbWFydENvbmZpZyIsInJlbW90ZUluZm8iLCJ0YXJnZXRVZHBBZGRyZXNzIiwiY3JlYXRlVURQU29ja2V0IiwiZXNjYXBlIiwiY21kVHlwZSIsImRldmljZVJlcGx5IiwidG9rZW4iLCJwcm9kdWN0SWQiLCJkZXZpY2VOYW1lIiwicXVlcnlUb2tlblN0YXRlQW5kQmluZCIsInByb3RvVmVyc2lvbiIsIm9uU3RlcENoYW5nZSIsInN0YXJ0V2lmaSIsIl9pbnZva2UiLCJhcmciLCJkZWxlZ2F0ZSIsIl9zZW50IiwiZGlzcGF0Y2hFeGNlcHRpb24iLCJhYnJ1cHQiLCJ3cmFwIiwiX19hd2FpdCIsInJlc3VsdE5hbWUiLCJuZXh0TG9jIiwidHJ5TG9jIiwiY2F0Y2hMb2MiLCJmaW5hbGx5TG9jIiwiYWZ0ZXJMb2MiLCJ0cnlFbnRyaWVzIiwiY29tcGxldGlvbiIsInJlc2V0IiwiZGlzcGxheU5hbWUiLCJpc0dlbmVyYXRvckZ1bmN0aW9uIiwibWFyayIsImF3cmFwIiwiQXN5bmNJdGVyYXRvciIsImFzeW5jIiwicmV2ZXJzZSIsInZhbHVlcyIsInByZXYiLCJzdG9wIiwicnZhbCIsImZpbmlzaCIsImNhdGNoIiwiZGVsZWdhdGVZaWVsZCIsInJlZ2VuZXJhdG9yUnVudGltZSIsIkZ1bmN0aW9uIiwiZnJvbSIsInRyeVJlcXVlc3QiLCJTdGF0ZSIsImRldGFpbCIsIlByb2R1Y3RJZCIsIkRldmljZU5hbWUiLCJzb2Z0QXBJbmZvIiwidWRwQWRkcmVzcyIsIndhaXRVZHBSZXNwb25zZUR1cmF0aW9uIiwidWRwQ29tbXVuaWNhdGlvblJldHJ5VGltZSIsImhhbmRsZUFkZERldmljZSIsIlAiLCJjb25uZWN0V2lmaSIsImdldENvbm5lY3RlZFdpZmkiLCJ3aWZpIiwic3NpZCIsInRpbWVzdGFtcCIsInBhcnNlSW50IiwibXF0dFN0YXRlIiwid2lmaVN0YXRlIiwic2lnbmF0dXJlIiwiU2lnbmF0dXJlIiwiRGV2aWNlVGltZXN0YW1wIiwiQ29ubklkIiwiY29ubklkIiwidXNlclNraXBSZWNvbm5lY3RXaWZpIiwic3RyaW5nVG9CeXRlQXJyYXkiLCJJbnQ4QXJyYXkiLCJVaW50MTZBcnJheSIsImNvbnZlcnRCeXRlMlVpbnQ4IiwiYnl0ZVRvSGV4IiwiY29udmVydEJ5dGUySGV4U3RyaW5nIiwic3Vic3RyaW5nIiwiY29udmVydFVpbnQ4dG9CeXRlIiwiZ2V0U3BlY0J5dGVzRnJvbUNoYXIiLCJnZXRQYXJzZWRCc3NpZCIsIkVTUFRPVUNIX0VOQ09ESU5HX0NIQVJTRVQiLCJzdHJpbmdUb1V0ZjhCeXRlQXJyYXkiLCJzcGxpdFVpbnQ4VG8yYnl0ZXMiLCJjb21iaW5lMmJ5dGVzVG9PbmUiLCJwYXJzZUJzc2lkIiwidGVzdENvbnZlcnRVaW50OHRvQnl0ZSIsInRlc3RDb252ZXJ0Q2hhcjJVaW50OCIsInRlc3RTcGxpdFVpbnQ4VG8yYnl0ZXMiLCJ0ZXN0Q29tYmluZTJieXRlc1RvT25lIiwidGVzdFBhcnNlQnNzaWQiLCJtRGF0YSIsIm1Ccm9hZGNhc3QiLCJtSW50ZXJ2YWxHdWlkZUNvZGVNaWxsaXNlY29uZCIsIm1JbnRlcnZhbERhdGFDb2RlTWlsbGlzZWNvbmQiLCJtVGltZW91dEd1aWRlQ29kZU1pbGxpc2Vjb25kIiwibVRpbWVvdXREYXRhQ29kZU1pbGxpc2Vjb25kIiwibVRvdGFsUmVwZWF0VGltZSIsIm1Fc3B0b3VjaFJlc3VsdE9uZUxlbiIsIm1Fc3B0b3VjaFJlc3VsdE1hY0xlbiIsIm1Fc3B0b3VjaFJlc3VsdElwTGVuIiwibUVzcHRvdWNoUmVzdWx0VG90YWxMZW4iLCJtUG9ydExpc3RlbmluZyIsIm1UYXJnZXRQb3J0IiwibVdhaXRVZHBSZWNlaXZpbmdNaWxsaXNlb25kIiwibVdhaXRVZHBTZW5kaW5nTWlsbGlzZWNvbmQiLCJtVGhyZXNob2xkU3VjQnJvYWRjYXN0Q291bnQiLCJtRXhwZWN0VGFza1Jlc3VsdENvdW50IiwiX2RhdGFncmFtQ291bnQiLCJfX2dldE5leHREYXRhZ3JhbUNvdW50IiwiZ2V0VGltZW91dFRvdGFsQ29kZU1pbGxpc2Vjb25kIiwiY2hlY2tJc1N1cHBvcnQiLCJtU29ja2V0IiwiaXNDbG9zZSIsIm1heCIsImdldFN5c3RlbUluZm9TeW5jIiwiU0RLVmVyc2lvbiIsIlRBRyIsIm9mZkVycm9yIiwibWluIiwic2VuZERhdGFTaWRlQnlTaWRlIiwibVRpbWVvdXQiLCJtQ29ycmVjdExlbiIsImhhbmRsZXJUaW1lb3V0Iiwib25MaXN0ZW5pbmciLCJtU29ja2V0VGltZW91dFRpbWVyIiwibXNnSGFuZGxlciIsInNpemUiLCJvZmZNZXNzYWdlIiwiSW50MzJBcnJheSIsIkNSQ19QT0xZTk9NIiwiY3JjVGFibGUiLCJDUkNfSU5JVElBTCIsInVwZGF0ZVZhbHVlIiwiY29udmVydE51bWJlclRvQnl0ZSIsIk4iLCJJTkRFWF9NQVgiLCJtRGF0YUhpZ2giLCJtRGF0YUxvdyIsImNvbnZlcnROdW1iZXJUb0NoYXIiLCJnZXRWYWx1ZSIsIm1DcmNIaWdoIiwibUNyY0xvdyIsIm1TZXFIZWFkZXIiLCJEQVRBX0NPREVfTEVOIiwiZ2V0Qnl0ZXMiLCJSIiwiRVhUUkFfSEVBRF9MRU4iLCJtRGF0YUNvZGVzIiwiY29tYmluZTJieXRlc1RvVTE2IiwiRVhUUkFfTEVOIiwiTSIsImdldFU4cyIsIkdVSURFX0NPREVfTEVOIiwiY29udmVydFU4VG9IZXhTdHJpbmciLCJMIiwibUdjQnl0ZXMyIiwibURjQnl0ZXMyIiwiQiIsIlUiLCJtRW5jcnlwdG9yIiwibUFwU3NpZCIsImdldERhdGEiLCJtQXBQYXNzd29yZCIsIm1BcEJzc2lkIiwibUlzQ2FuY2VsbGVkIiwibVBhcmFtZXRlciIsIm1Tb2NrZXRDbGllbnQiLCJnZXRQb3J0TGlzdGVuaW5nIiwibVNvY2tldFNlcnZlciIsImdldFdhaXRVZHBUb3RhbE1pbGxpc2Vjb25kIiwiZ2V0RXNwdG91Y2hSZXN1bHRUb3RhbExlbiIsImludGVycnVwdCIsIm1Fc3B0b3VjaFJlc3VsdExpc3QiLCJtQnNzaWRUYXNrU3VjQ291bnRNYXAiLCJtTG9jYWxJcCIsImVycm9yQ29kZSIsIm1Jc0V4ZWN1dGVkIiwiX19jaGVja1Rhc2tWYWxpZCIsInNldEV4cGVjdFRhc2tSZXN1bHRDb3VudCIsInN0YXJ0U2VydmVyIiwiX19saXN0ZW5Bc3luIiwiZ2V0VG90YWxSZXBlYXRUaW1lIiwiX19leGVjdXRlIiwiX19nZXRFc3B0b3VjaFJlc3VsdExpc3QiLCJtSXNJbnRlcnJ1cHQiLCJnZXRXYWl0VWRwUmVjZWl2aW5nTWlsbGlzZWNvbmQiLCJtSXNTdWMiLCJfX2V4ZWN1dGVJbk5vUHJvbWlzZSIsImdldEdDQnl0ZXMyIiwiZ2V0RENCeXRlczIiLCJnZXRUaW1lb3V0R3VpZGVDb2RlTWlsbGlzZWNvbmQiLCJnZXRUYXJnZXRIb3N0bmFtZSIsImdldFRhcmdldFBvcnQiLCJnZXRJbnRlcnZhbEd1aWRlQ29kZU1pbGxpc2Vjb25kIiwiZ2V0VGltZW91dERhdGFDb2RlTWlsbGlzZWNvbmQiLCJPTkVfREFUQV9MRU4iLCJnZXRJbnRlcnZhbERhdGFDb2RlTWlsbGlzZWNvbmQiLCJnZXRXYWl0VWRwU2VuZGluZ01pbGxpc2Vjb25kIiwic2VuZERhdGEiLCJnZXRFc3B0b3VjaFJlc3VsdE9uZUxlbiIsImdldEVzcHRvdWNoUmVzdWx0TWFjTGVuIiwiZ2V0RXNwdG91Y2hSZXN1bHRJcExlbiIsIl9fcHV0RXNwdG91Y2hSZXN1bHQiLCJnZXRFeHBlY3RUYXNrUmVzdWx0Q291bnQiLCJnZXRUaHJlc2hvbGRTdWNCcm9hZGNhc3RDb3VudCIsImJzc2lkIiwiaXNTdWMiLCJpbmV0QWRkcmVzcyIsInNldEJyb2FkY2FzdCIsImxvY2FsSXAiLCJnZXRCeXRlc0J5U3RyaW5nIiwicGFyc2VCc3NpZDJieXRlcyIsIm1UYXNrIiwiaXNDYW5jZWxsZWQiLCJwbGF0Zm9ybSIsInN0YXJ0SW5Ob1Byb21pc2UiLCJzdGFydCIsInQwIiwiRyIsIlJlIiwiTWUiLCJoNVdlYnNvY2tldCIsIl9ibHVlVG9vdGhCcmlkZ2VFbmFibGUiLCJjb250cm9sIiwiYXBpIiwiY2FsbFd4QXBpIiwiY2xvc2VCTEVDb25uZWN0aW9uIiwidDEiLCJjcmVhdGVCTEVDb25uZWN0aW9uIiwiX29uQmx1ZXRvb3RoQWRhcHRlclN0YXRlQ2hhbmdlSGFuZGxlciIsIl9vbkJMRUNvbm5lY3Rpb25TdGF0ZUNoYW5nZUhhbmRsZXIiLCJfb25CTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlSGFuZGxlciIsIl9vbkJsdWV0b290aERldmljZUZvdW5kSGFuZGxlciIsIkYiLCJXIiwiViIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiX25hbWUiLCJfZGV2aWNlTmFtZSIsIl9kZXZpY2VJZCIsIl9wcm9kdWN0SWQiLCJzZXJ2aWNlSWQiLCJjaGFyYWN0ZXJpc3RpY3NNYXAiLCJ3cml0ZUlkcyIsIm5vdGlmeUlkcyIsInJlYWRJZHMiLCJpbmRpY2F0ZUlkcyIsImxvY2F0aW9uIiwiaHJlZiIsImNoYXJhY3RlcmlzdGljSWQiLCJfZGV2aWNlUmVnaXN0ZXJlZCIsImJsdWVUb290aEJyaWRnZSIsImlzRGV2TW9kZSIsImNvbm5lY3RlZCIsIl9kZXZpY2VDb25uZWN0ZWQiLCJkaXNjb25uZWN0RGV2aWNlIiwiaGFuZGxlQkxFTWVzc2FnZSIsInNob3VsZElnbm9yZSIsInJlcG9ydERhdGEiLCJEYXRhVGltZVN0YW1wIiwiZGF0YVJlcG9ydGVkIiwiYXV0b05vdGlmeSIsInJlZ2lzdGVyRGV2aWNlIiwiZ2V0QkxFRGV2aWNlU2VydmljZXMiLCJnZXRCTEVEZXZpY2VDaGFyYWN0ZXJpc3RpY3MiLCJub3RpZnlCTEVDaGFyYWN0ZXJpc3RpY1ZhbHVlQ2hhbmdlIiwiZXhwbG9yZXJEZXZpY2VJZCIsIndyaXRlSWQiLCJ3cml0ZUJMRUNoYXJhY3RlcmlzdGljVmFsdWUiLCJfd3JpdGVJZCIsInNlcnZpY2VzIiwiX3NlcnZpY2VzIiwidXVpZCIsInByb3BlcnRpZXMiLCJub3RpZnkiLCJ3cml0ZSIsImluZGljYXRlIiwicmVhZCIsImNoYXJhY3RlcmlzdGljcyIsInNldENoYXJhY3RlcmlzdGljc0lkcyIsIl9nZXROb3RpZnlJZCIsImhleFRvQXJyYXlCdWZmZXIiLCJidWZmZXIiLCJhcnJheUJ1ZmZlclRvSGV4U3RyaW5nQXJyYXkiLCJEYXRhVmlldyIsImJ5dGVMZW5ndGgiLCJnZXRVaW50OCIsImhleFRvU3RyIiwicSIsImRldmljZXMiLCJzZXJ2aWNlSWRzIiwiaWdub3JlRGV2aWNlSWRzIiwiX2dldFN1cHBvcnRTZXJ2aWNlSWRzIiwiX2RldmljZUFkYXB0ZXJNYXAiLCJkZXZpY2VGaWx0ZXIiLCJmaW5kIiwiX2NsZWFudXBNYXAiLCJpc1Byb3RvdHlwZU9mIiwiX2Rpc2NvdmVyaW5nIiwic3RvcEJsdWV0b290aERldmljZXNEaXNjb3ZlcnkiLCJfZGV2aWNlTWFwIiwiX2luaXRlZCIsIl9hdmFpbGFibGUiLCJlcnJDb2RlIiwiYXZhaWxhYmxlIiwiZGlzY292ZXJpbmciLCJjbGVhbnVwIiwiX29uQmxlQ29ubmVjdGlvblN0YXRlQ2hhbmdlIiwiX29uQkxFQ2hhcmFjdGVyaXN0aWNWYWx1ZUNoYW5nZSIsIl9vbkJsdWV0b290aERldmljZUZvdW5kIiwib25CbHVldG9vdGhBZGFwdGVyU3RhdGVDaGFuZ2UiLCJvbkJMRUNvbm5lY3Rpb25TdGF0ZUNoYW5nZSIsIm9uQkxFQ2hhcmFjdGVyaXN0aWNWYWx1ZUNoYW5nZSIsIm9uQmx1ZXRvb3RoRGV2aWNlRm91bmQiLCJhZGRDbGVhbnVwVGFzayIsImdldEJsdWV0b290aEFkYXB0ZXJTdGF0ZSIsInQyIiwiZ2V0RGV2aWNlQWRhcHRlciIsIm9uU2VhcmNoIiwic3RvcFNlYXJjaCIsInN0YXJ0Qmx1ZXRvb3RoRGV2aWNlc0Rpc2NvdmVyeSIsIl9maWx0ZXJEZXZpY2VzIiwiX3NlYXJjaERldmljZVByb21pc2UiLCJIIiwiSyIsIlEiLCJKIiwiWSIsIlgiLCJNYXAiLCJfbWFudWFsbHlDbG9zZSIsInJlY29ubmVjdFdzIiwib25XZWJzb2NrZXRDbG9zZSIsIl9vbkNvbm5lY3RIYW5kbGVyIiwiX29uRGlzY29ubmVjdEhhbmRsZXIiLCJpc1dzTWFudWFsbHlDbG9zZSIsImluc2lnaHRSZXBvcnRvciIsImhhcyIsImFjdGl2ZUNvbm5lY3QiLCJkb05vdFdhaXRGb3JDbGllbnRSZXNwb25zZSIsImFwcERldlNkayIsImRlbGV0ZSIsIiQiLCIkb2ZmbGluZVRpcHMiLCJxdWVyeVNlbGVjdG9yIiwiJG9mZmxpbmVUaXBzTWFzayIsIiRvZmZsaW5lVGlwc0Nsb3NlQnRuIiwiJG9mZmxpbmVUaXBzRmVlZEJhY2siLCIkb2ZmbGluZVRpcHNCYWNrSG9tZSIsIl9iaW5kQ2xpY2tFdmVudHMiLCJjbGFzc0xpc3QiLCJhZGQiLCJyZW1vdmUiLCJoaWRlIiwiZ29GZWVkQmFja1BhZ2UiLCJuYXZCYWNrIiwieiIsIloiLCJ0ZSIsInJlIiwiYWUiLCJjb25zdW1lQ291bnRQZXJUaW1lIiwibWluQ29uc3VtZUNvdW50IiwiY29uc3VtZUludGVydmFsIiwiZXZlbnRGaWx0ZXIiLCJtYXhJZGxlVGltZSIsInRpZCIsImV2ZW50UXVldWUiLCJsYXN0Q29uc3VtZVRpbWUiLCJjb25zdW1lIiwiY2xlYXJRdWV1ZSIsInB1c2hFdmVudFF1ZXVlIiwicmVwb3J0IiwiYXBwIiwiYXQiLCJwYXRoIiwicGF0aG5hbWUiLCJsaWQiLCJib3JuIiwicXVpZCIsImV2ZW50IiwiZWUiLCJldmVudEZpbHRlcnMiLCJlbnF1ZXVlIiwiZG9SZXBvcnQiLCJ1bnNoaWZ0Iiwic2UiLCJjZSIsInVlIiwiQ3VycmVudFZlcnNpb24iLCJEc3RWZXJzaW9uIiwic2V0UmVkRG90VmlzaWJsZSIsIklzVXBncmFkYWJsZSIsInRpcHMiLCJnZXRVcGdyYWRlSW5mbyIsImdvRmlybXdhcmVVcGdyYWRlUGFnZSIsImRzdFZlcnNpb24iLCJXYWl0Rm9ySGlkZSIsIldhaXRGb3JTaG93IiwidmlzaWJpbGl0eVN0YXRlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlZnJlc2hSZWREb3QiLCJjYWxsTXBBcGkiLCJzdHlsZSIsInZpc2liaWxpdHkiLCJsZSIsImRlIiwiZmUiLCJJT1RfRVhQTE9SRVJfQUNDRVNTX1RPS0VOIiwiaGUiLCJQQU5FTF9EQVRBIiwicGUiLCJ2ZSIsImZhbWlseUluZm8iLCJnZSIsImlzRmFtaWx5T3duZXIiLCJyb29tSWQiLCJ5ZSIsIl9lIiwicHJvZHVjdEluZm8iLCJDZSIsImRldmljZURpc3BsYXlOYW1lIiwid2UiLCJkZXZpY2VJbmZvIiwiYmUiLCJFZSIsIlRlIiwiU2UiLCJpc1NoYXJlRGV2aWNlIiwiSWUiLCJyb29tTGlzdCIsImtlIiwiRGUiLCJPZSIsInhlIiwiQWUiLCJvZmZzZXQiLCJsaW1pdCIsInRvdGFsIiwiUGUiLCJOZSIsIkxlIiwiQmUiLCJJU19ERUJVRyIsInN0YXJ0UmVwb3J0UG9sbGluZyIsIlJvb21JZCIsIlJvb21OYW1lIiwicm9vbU5hbWUiLCJkYXRhVGVtcGxhdGUiLCJpb3RleHBsb3Jlckg1UGFuZWxUaXBzIiwiaW90ZXhwbG9yZXJINVBhbmVsRGV2aWNlRGV0YWlsIiwib2ZmbGluZVRpcCIsImZpcm13YXJlVXBncmFkZSIsImJsdWVUb290aEFkYXB0ZXIiLCJpbmplY3RFdmVudHNIYW5kbGVyIiwic3RvcFJlcG9ydFBvbGxpbmciLCJ3eFNka1JlYWR5IiwibWluaVByb2dyYW0iLCJzaG93Iiwic3RhcnRzV2l0aCIsIl93eFNka1JlYWR5UHJvbWlzZSIsIndlY2hhdEpzU2RrIiwiRmllbGROYW1lIiwiTWF4VGltZSIsIk1pblRpbWUiLCJDb250ZXh0IiwiRGV2aWNlS2V5IiwiQ29uZmlncyIsImltZ1VybCIsInNoYXJlIiwic2hhcmVQYXJhbXMiLCJQaG9uZU51bWJlciIsIm9yaWdpblBob25lTnVtYmVyIiwiUHJvZHVjdElkcyIsIlByb2R1Y3RzIiwiRGV2aWNlTGlzdCIsIlNoYXJlRGV2aWNlcyIsIkRldmljZVN0YXR1c2VzIiwiT25saW5lIiwiQWxpYXNOYW1lIiwicmVsb2FkQWZ0ZXJVbm1vdW50Iiwic2hvd1N1Y2Nlc3MiLCJzaG93RXJyb3IiLCJsYWJlbFdpZHRoIiwibWFyZ2luVG9wIiwiZXh0ZW5kSXRlbXMiLCJleHRlbmRCdXR0b25zIiwiY29udGFpbmVyQ2xhc3NOYW1lIiwicmVuZGVyIiwiaXRlbXMiLCJvbkNsaWNrIiwiZ29FZGl0RGV2aWNlTmFtZVBhZ2UiLCJnb0RldmljZUluZm9QYWdlIiwiZ29Sb29tU2V0dGluZ1BhZ2UiLCJnb1NoYXJlRGV2aWNlUGFnZSIsInJlbmRlclJlZERvdCIsInNob3dDaGVja1VwZ3JhZGVNb2RhbCIsImJ1dHRvbnMiLCJ0ZXh0IiwiZGVsZXRlRGV2aWNlIiwiJGNvbnRhaW5lciIsImlubmVySFRNTCIsInNpbGVudCIsImdldERldmljZVN0YXR1cyIsInNob3dVcGdyYWRhYmxlTW9kYWwiLCJEYXRhVGVtcGxhdGUiLCJfcHJvZHVjdEluZm8iLCJoYXNPd24iLCJjbGFzc05hbWVzIiwiY2xhc3NlcyIsImFyZ1R5cGUiLCJpbm5lciIsIm9iaiIsImFycmF5V2l0aEhvbGVzIiwiaXRlcmFibGVUb0FycmF5TGltaXQiLCJ1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsIm5vbkl0ZXJhYmxlUmVzdCIsImFyciIsIm5vcm1hbGl6ZVVybCIsInNyY0J5TW9kdWxlSWQiLCJub0RvY3VtZW50IiwidXBkYXRlQ3NzIiwiZWwiLCJpc1VybFJlcXVlc3QiLCJpc0xvYWRlZCIsInZpc2l0ZWQiLCJuZXdFbCIsImNsb25lTm9kZSIsInBhcmVudE5vZGUiLCJyZW1vdmVDaGlsZCIsIm5leHRTaWJsaW5nIiwiaW5zZXJ0QmVmb3JlIiwicmVsb2FkU3R5bGUiLCJlbGVtZW50cyIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsb2FkZWQiLCJyZXQiLCJzdHJpcFdXVyIsImdldFJlbG9hZFVybCIsInJlbG9hZEFsbCIsInRpbWUiLCJnZXRTY3JpcHRTcmMiLCJjdXJyZW50U2NyaXB0Iiwic2NyaXB0cyIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwibGFzdFNjcmlwdFRhZyIsImZpbGVNYXAiLCJzcGxpdFJlc3VsdCIsImZpbGVuYW1lIiwibWFwUnVsZSIsInJlZyIsImdldEN1cnJlbnRTY3JpcHRVcmwiLCJyZWxvYWRlZCIsImxvY2FscyIsInNlbGYiLCJhcmdzIiwiZnVuY3Rpb25DYWxsIiwiX2luaGVyaXRzTG9vc2UiLCJzdWJDbGFzcyIsInN1cGVyQ2xhc3MiLCJhc3luY0dlbmVyYXRvclN0ZXAiLCJnZW4iLCJfbmV4dCIsIl90aHJvdyIsIm9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UiLCJzb3VyY2UiLCJleGNsdWRlZCIsInRhcmdldCIsInNvdXJjZVN5bWJvbEtleXMiLCJfZ2V0UHJvdG90eXBlT2YiLCJjb21tb25qc0dsb2JhbCIsImdsb2JhbFRoaXMiLCJnbG9iYWwiLCJjcmVhdGVFdmVudEVtaXR0ZXIiLCJoYW5kbGVycyIsImhhbmRsZXIiLCJuZXdWYWx1ZSIsImNoYW5nZWRCaXRzIiwiaW5kZXgiLCJjcmVhdGVDb250ZXh0IiwiZGVmYXVsdFZhbHVlIiwiY2FsY3VsYXRlQ2hhbmdlZEJpdHMiLCJfUHJvdmlkZXIkY2hpbGRDb250ZXgiLCJfQ29uc3VtZXIkY29udGV4dFR5cGUiLCJjb250ZXh0UHJvcCIsIlByb3ZpZGVyIiwiX0NvbXBvbmVudCIsIl90aGlzIiwiZW1pdHRlciIsInByb3BzIiwiX3Byb3RvIiwiZ2V0Q2hpbGRDb250ZXh0IiwiX3JlZiIsImNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMiLCJuZXh0UHJvcHMiLCJvbGRWYWx1ZSIsImNoaWxkQ29udGV4dFR5cGVzIiwiaXNSZXF1aXJlZCIsIkNvbnN1bWVyIiwiX0NvbXBvbmVudDIiLCJfdGhpczIiLCJvblVwZGF0ZSIsIm9ic2VydmVkQml0cyIsInNldFN0YXRlIiwiX3Byb3RvMiIsImNvbXBvbmVudERpZE1vdW50IiwiY29udGV4dCIsImNvbXBvbmVudFdpbGxVbm1vdW50IiwiY29udGV4dFR5cGVzIiwiaXNhcnJheSIsInBhdGhUb1JlZ2V4cCIsImNvbXBpbGUiLCJzdHIiLCJ0b2tlbnNUb0Z1bmN0aW9uIiwidG9rZW5zVG9SZWdFeHAiLCJQQVRIX1JFR0VYUCIsInJlcyIsInRva2VucyIsImRlZmF1bHREZWxpbWl0ZXIiLCJkZWxpbWl0ZXIiLCJlc2NhcGVkIiwicHJlZml4IiwiY2FwdHVyZSIsImdyb3VwIiwibW9kaWZpZXIiLCJhc3RlcmlzayIsInBhcnRpYWwiLCJyZXBlYXQiLCJvcHRpb25hbCIsInBhdHRlcm4iLCJlc2NhcGVHcm91cCIsImVzY2FwZVN0cmluZyIsImVuY29kZVVSSUNvbXBvbmVudFByZXR0eSIsImVuY29kZVVSSSIsIm1hdGNoZXMiLCJmbGFncyIsIm9wdHMiLCJwcmV0dHkiLCJzZWdtZW50IiwiYXR0YWNoS2V5cyIsInNlbnNpdGl2ZSIsImVuZCIsInJvdXRlIiwiZW5kc1dpdGhEZWxpbWl0ZXIiLCJncm91cHMiLCJyZWdleHBUb1JlZ2V4cCIsInBhcnRzIiwiYXJyYXlUb1JlZ2V4cCIsInN0cmluZ1RvUmVnZXhwIiwicHJvcElzRW51bWVyYWJsZSIsInRvT2JqZWN0IiwidmFsIiwidGVzdDEiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwidGVzdDIiLCJ0ZXN0MyIsImxldHRlciIsInNob3VsZFVzZU5hdGl2ZSIsInN5bWJvbHMiLCJ0byIsImNoZWNrRENFIiwiX19SRUFDVF9ERVZUT09MU19HTE9CQUxfSE9PS19fIiwiX2V4dGVuZHMiLCJfUmFuZ2VzbGlkZXIiLCJfUmFuZ2VzbGlkZXIyIiwiaW5zdGFuY2UiLCJDb25zdHJ1Y3RvciIsIl9kZWZpbmVQcm9wZXJ0aWVzIiwiZGVzY3JpcHRvciIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsIl90eXBlb2YiLCJhc3NlcnRUaGlzSW5pdGlhbGl6ZWQiLCJyZWFjdElzIiwiUkVBQ1RfU1RBVElDUyIsImNvbnRleHRUeXBlIiwiZGVmYXVsdFByb3BzIiwiZ2V0RGVmYXVsdFByb3BzIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwibWl4aW5zIiwicHJvcFR5cGVzIiwiS05PV05fU1RBVElDUyIsImNhbGxlciIsImNhbGxlZSIsImFyaXR5IiwiTUVNT19TVEFUSUNTIiwiY29tcGFyZSIsIlRZUEVfU1RBVElDUyIsImdldFN0YXRpY3MiLCJjb21wb25lbnQiLCJpc01lbW8iLCJGb3J3YXJkUmVmIiwiTWVtbyIsIm9iamVjdFByb3RvdHlwZSIsImhvaXN0Tm9uUmVhY3RTdGF0aWNzIiwidGFyZ2V0Q29tcG9uZW50Iiwic291cmNlQ29tcG9uZW50IiwiYmxhY2tsaXN0IiwiaW5oZXJpdGVkQ29tcG9uZW50IiwidGFyZ2V0U3RhdGljcyIsInNvdXJjZVN0YXRpY3MiLCJmb3IiLCJpc01vdW50ZWQiLCJlbnF1ZXVlRm9yY2VVcGRhdGUiLCJlbnF1ZXVlUmVwbGFjZVN0YXRlIiwiZW5xdWV1ZVNldFN0YXRlIiwicmVmcyIsInVwZGF0ZXIiLCJpc1JlYWN0Q29tcG9uZW50IiwiZm9yY2VVcGRhdGUiLCJpc1B1cmVSZWFjdENvbXBvbmVudCIsImN1cnJlbnQiLCJyZWYiLCJfX3NlbGYiLCJfX3NvdXJjZSIsIiQkdHlwZW9mIiwiX293bmVyIiwia2V5UHJlZml4IiwiZnVuYyIsImNvdW50IiwiYWEiLCJiYSIsIlJlYWN0Q3VycmVudERpc3BhdGNoZXIiLCJSZWFjdEN1cnJlbnRCYXRjaENvbmZpZyIsInN1c3BlbnNlIiwiUmVhY3RDdXJyZW50T3duZXIiLCJJc1NvbWVSZW5kZXJlckFjdGluZyIsIkNoaWxkcmVuIiwidG9BcnJheSIsIm9ubHkiLCJDb21wb25lbnQiLCJGcmFnbWVudCIsIlByb2ZpbGVyIiwiUHVyZUNvbXBvbmVudCIsIlN0cmljdE1vZGUiLCJTdXNwZW5zZSIsIl9fU0VDUkVUX0lOVEVSTkFMU19ET19OT1RfVVNFX09SX1lPVV9XSUxMX0JFX0ZJUkVEIiwiY2xvbmVFbGVtZW50IiwiX2NhbGN1bGF0ZUNoYW5nZWRCaXRzIiwiX2N1cnJlbnRWYWx1ZSIsIl9jdXJyZW50VmFsdWUyIiwiX3RocmVhZENvdW50IiwiX2NvbnRleHQiLCJjcmVhdGVGYWN0b3J5IiwiY3JlYXRlUmVmIiwiZm9yd2FyZFJlZiIsImlzVmFsaWRFbGVtZW50IiwibGF6eSIsIl9jdG9yIiwiX3N0YXR1cyIsIl9yZXN1bHQiLCJtZW1vIiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRGVidWdWYWx1ZSIsInVzZUVmZmVjdCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVkdWNlciIsInVzZVJlZiIsInVzZVN0YXRlIiwiZGEiLCJlYSIsImZhIiwiaGEiLCJpYSIsImphIiwibGEiLCJtYSIsIm5hIiwib2EiLCJjdXJyZW50VGFyZ2V0Iiwia2EiLCJwYSIsInFhIiwicmEiLCJzYSIsImV4dHJhY3RFdmVudHMiLCJldmVudFR5cGVzIiwidGEiLCJwaGFzZWRSZWdpc3RyYXRpb25OYW1lcyIsInVhIiwicmVnaXN0cmF0aW9uTmFtZSIsInZhIiwid2EiLCJkZXBlbmRlbmNpZXMiLCJ4YSIsInlhIiwiemEiLCJBYSIsIkJhIiwiQ2EiLCJzdGF0ZU5vZGUiLCJEYSIsIkVhIiwiRmEiLCJHYSIsIkhhIiwiSWEiLCJKYSIsIkthIiwiTGEiLCJNYSIsIk5hIiwiT2EiLCJQYSIsIlFhIiwiYWNjZXB0c0Jvb2xlYW5zIiwiYXR0cmlidXRlTmFtZSIsImF0dHJpYnV0ZU5hbWVzcGFjZSIsIm11c3RVc2VQcm9wZXJ0eSIsInByb3BlcnR5TmFtZSIsInNhbml0aXplVVJMIiwiVWEiLCJWYSIsInhsaW5rSHJlZiIsIldhIiwiWGEiLCJTYSIsIlRhIiwiUmEiLCJyZW1vdmVBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGUiLCJzZXRBdHRyaWJ1dGVOUyIsIllhIiwiWmEiLCIkYSIsImFiIiwiYmIiLCJkYiIsImViIiwiZmIiLCJnYiIsImhiIiwiaWIiLCJqYiIsImtiIiwibGIiLCJtYiIsIm5iIiwicGIiLCJxYiIsInRhZyIsIl9kZWJ1Z093bmVyIiwiX2RlYnVnU291cmNlIiwiZmlsZU5hbWUiLCJsaW5lTnVtYmVyIiwicmIiLCJzYiIsIm5vZGVOYW1lIiwieGIiLCJfdmFsdWVUcmFja2VyIiwic2V0VmFsdWUiLCJzdG9wVHJhY2tpbmciLCJ0YiIsInliIiwiY2hlY2tlZCIsInpiIiwiZGVmYXVsdENoZWNrZWQiLCJfd3JhcHBlclN0YXRlIiwiaW5pdGlhbENoZWNrZWQiLCJBYiIsImluaXRpYWxWYWx1ZSIsImNvbnRyb2xsZWQiLCJCYiIsIkNiIiwiRGIiLCJFYiIsIm93bmVyRG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiR2IiLCJGYiIsIkhiIiwic2VsZWN0ZWQiLCJkZWZhdWx0U2VsZWN0ZWQiLCJkaXNhYmxlZCIsIkliIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJKYiIsIktiIiwiTGIiLCJ0ZXh0Q29udGVudCIsIk1iIiwiTmIiLCJPYiIsIlBiIiwiUWIiLCJNU0FwcCIsImV4ZWNVbnNhZmVMb2NhbEZ1bmN0aW9uIiwibmFtZXNwYWNlVVJJIiwidmFsdWVPZiIsImZpcnN0Q2hpbGQiLCJSYiIsImxhc3RDaGlsZCIsIm5vZGVUeXBlIiwibm9kZVZhbHVlIiwiU2IiLCJUYiIsImFuaW1hdGlvbmVuZCIsImFuaW1hdGlvbml0ZXJhdGlvbiIsImFuaW1hdGlvbnN0YXJ0IiwidHJhbnNpdGlvbmVuZCIsIlViIiwiVmIiLCJXYiIsImFuaW1hdGlvbiIsInRyYW5zaXRpb24iLCJYYiIsIlliIiwiWmIiLCIkYiIsImFjIiwiYmMiLCJXZWFrTWFwIiwiY2MiLCJkYyIsImFsdGVybmF0ZSIsImVmZmVjdFRhZyIsImVjIiwibWVtb2l6ZWRTdGF0ZSIsImRlaHlkcmF0ZWQiLCJmYyIsImhjIiwic2libGluZyIsImdjIiwiaWMiLCJqYyIsImtjIiwibGMiLCJfZGlzcGF0Y2hMaXN0ZW5lcnMiLCJfZGlzcGF0Y2hJbnN0YW5jZXMiLCJpc1Byb3BhZ2F0aW9uU3RvcHBlZCIsImlzUGVyc2lzdGVudCIsInJlbGVhc2UiLCJtYyIsIm5jIiwic3JjRWxlbWVudCIsImNvcnJlc3BvbmRpbmdVc2VFbGVtZW50Iiwib2MiLCJwYyIsInFjIiwidG9wTGV2ZWxUeXBlIiwibmF0aXZlRXZlbnQiLCJ0YXJnZXRJbnN0IiwiYW5jZXN0b3JzIiwicmMiLCJldmVudFN5c3RlbUZsYWdzIiwic2MiLCJjb250YWluZXJJbmZvIiwidGMiLCJ1YyIsInZjIiwid2MiLCJ4YyIsInljIiwiemMiLCJBYyIsIkJjIiwiQ2MiLCJEYyIsIkVjIiwiRmMiLCJHYyIsIkhjIiwiSWMiLCJLYyIsImJsb2NrZWRPbiIsImNvbnRhaW5lciIsIkxjIiwicG9pbnRlcklkIiwiTWMiLCJOYyIsIlBjIiwidW5zdGFibGVfcnVuV2l0aFByaW9yaXR5IiwicHJpb3JpdHkiLCJoeWRyYXRlIiwiUWMiLCJSYyIsIlNjIiwiVGMiLCJVYyIsInVuc3RhYmxlX3NjaGVkdWxlQ2FsbGJhY2siLCJ1bnN0YWJsZV9Ob3JtYWxQcmlvcml0eSIsIlZjIiwiV2MiLCJZYyIsIlpjIiwiJGMiLCJhZCIsImJ1YmJsZWQiLCJjYXB0dXJlZCIsImV2ZW50UHJpb3JpdHkiLCJiZCIsImNkIiwiZGQiLCJ1bnN0YWJsZV9Vc2VyQmxvY2tpbmdQcmlvcml0eSIsImVkIiwiZmQiLCJnZCIsImhkIiwiT2MiLCJqZCIsImFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50IiwiYm9yZGVySW1hZ2VPdXRzZXQiLCJib3JkZXJJbWFnZVNsaWNlIiwiYm9yZGVySW1hZ2VXaWR0aCIsImJveEZsZXgiLCJib3hGbGV4R3JvdXAiLCJib3hPcmRpbmFsR3JvdXAiLCJjb2x1bW5Db3VudCIsImNvbHVtbnMiLCJmbGV4IiwiZmxleEdyb3ciLCJmbGV4UG9zaXRpdmUiLCJmbGV4U2hyaW5rIiwiZmxleE5lZ2F0aXZlIiwiZmxleE9yZGVyIiwiZ3JpZEFyZWEiLCJncmlkUm93IiwiZ3JpZFJvd0VuZCIsImdyaWRSb3dTcGFuIiwiZ3JpZFJvd1N0YXJ0IiwiZ3JpZENvbHVtbiIsImdyaWRDb2x1bW5FbmQiLCJncmlkQ29sdW1uU3BhbiIsImdyaWRDb2x1bW5TdGFydCIsImZvbnRXZWlnaHQiLCJsaW5lQ2xhbXAiLCJsaW5lSGVpZ2h0Iiwib3BhY2l0eSIsIm9yZGVyIiwib3JwaGFucyIsInRhYlNpemUiLCJ3aWRvd3MiLCJ6SW5kZXgiLCJ6b29tIiwiZmlsbE9wYWNpdHkiLCJmbG9vZE9wYWNpdHkiLCJzdG9wT3BhY2l0eSIsInN0cm9rZURhc2hhcnJheSIsInN0cm9rZURhc2hvZmZzZXQiLCJzdHJva2VNaXRlcmxpbWl0Iiwic3Ryb2tlT3BhY2l0eSIsInN0cm9rZVdpZHRoIiwia2QiLCJsZCIsIm1kIiwic2V0UHJvcGVydHkiLCJuZCIsIm1lbnVpdGVtIiwiYXJlYSIsImJhc2UiLCJiciIsImNvbCIsImVtYmVkIiwiaHIiLCJpbWciLCJpbnB1dCIsImtleWdlbiIsImxpbmsiLCJtZXRhIiwicGFyYW0iLCJ0cmFjayIsIndiciIsIm9kIiwicGQiLCJpcyIsInFkIiwicmQiLCJzZCIsInRkIiwiYm9keSIsInVkIiwidmQiLCJ4ZCIsIkhUTUxJRnJhbWVFbGVtZW50IiwiY29udGVudFdpbmRvdyIsInlkIiwiY29udGVudEVkaXRhYmxlIiwiRGQiLCJFZCIsIkZkIiwiYXV0b0ZvY3VzIiwiR2QiLCJfX2h0bWwiLCJIZCIsIklkIiwiSmQiLCJLZCIsInByZXZpb3VzU2libGluZyIsIkxkIiwiTWQiLCJOZCIsIk9kIiwiUGQiLCJRZCIsIlJkIiwiU2QiLCJUZCIsImRpc3BhdGNoQ29uZmlnIiwiVWQiLCJfdGFyZ2V0SW5zdCIsIlZkIiwiV2QiLCJYZCIsIllkIiwiWmQiLCIkZCIsIkludGVyZmFjZSIsImlzRGVmYXVsdFByZXZlbnRlZCIsImRlZmF1bHRQcmV2ZW50ZWQiLCJyZXR1cm5WYWx1ZSIsImV2ZW50UG9vbCIsImRlc3RydWN0b3IiLCJnZXRQb29sZWQiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImNhbmNlbEJ1YmJsZSIsInBlcnNpc3QiLCJldmVudFBoYXNlIiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJ0aW1lU3RhbXAiLCJpc1RydXN0ZWQiLCJleHRlbmQiLCJpZSIsImplIiwiZG9jdW1lbnRNb2RlIiwibmUiLCJvZSIsImJlZm9yZUlucHV0IiwiY29tcG9zaXRpb25FbmQiLCJjb21wb3NpdGlvblN0YXJ0IiwiY29tcG9zaXRpb25VcGRhdGUiLCJxZSIsImtleUNvZGUiLCJsb2NhbGUiLCJ3aGljaCIsImN0cmxLZXkiLCJhbHRLZXkiLCJtZXRhS2V5IiwiY2hhciIsImNvbG9yIiwiZGF0ZSIsImRhdGV0aW1lIiwiZW1haWwiLCJtb250aCIsIm51bWJlciIsInJhbmdlIiwic2VhcmNoIiwidGVsIiwid2VlayIsImNoYW5nZSIsInplIiwiRmUiLCJHZSIsImRldGFjaEV2ZW50IiwiSGUiLCJhdHRhY2hFdmVudCIsIkplIiwiS2UiLCJfaXNJbnB1dEV2ZW50U3VwcG9ydGVkIiwidmlldyIsIkFsdCIsIkNvbnRyb2wiLCJNZXRhIiwiU2hpZnQiLCJnZXRNb2RpZmllclN0YXRlIiwiUWUiLCJVZSIsIlZlIiwic2NyZWVuWCIsInNjcmVlblkiLCJjbGllbnRYIiwiY2xpZW50WSIsInBhZ2VYIiwicGFnZVkiLCJzaGlmdEtleSIsImJ1dHRvbiIsInJlbGF0ZWRUYXJnZXQiLCJmcm9tRWxlbWVudCIsInRvRWxlbWVudCIsIm1vdmVtZW50WCIsIm1vdmVtZW50WSIsIldlIiwid2lkdGgiLCJoZWlnaHQiLCJwcmVzc3VyZSIsInRhbmdlbnRpYWxQcmVzc3VyZSIsInRpbHRYIiwidGlsdFkiLCJ0d2lzdCIsInBvaW50ZXJUeXBlIiwiaXNQcmltYXJ5IiwiWGUiLCJtb3VzZUVudGVyIiwibW91c2VMZWF2ZSIsInBvaW50ZXJFbnRlciIsInBvaW50ZXJMZWF2ZSIsIlllIiwiZGVmYXVsdFZpZXciLCJwYXJlbnRXaW5kb3ciLCIkZSIsImFmIiwiYmYiLCJjZiIsImRmIiwic2VsZWN0IiwiZWYiLCJmZiIsImdmIiwiaGYiLCJqZiIsInNlbGVjdGlvblN0YXJ0Iiwic2VsZWN0aW9uRW5kIiwiYW5jaG9yTm9kZSIsImdldFNlbGVjdGlvbiIsImFuY2hvck9mZnNldCIsImZvY3VzTm9kZSIsImZvY3VzT2Zmc2V0Iiwia2YiLCJvblNlbGVjdCIsImxmIiwiYW5pbWF0aW9uTmFtZSIsImVsYXBzZWRUaW1lIiwicHNldWRvRWxlbWVudCIsIm1mIiwiY2xpcGJvYXJkRGF0YSIsIm5mIiwib2YiLCJjaGFyQ29kZSIsInBmIiwiRXNjIiwiU3BhY2ViYXIiLCJMZWZ0IiwiVXAiLCJSaWdodCIsIkRvd24iLCJEZWwiLCJXaW4iLCJNZW51IiwiQXBwcyIsIlNjcm9sbCIsIk1velByaW50YWJsZUtleSIsInFmIiwiOCIsIjkiLCIxMiIsIjEzIiwiMTYiLCIxNyIsIjE4IiwiMTkiLCIyMCIsIjI3IiwiMzIiLCIzMyIsIjM0IiwiMzUiLCIzNiIsIjM3IiwiMzgiLCIzOSIsIjQwIiwiNDUiLCI0NiIsIjExMiIsIjExMyIsIjExNCIsIjExNSIsIjExNiIsIjExNyIsIjExOCIsIjExOSIsIjEyMCIsIjEyMSIsIjEyMiIsIjEyMyIsIjE0NCIsIjE0NSIsIjIyNCIsInJmIiwic2YiLCJkYXRhVHJhbnNmZXIiLCJ0ZiIsInRvdWNoZXMiLCJ0YXJnZXRUb3VjaGVzIiwiY2hhbmdlZFRvdWNoZXMiLCJ1ZiIsInZmIiwiZGVsdGFYIiwid2hlZWxEZWx0YVgiLCJkZWx0YVkiLCJ3aGVlbERlbHRhWSIsIndoZWVsRGVsdGEiLCJkZWx0YVoiLCJkZWx0YU1vZGUiLCJ3ZiIsIlNpbXBsZUV2ZW50UGx1Z2luIiwiRW50ZXJMZWF2ZUV2ZW50UGx1Z2luIiwiQ2hhbmdlRXZlbnRQbHVnaW4iLCJTZWxlY3RFdmVudFBsdWdpbiIsIkJlZm9yZUlucHV0RXZlbnRQbHVnaW4iLCJ5ZiIsInpmIiwiQWYiLCJCZiIsIkNmIiwiX19yZWFjdEludGVybmFsTWVtb2l6ZWRVbm1hc2tlZENoaWxkQ29udGV4dCIsIl9fcmVhY3RJbnRlcm5hbE1lbW9pemVkTWFza2VkQ2hpbGRDb250ZXh0IiwiRGYiLCJFZiIsIkZmIiwiR2YiLCJfX3JlYWN0SW50ZXJuYWxNZW1vaXplZE1lcmdlZENoaWxkQ29udGV4dCIsIkhmIiwiSWYiLCJKZiIsIktmIiwidW5zdGFibGVfY2FuY2VsQ2FsbGJhY2siLCJMZiIsInVuc3RhYmxlX3JlcXVlc3RQYWludCIsIk1mIiwidW5zdGFibGVfbm93IiwiTmYiLCJ1bnN0YWJsZV9nZXRDdXJyZW50UHJpb3JpdHlMZXZlbCIsIk9mIiwidW5zdGFibGVfSW1tZWRpYXRlUHJpb3JpdHkiLCJQZiIsIlFmIiwiUmYiLCJ1bnN0YWJsZV9Mb3dQcmlvcml0eSIsIlNmIiwidW5zdGFibGVfSWRsZVByaW9yaXR5IiwiVGYiLCJVZiIsInVuc3RhYmxlX3Nob3VsZFlpZWxkIiwiVmYiLCJXZiIsIlhmIiwiWWYiLCJaZiIsIiRmIiwiYWciLCJiZyIsImNnIiwiZGciLCJlZyIsImZnIiwiZ2ciLCJoZyIsImlnIiwiamciLCJrZyIsImxnIiwibWciLCJuZyIsIm9nIiwicGciLCJjaGlsZEV4cGlyYXRpb25UaW1lIiwicWciLCJmaXJzdENvbnRleHQiLCJleHBpcmF0aW9uVGltZSIsInJnIiwic2ciLCJyZXNwb25kZXJzIiwidGciLCJ1ZyIsInVwZGF0ZVF1ZXVlIiwiYmFzZVN0YXRlIiwiYmFzZVF1ZXVlIiwic2hhcmVkIiwicGVuZGluZyIsImVmZmVjdHMiLCJ2ZyIsIndnIiwic3VzcGVuc2VDb25maWciLCJ4ZyIsInlnIiwiemciLCJjYSIsIkFnIiwiQmciLCJDZyIsIkRnIiwiRWciLCJGZyIsIkpnIiwiX3JlYWN0SW50ZXJuYWxGaWJlciIsIkdnIiwiSGciLCJJZyIsIktnIiwic2hvdWxkQ29tcG9uZW50VXBkYXRlIiwiTGciLCJNZyIsIlVOU0FGRV9jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzIiwiTmciLCJnZXRTbmFwc2hvdEJlZm9yZVVwZGF0ZSIsIlVOU0FGRV9jb21wb25lbnRXaWxsTW91bnQiLCJjb21wb25lbnRXaWxsTW91bnQiLCJPZyIsIlBnIiwiX3N0cmluZ1JlZiIsIlFnIiwiUmciLCJsYXN0RWZmZWN0IiwibmV4dEVmZmVjdCIsImZpcnN0RWZmZWN0IiwiU2ciLCJUZyIsImVsZW1lbnRUeXBlIiwiVWciLCJpbXBsZW1lbnRhdGlvbiIsIlZnIiwiV2ciLCJYZyIsIllnIiwiWmciLCIkZyIsImFoIiwiYmgiLCJjaCIsImRoIiwiZG9jdW1lbnRFbGVtZW50IiwidGFnTmFtZSIsImVoIiwiZmgiLCJnaCIsImhoIiwibWVtb2l6ZWRQcm9wcyIsInJldmVhbE9yZGVyIiwiaWgiLCJyZXNwb25kZXIiLCJqaCIsImtoIiwibGgiLCJtaCIsIm5oIiwib2giLCJwaCIsInFoIiwicmgiLCJzaCIsInRoIiwidWgiLCJ2aCIsIndoIiwibGFzdFJlbmRlcmVkUmVkdWNlciIsImVhZ2VyUmVkdWNlciIsImVhZ2VyU3RhdGUiLCJsYXN0UmVuZGVyZWRTdGF0ZSIsImRpc3BhdGNoIiwieGgiLCJ5aCIsInpoIiwiQWgiLCJkZXN0cm95IiwiZGVwcyIsIkJoIiwiQ2giLCJEaCIsIkVoIiwiRmgiLCJHaCIsIkhoIiwiSWgiLCJKaCIsIktoIiwiTGgiLCJNaCIsIk5oIiwicmVhZENvbnRleHQiLCJ1c2VSZXNwb25kZXIiLCJ1c2VEZWZlcnJlZFZhbHVlIiwidXNlVHJhbnNpdGlvbiIsIk9oIiwiUGgiLCJRaCIsIlJoIiwiU2giLCJUaCIsInBlbmRpbmdQcm9wcyIsIlVoIiwiVmgiLCJXaCIsIlhoIiwiWWgiLCJaaCIsIiRoIiwiYWkiLCJiaSIsImNpIiwiZGkiLCJlaSIsImZpIiwiVU5TQUZFX2NvbXBvbmVudFdpbGxVcGRhdGUiLCJjb21wb25lbnRXaWxsVXBkYXRlIiwiY29tcG9uZW50RGlkVXBkYXRlIiwiZ2kiLCJoaSIsInBlbmRpbmdDb250ZXh0IiwibmkiLCJwaSIsInFpIiwiaWkiLCJyZXRyeVRpbWUiLCJqaSIsImZhbGxiYWNrIiwidW5zdGFibGVfYXZvaWRUaGlzRmFsbGJhY2siLCJraSIsImxpIiwiaXNCYWNrd2FyZHMiLCJyZW5kZXJpbmciLCJyZW5kZXJpbmdTdGFydFRpbWUiLCJsYXN0IiwidGFpbCIsInRhaWxFeHBpcmF0aW9uIiwidGFpbE1vZGUiLCJtaSIsInJpIiwic2kiLCJ3YXNNdWx0aXBsZSIsIm11bHRpcGxlIiwib25jbGljayIsImNyZWF0ZUVsZW1lbnROUyIsImNyZWF0ZVRleHROb2RlIiwidGkiLCJ1aSIsInZpIiwid2kiLCJ4aSIsInlpIiwiemkiLCJBaSIsIkJpIiwiV2Vha1NldCIsIlNldCIsIkNpIiwiRmkiLCJFaSIsIkdpIiwiX19yZWFjdEludGVybmFsU25hcHNob3RCZWZvcmVVcGRhdGUiLCJIaSIsIklpIiwiSmkiLCJmb2N1cyIsIktpIiwiTGkiLCJEaSIsIk1pIiwiTmkiLCJPaSIsIlBpIiwiUWkiLCJfcmVhY3RSb290Q29udGFpbmVyIiwiUmkiLCJTaSIsIlRpIiwiZGlzcGxheSIsIlVpIiwiVmkiLCJXaSIsIlhpIiwiZWxlbWVudCIsIllpIiwiWmkiLCIkaSIsImNvbXBvbmVudERpZENhdGNoIiwiYWoiLCJjb21wb25lbnRTdGFjayIsIlJqIiwiYmoiLCJjaiIsImRqIiwia2oiLCJsaiIsIm1qIiwibmoiLCJvaiIsInFqIiwicmoiLCJzaiIsInRqIiwidWoiLCJ2aiIsIndqIiwidGltZW91dE1zIiwieGoiLCJ5aiIsInpqIiwibGFzdEV4cGlyZWRUaW1lIiwiQWoiLCJmaXJzdFBlbmRpbmdUaW1lIiwibGFzdFBpbmdlZFRpbWUiLCJuZXh0S25vd25QZW5kaW5nTGV2ZWwiLCJjYWxsYmFja0V4cGlyYXRpb25UaW1lIiwiY2FsbGJhY2tQcmlvcml0eSIsImNhbGxiYWNrTm9kZSIsIkJqIiwiQ2oiLCJEaiIsIkVqIiwiRmoiLCJHaiIsIkhqIiwiZmluaXNoZWRXb3JrIiwiZmluaXNoZWRFeHBpcmF0aW9uVGltZSIsImxhc3RTdXNwZW5kZWRUaW1lIiwiSWoiLCJ0aW1lb3V0SGFuZGxlIiwiSmoiLCJidXN5TWluRHVyYXRpb25NcyIsImJ1c3lEZWxheU1zIiwiS2oiLCJNaiIsIk5qIiwicGluZ0NhY2hlIiwiT2oiLCJ1YiIsIlBqIiwiWGMiLCJRaiIsIlNqIiwiZmlyc3RTdXNwZW5kZWRUaW1lIiwicmFuZ2VDb3VudCIsIndiIiwiYWN0aXZlRWxlbWVudERldGFjaGVkIiwiZm9jdXNlZEVsZW0iLCJzZWxlY3Rpb25SYW5nZSIsIlRqIiwid2QiLCJjb250YWlucyIsImNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIiwiY3JlYXRlUmFuZ2UiLCJzZXRTdGFydCIsInJlbW92ZUFsbFJhbmdlcyIsImFkZFJhbmdlIiwic2V0RW5kIiwibGVmdCIsInNjcm9sbExlZnQiLCJ0b3AiLCJzY3JvbGxUb3AiLCJ2YiIsIlVqIiwiVmoiLCJXaiIsImhpZGRlbiIsIm9iIiwiWGoiLCJ1bnN0YWJsZV9vYnNlcnZlZEJpdHMiLCJaaiIsInBlbmRpbmdDaGlsZHJlbiIsImFrIiwiYmsiLCJjayIsImRrIiwiZWsiLCJmayIsIkpjIiwiX2ludGVybmFsUm9vdCIsImdrIiwiaWsiLCJoYXNBdHRyaWJ1dGUiLCJoayIsImprIiwia2siLCJ1bm1vdW50IiwiZm9ybSIsIkxqIiwibGsiLCJFdmVudHMiLCJmaW5kRmliZXJCeUhvc3RJbnN0YW5jZSIsImJ1bmRsZVR5cGUiLCJyZW5kZXJlclBhY2thZ2VOYW1lIiwiaXNEaXNhYmxlZCIsInN1cHBvcnRzRmliZXIiLCJpbmplY3QiLCJvbkNvbW1pdEZpYmVyUm9vdCIsIm9uQ29tbWl0RmliZXJVbm1vdW50IiwiWWoiLCJvdmVycmlkZUhvb2tTdGF0ZSIsIm92ZXJyaWRlUHJvcHMiLCJzZXRTdXNwZW5zZUhhbmRsZXIiLCJzY2hlZHVsZVVwZGF0ZSIsImN1cnJlbnREaXNwYXRjaGVyUmVmIiwiZmluZEhvc3RJbnN0YW5jZUJ5RmliZXIiLCJmaW5kSG9zdEluc3RhbmNlc0ZvclJlZnJlc2giLCJzY2hlZHVsZVJlZnJlc2giLCJzY2hlZHVsZVJvb3QiLCJzZXRSZWZyZXNoSGFuZGxlciIsImdldEN1cnJlbnRGaWJlciIsImNyZWF0ZVBvcnRhbCIsImZpbmRET01Ob2RlIiwiZmx1c2hTeW5jIiwidW5tb3VudENvbXBvbmVudEF0Tm9kZSIsInVuc3RhYmxlX2JhdGNoZWRVcGRhdGVzIiwidW5zdGFibGVfY3JlYXRlUG9ydGFsIiwidW5zdGFibGVfcmVuZGVyU3VidHJlZUludG9Db250YWluZXIiLCJNZXNzYWdlQ2hhbm5lbCIsInVuc3RhYmxlX2ZvcmNlRnJhbWVSYXRlIiwicGVyZm9ybWFuY2UiLCJjYW5jZWxBbmltYXRpb25GcmFtZSIsInJlcXVlc3RBbmltYXRpb25GcmFtZSIsInBvcnQyIiwicG9ydDEiLCJvbm1lc3NhZ2UiLCJwb3N0TWVzc2FnZSIsInNvcnRJbmRleCIsInN0YXJ0VGltZSIsInByaW9yaXR5TGV2ZWwiLCJ1bnN0YWJsZV9Qcm9maWxpbmciLCJ1bnN0YWJsZV9jb250aW51ZUV4ZWN1dGlvbiIsInVuc3RhYmxlX2dldEZpcnN0Q2FsbGJhY2tOb2RlIiwidW5zdGFibGVfbmV4dCIsInVuc3RhYmxlX3BhdXNlRXhlY3V0aW9uIiwidW5zdGFibGVfd3JhcENhbGxiYWNrIiwicnVudGltZSIsIk9wIiwiJFN5bWJvbCIsIml0ZXJhdG9yU3ltYm9sIiwiYXN5bmNJdGVyYXRvclN5bWJvbCIsInRvU3RyaW5nVGFnU3ltYm9sIiwiaW5uZXJGbiIsIm91dGVyRm4iLCJ0cnlMb2NzTGlzdCIsInByb3RvR2VuZXJhdG9yIiwiR2VuZXJhdG9yIiwiZ2VuZXJhdG9yIiwiZG9uZVJlc3VsdCIsImRlbGVnYXRlUmVzdWx0IiwibWF5YmVJbnZva2VEZWxlZ2F0ZSIsIkNvbnRpbnVlU2VudGluZWwiLCJyZWNvcmQiLCJ0cnlDYXRjaCIsIm1ha2VJbnZva2VNZXRob2QiLCJHZW5lcmF0b3JGdW5jdGlvbiIsIkdlbmVyYXRvckZ1bmN0aW9uUHJvdG90eXBlIiwiSXRlcmF0b3JQcm90b3R5cGUiLCJnZXRQcm90byIsIk5hdGl2ZUl0ZXJhdG9yUHJvdG90eXBlIiwiR3AiLCJkZWZpbmVJdGVyYXRvck1ldGhvZHMiLCJQcm9taXNlSW1wbCIsInByZXZpb3VzUHJvbWlzZSIsImNhbGxJbnZva2VXaXRoTWV0aG9kQW5kQXJnIiwiaW52b2tlIiwidW53cmFwcGVkIiwicHVzaFRyeUVudHJ5IiwibG9jcyIsImVudHJ5IiwicmVzZXRUcnlFbnRyeSIsIml0ZXJhYmxlIiwiaXRlcmF0b3JNZXRob2QiLCJnZW5GdW4iLCJjdG9yIiwiaXRlciIsInNraXBUZW1wUmVzZXQiLCJyb290UmVjb3JkIiwiZXhjZXB0aW9uIiwiaGFuZGxlIiwibG9jIiwiY2F1Z2h0IiwiaGFzQ2F0Y2giLCJoYXNGaW5hbGx5IiwiZmluYWxseUVudHJ5IiwidGhyb3duIiwiYWNjaWRlbnRhbFN0cmljdE1vZGUiLCJfYXJyIiwiX24iLCJfZCIsIl9zIiwiX2kiLCJhcnJheUxpa2VUb0FycmF5IiwibWluTGVuIiwibGVuIiwiYXJyMiIsImNzc1JlbG9hZCIsInVybFN0cmluZyIsInByb3RvY29sIiwiY29tcG9uZW50cyIsImhvc3QiLCJhY2N1bXVsYXRvciIsInNvdXJjZUtleXMiLCJfY3JlYXRlQ2xhc3MiLCJfY2xhc3NuYW1lczIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0IiwiX3JlYWN0MiIsIl9wcm9wVHlwZXMyIiwiX3Jlc2l6ZU9ic2VydmVyUG9seWZpbGwyIiwiX3V0aWxzIiwiX2RlZmluZVByb3BlcnR5IiwiY29uc3RhbnRzIiwib3JpZW50YXRpb24iLCJob3Jpem9udGFsIiwiZGltZW5zaW9uIiwiZGlyZWN0aW9uIiwicmV2ZXJzZURpcmVjdGlvbiIsImNvb3JkaW5hdGUiLCJ2ZXJ0aWNhbCIsIlNsaWRlciIsIl9jbGFzc0NhbGxDaGVjayIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwiaGFuZGxlRm9ybWF0IiwiZm9ybWF0IiwiaGFuZGxlVXBkYXRlIiwic2xpZGVyIiwiY2FwaXRhbGl6ZSIsInNsaWRlclBvcyIsImhhbmRsZVBvcyIsImdyYWIiLCJoYW5kbGVTdGFydCIsIm9uQ2hhbmdlU3RhcnQiLCJoYW5kbGVEcmFnIiwiaGFuZGxlRW5kIiwib25DaGFuZ2UiLCJfZSR0YXJnZXQiLCJjbGFzc05hbWUiLCJkYXRhc2V0IiwicG9zaXRpb24iLCJwYXJzZUZsb2F0Iiwib25DaGFuZ2VDb21wbGV0ZSIsImhhbmRsZUtleURvd24iLCJfdGhpcyRwcm9wcyIsInN0ZXAiLCJzbGlkZXJWYWx1ZSIsImdldFBvc2l0aW9uRnJvbVZhbHVlIiwiX3RoaXMkcHJvcHMyIiwicGVyY2VudGFnZSIsInJvdW5kIiwiZ2V0VmFsdWVGcm9tUG9zaXRpb24iLCJwb3MiLCJfdGhpcyRwcm9wczMiLCJjbGFtcCIsImJhc2VWYWwiLCJfdGhpcyRwcm9wczQiLCJjb29yZGluYXRlU3R5bGUiLCJkaXJlY3Rpb25TdHlsZSIsImNsaWVudENvb3JkaW5hdGVTdHlsZSIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNvb3JkaW5hdGVzIiwiX3RoaXMkc3RhdGUiLCJmaWxsIiwicmVuZGVyTGFiZWxzIiwibGFiZWxzIiwic2wiLCJfaW5oZXJpdHMiLCJvYnNlcnZlIiwiX3Byb3BzIiwidG9vbHRpcCIsImhhbmRsZUxhYmVsIiwiY29vcmRzIiwiZmlsbFN0eWxlIiwiaGFuZGxlU3R5bGUiLCJzaG93VG9vbHRpcCIsImxhYmVsSXRlbXMiLCJsYWJlbEtleXMiLCJfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uIiwiX2RpZEl0ZXJhdG9yRXJyb3IiLCJfaXRlcmF0b3JFcnJvciIsIl9zdGVwIiwiX2l0ZXJhdG9yIiwibGFiZWxQb3NpdGlvbiIsImxhYmVsU3R5bGUiLCJvbk1vdXNlRG93biIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hFbmQiLCJvbk1vdXNlVXAiLCJvblRvdWNoTW92ZSIsIm9uS2V5RG93biIsInRhYkluZGV4Iiwic3QiLCJzdHJpbmciLCJib29sIiwiUmVhY3RQcm9wVHlwZXNTZWNyZXQiLCJlbXB0eUZ1bmN0aW9uIiwiZW1wdHlGdW5jdGlvbldpdGhSZXNldCIsInJlc2V0V2FybmluZ0NhY2hlIiwic2hpbSIsInByb3BOYW1lIiwiY29tcG9uZW50TmFtZSIsInByb3BGdWxsTmFtZSIsInNlY3JldCIsImdldFNoaW0iLCJSZWFjdFByb3BUeXBlcyIsInN5bWJvbCIsImFueSIsImFycmF5T2YiLCJpbnN0YW5jZU9mIiwib2JqZWN0T2YiLCJvbmVPZiIsIm9uZU9mVHlwZSIsInNoYXBlIiwiZXhhY3QiLCJjaGVja1Byb3BUeXBlcyIsIlByb3BUeXBlcyIsIk1hcFNoaW0iLCJnZXRJbmRleCIsImNsYXNzXzEiLCJfX2VudHJpZXNfXyIsImVudHJpZXMiLCJjbGVhciIsImN0eCIsIl9hIiwiZ2xvYmFsJDEiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUkMSIsInRyYW5zaXRpb25LZXlzIiwibXV0YXRpb25PYnNlcnZlclN1cHBvcnRlZCIsIk11dGF0aW9uT2JzZXJ2ZXIiLCJSZXNpemVPYnNlcnZlckNvbnRyb2xsZXIiLCJjb25uZWN0ZWRfIiwibXV0YXRpb25FdmVudHNBZGRlZF8iLCJtdXRhdGlvbnNPYnNlcnZlcl8iLCJvYnNlcnZlcnNfIiwib25UcmFuc2l0aW9uRW5kXyIsInJlZnJlc2giLCJsZWFkaW5nQ2FsbCIsInRyYWlsaW5nQ2FsbCIsImxhc3RDYWxsVGltZSIsInJlc29sdmVQZW5kaW5nIiwicHJveHkiLCJ0aW1lb3V0Q2FsbGJhY2siLCJ0aHJvdHRsZSIsImFkZE9ic2VydmVyIiwib2JzZXJ2ZXIiLCJjb25uZWN0XyIsInJlbW92ZU9ic2VydmVyIiwib2JzZXJ2ZXJzIiwiZGlzY29ubmVjdF8iLCJ1cGRhdGVPYnNlcnZlcnNfIiwiYWN0aXZlT2JzZXJ2ZXJzIiwiZ2F0aGVyQWN0aXZlIiwiaGFzQWN0aXZlIiwiYnJvYWRjYXN0QWN0aXZlIiwiYXR0cmlidXRlcyIsImNoaWxkTGlzdCIsImNoYXJhY3RlckRhdGEiLCJzdWJ0cmVlIiwiX2IiLCJnZXRJbnN0YW5jZSIsImluc3RhbmNlXyIsImRlZmluZUNvbmZpZ3VyYWJsZSIsImdldFdpbmRvd09mIiwiZW1wdHlSZWN0IiwiY3JlYXRlUmVjdEluaXQiLCJ0b0Zsb2F0IiwiZ2V0Qm9yZGVyc1NpemUiLCJzdHlsZXMiLCJwb3NpdGlvbnMiLCJnZXRIVE1MRWxlbWVudENvbnRlbnRSZWN0IiwiY2xpZW50V2lkdGgiLCJjbGllbnRIZWlnaHQiLCJnZXRDb21wdXRlZFN0eWxlIiwicGFkZGluZ3MiLCJwb3NpdGlvbnNfMSIsImdldFBhZGRpbmdzIiwiaG9yaXpQYWQiLCJyaWdodCIsInZlcnRQYWQiLCJib3R0b20iLCJib3hTaXppbmciLCJpc0RvY3VtZW50RWxlbWVudCIsInZlcnRTY3JvbGxiYXIiLCJob3JpelNjcm9sbGJhciIsImFicyIsImlzU1ZHR3JhcGhpY3NFbGVtZW50IiwiU1ZHR3JhcGhpY3NFbGVtZW50IiwiU1ZHRWxlbWVudCIsImdldEJCb3giLCJnZXRDb250ZW50UmVjdCIsImJib3giLCJnZXRTVkdDb250ZW50UmVjdCIsIlJlc2l6ZU9ic2VydmF0aW9uIiwiYnJvYWRjYXN0V2lkdGgiLCJicm9hZGNhc3RIZWlnaHQiLCJjb250ZW50UmVjdF8iLCJpc0FjdGl2ZSIsInJlY3QiLCJicm9hZGNhc3RSZWN0IiwiUmVzaXplT2JzZXJ2ZXJFbnRyeSIsInJlY3RJbml0IiwiQ29uc3RyIiwiY29udGVudFJlY3QiLCJET01SZWN0UmVhZE9ubHkiLCJSZXNpemVPYnNlcnZlclNQSSIsImNvbnRyb2xsZXIiLCJjYWxsYmFja0N0eCIsImFjdGl2ZU9ic2VydmF0aW9uc18iLCJvYnNlcnZhdGlvbnNfIiwiY2FsbGJhY2tfIiwiY29udHJvbGxlcl8iLCJjYWxsYmFja0N0eF8iLCJFbGVtZW50Iiwib2JzZXJ2YXRpb25zIiwidW5vYnNlcnZlIiwiY2xlYXJBY3RpdmUiLCJvYnNlcnZhdGlvbiIsIlJlc2l6ZU9ic2VydmVyIiwiX3NldFByb3RvdHlwZU9mIiwiQXN5bmNNb2RlIiwiQ29uY3VycmVudE1vZGUiLCJDb250ZXh0Q29uc3VtZXIiLCJDb250ZXh0UHJvdmlkZXIiLCJMYXp5IiwiUG9ydGFsIiwiaXNBc3luY01vZGUiLCJpc0NvbmN1cnJlbnRNb2RlIiwiaXNDb250ZXh0Q29uc3VtZXIiLCJpc0NvbnRleHRQcm92aWRlciIsImlzRWxlbWVudCIsImlzRm9yd2FyZFJlZiIsImlzRnJhZ21lbnQiLCJpc0xhenkiLCJpc1BvcnRhbCIsImlzUHJvZmlsZXIiLCJpc1N0cmljdE1vZGUiLCJpc1N1c3BlbnNlIiwiaXNWYWxpZEVsZW1lbnRUeXBlIiwidHlwZU9mIiwiaXNBYnNvbHV0ZSIsInNwbGljZU9uZSIsImhhc1RyYWlsaW5nU2xhc2giLCJ0b1BhcnRzIiwiZnJvbVBhcnRzIiwiaXNUb0FicyIsImlzRnJvbUFicyIsIm11c3RFbmRBYnMiLCJ1cCIsInBhcnQiLCJjb25kaXRpb24iLCJhZGRMZWFkaW5nU2xhc2giLCJzdHJpcExlYWRpbmdTbGFzaCIsInN0cmlwQmFzZW5hbWUiLCJoYXNCYXNlbmFtZSIsInN0cmlwVHJhaWxpbmdTbGFzaCIsImNyZWF0ZVBhdGgiLCJoYXNoIiwiY3JlYXRlTG9jYXRpb24iLCJjdXJyZW50TG9jYXRpb24iLCJoYXNoSW5kZXgiLCJzZWFyY2hJbmRleCIsInBhcnNlUGF0aCIsImRlY29kZVVSSSIsIlVSSUVycm9yIiwiY3JlYXRlVHJhbnNpdGlvbk1hbmFnZXIiLCJwcm9tcHQiLCJzZXRQcm9tcHQiLCJuZXh0UHJvbXB0IiwiY29uZmlybVRyYW5zaXRpb25UbyIsImdldFVzZXJDb25maXJtYXRpb24iLCJhcHBlbmRMaXN0ZW5lciIsImxpc3RlbmVyIiwibm90aWZ5TGlzdGVuZXJzIiwiX2xlbiIsIl9rZXkiLCJjYW5Vc2VET00iLCJnZXRDb25maXJtYXRpb24iLCJnZXRIaXN0b3J5U3RhdGUiLCJoaXN0b3J5IiwiY3JlYXRlQnJvd3Nlckhpc3RvcnkiLCJnbG9iYWxIaXN0b3J5IiwiY2FuVXNlSGlzdG9yeSIsInVzZXJBZ2VudCIsIm5lZWRzSGFzaENoYW5nZUxpc3RlbmVyIiwiX3Byb3BzJGZvcmNlUmVmcmVzaCIsImZvcmNlUmVmcmVzaCIsIl9wcm9wcyRnZXRVc2VyQ29uZmlybSIsIl9wcm9wcyRrZXlMZW5ndGgiLCJrZXlMZW5ndGgiLCJiYXNlbmFtZSIsImdldERPTUxvY2F0aW9uIiwiaGlzdG9yeVN0YXRlIiwiX3dpbmRvdyRsb2NhdGlvbiIsImNyZWF0ZUtleSIsInRyYW5zaXRpb25NYW5hZ2VyIiwibmV4dFN0YXRlIiwiaGFuZGxlUG9wU3RhdGUiLCJpc0V4dHJhbmVvdXNQb3BzdGF0ZUV2ZW50IiwiaGFuZGxlUG9wIiwiaGFuZGxlSGFzaENoYW5nZSIsImZvcmNlTmV4dFBvcCIsIm9rIiwiZnJvbUxvY2F0aW9uIiwidG9Mb2NhdGlvbiIsInRvSW5kZXgiLCJhbGxLZXlzIiwiZnJvbUluZGV4IiwiZGVsdGEiLCJnbyIsInJldmVydFBvcCIsImluaXRpYWxMb2NhdGlvbiIsImNyZWF0ZUhyZWYiLCJsaXN0ZW5lckNvdW50IiwiY2hlY2tET01MaXN0ZW5lcnMiLCJpc0Jsb2NrZWQiLCJwdXNoU3RhdGUiLCJwcmV2SW5kZXgiLCJuZXh0S2V5cyIsInJlcGxhY2VTdGF0ZSIsImdvQmFjayIsImdvRm9yd2FyZCIsImJsb2NrIiwidW5ibG9jayIsImxpc3RlbiIsInVubGlzdGVuIiwiSGFzaFBhdGhDb2RlcnMiLCJoYXNoYmFuZyIsImVuY29kZVBhdGgiLCJkZWNvZGVQYXRoIiwibm9zbGFzaCIsInNsYXNoIiwic3RyaXBIYXNoIiwiZ2V0SGFzaFBhdGgiLCJyZXBsYWNlSGFzaFBhdGgiLCJjcmVhdGVIYXNoSGlzdG9yeSIsIl9wcm9wcyRoYXNoVHlwZSIsImhhc2hUeXBlIiwiX0hhc2hQYXRoQ29kZXJzJGhhc2hUIiwiaWdub3JlUGF0aCIsImVuY29kZWRQYXRoIiwicHJldkxvY2F0aW9uIiwiYWxsUGF0aHMiLCJiYXNlVGFnIiwiZ2V0QXR0cmlidXRlIiwicHVzaEhhc2hQYXRoIiwibmV4dFBhdGhzIiwibG93ZXJCb3VuZCIsInVwcGVyQm91bmQiLCJjcmVhdGVNZW1vcnlIaXN0b3J5IiwiX3Byb3BzJGluaXRpYWxFbnRyaWVzIiwiaW5pdGlhbEVudHJpZXMiLCJfcHJvcHMkaW5pdGlhbEluZGV4IiwiaW5pdGlhbEluZGV4IiwibmV4dEluZGV4IiwibmV4dEVudHJpZXMiLCJjYW5HbyIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiaGlzdG9yeUNvbnRleHQiLCJjcmVhdGVOYW1lZENvbnRleHQkMSIsIl9SZWFjdCRDb21wb25lbnQiLCJSb3V0ZXIiLCJfaXNNb3VudGVkIiwiX3BlbmRpbmdMb2NhdGlvbiIsInN0YXRpY0NvbnRleHQiLCJjb21wdXRlUm9vdE1hdGNoIiwiaXNFeGFjdCIsImNhY2hlJDEiLCJjYWNoZUNvdW50JDEiLCJtYXRjaFBhdGgiLCJfb3B0aW9ucyIsIl9vcHRpb25zJGV4YWN0IiwiX29wdGlvbnMkc3RyaWN0IiwiX29wdGlvbnMkc2Vuc2l0aXZlIiwibWF0Y2hlZCIsIl9jb21waWxlUGF0aCIsImNhY2hlS2V5IiwicGF0aENhY2hlIiwicmVnZXhwIiwiY29tcGlsZVBhdGgkMSIsIlJvdXRlIiwiY29udGV4dCQxIiwiY29tcHV0ZWRNYXRjaCIsImNyZWF0ZVVSTCIsInN0YXRpY0hhbmRsZXIiLCJtZXRob2ROYW1lIiwiU3dpdGNoIiwiQnJvd3NlclJvdXRlciIsInJlc29sdmVUb0xvY2F0aW9uIiwiZm9yd2FyZFJlZlNoaW0iLCJMaW5rQW5jaG9yIiwiZm9yd2FyZGVkUmVmIiwiaW5uZXJSZWYiLCJuYXZpZ2F0ZSIsIl9vbkNsaWNrIiwicmVzdCIsImV4IiwiaXNNb2RpZmllZEV2ZW50IiwiTGluayIsIl9yZWYyIiwiX3JlZjIkY29tcG9uZW50IiwiZm9yd2FyZFJlZlNoaW0kMSIsImZvcndhcmRSZWYkMSIsIl9yZWYkYXJpYUN1cnJlbnQiLCJhcmlhQ3VycmVudCIsIl9yZWYkYWN0aXZlQ2xhc3NOYW1lIiwiYWN0aXZlQ2xhc3NOYW1lIiwiYWN0aXZlU3R5bGUiLCJjbGFzc05hbWVQcm9wIiwiaXNBY3RpdmVQcm9wIiwibG9jYXRpb25Qcm9wIiwic3R5bGVQcm9wIiwiZXNjYXBlZFBhdGgiLCJjbGFzc25hbWVzIiwiam9pbkNsYXNzbmFtZXMiLCJIb3ZlcmFibGVSYXciLCJob3ZlckNsYXNzIiwiaHRtbFByb3BzIiwiaG92ZXIiLCJzZXRIb3ZlciIsIlJlYWN0IiwiSG92ZXJhYmxlIiwiSGVhZEJvb2xQYW5lbCIsInRlbXBsYXRlQ29uZmlnIiwib3V0ZXJEaXNhYmxlZCIsIm1hcHBpbmciLCJFbnVtSXRlbSIsIm9uU2Nyb2xsSW50b1ZpZXciLCJlbGVtUmVmIiwiYWN0aXZlZCIsIkhlYWRFbnVtUGFuZWwiLCJyZWFsVmFsdWUiLCJsaXN0UmVmIiwiZW51bUxpc3QiLCJzY3JvbGxJbnRvVmlldyIsInJpZ2h0RWRnZSIsIkhlYWROdW1iZXJQYW5lbCIsIm91dGVyVmFsdWUiLCJfc3RhcnQiLCJfbWF4IiwiX21pbiIsInVuaXQiLCJwcmVjaXNpb24iLCIkMSIsImdldFByZWNpc2lvbiIsImFsaWduVmFsdWUiLCJ0b0ZpeGVkIiwiYWxpZ25lZFZhbHVlIiwiYmFyRWxlbVJlZiIsInRvdWNoSW5mbyIsInNldFNob3dWYWx1ZUhpbnQiLCJzaG93VmFsdWVIaW50IiwicHJvcG9ydGlvbiIsImdldFZhbHVlQnlQb3MiLCJzdGFydFkiLCJjdXJyZW50VmFsdWUiLCJzdGFydFZhbHVlIiwidG90YWxIZWlnaHQiLCJvbkNvbnRyb2xTdGFydCIsImlkZW50aWZpZXIiLCJvbkNvbnRyb2xNb3ZlIiwib25Db250cm9sRW5kIiwiZ2V0Q3VycmVudFRvdWNoIiwidG91Y2giLCJvblRvdWNoQ2FuY2VsIiwib25Nb3VzZU1vdmUiLCJCdG4iLCJpY29uIiwidHJhbnNwYXJlbnQiLCJidG5UZXh0Iiwic3RhbmRhbG9uZSIsInVzZVN5c3RlbUluZm8iLCJzY3JlZW4iLCJpcHgiLCJCdG5Hcm91cCIsImxheW91dCIsImZpeGVkQm90dG9tIiwiYmFja2dyb3VuZCIsImJ0bkNvbmZpZyIsIkNvbmZpcm1CdG5Hcm91cCIsIm9uQ2FuY2VsIiwib25Db25maXJtIiwiY29uZmlybUJ0blR5cGUiLCJjb25maXJtQnRuRGlzYWJsZWQiLCJjYW5jZWxCdG5UeXBlIiwiY2FuY2VsQnRuRGlzYWJsZWQiLCJNb2RhbCIsInZpc2libGUiLCJtYXNrQ2xvc2FibGUiLCJzaG93QmFja0J0biIsIkJvZHkiLCJGb290ZXIiLCJzaG93RGl2aWRlciIsIkRpdmlkZXIiLCJGb290ZXJDb25maXJtQnRuR3JvdXAiLCJpc0luRml4ZWRCb3R0b21Nb2RhbCIsIm5vQm9yZGVyIiwiYnRuU2l6ZSIsIkZvb3RlckJ0biIsImZvbnRTaXplIiwiQnRuVHlwZSIsInJlZHVjZXIiLCJpbml0U3RhdGUiLCJ0ZW1wbGF0ZU1hcCIsInRlbXBsYXRlTGlzdCIsIndpbmRvd0hlaWdodCIsImlubmVySGVpZ2h0IiwiRGV2aWNlUGFuZWwiLCJvbkRldmljZURhdGFDaGFuZ2UiLCJvbkRldmljZVN0YXR1c0NoYW5nZSIsInVzZURldmljZURhdGEiLCJ0ZW1wbGF0ZUlkIiwic2V0U2hhcmVDb25maWciLCJoYW5kbGVXc0NvbnRyb2wiLCJoYW5kbGVXc1JlcG9ydCIsImhhbmRsZVdzU3RhdHVzQ2hhbmdlIiwiY2hlY2tGaXJtd2FyZVVwZ3JhZGUiLCJ1cGdyYWRlSW5mbyIsImRvQ2hlY2tGaXJtd2FyZVVwZ3JhZGUiLCJvbkNvbnRyb2xEZXZpY2VEYXRhIiwiY29udHJvbERldmljZURhdGEiLCJoZWFkUGFuZWxUZW1wbGF0ZUlkIiwibWluSGVpZ2h0IiwiaGVhZFRlbXBsYXRlQ29uZmlnIiwicmVuZGVySGVhZFBhbmVsIiwibG9jYXRpb25zIiwiZmluZEVycm9yIiwic2VhcmNoaW5nIiwiY29ubmVjdGluZyIsImNvbm5lY3REZXZpY2VJbmZvIiwidGVtcGVyYXR1cmUiLCJpc0Nvbm5lY3QiLCJTZWFyY2hQYWdlIiwic3RhcnRTZWFyY2giLCJkb0Nvbm5lY3QiLCJkZXZpY2VBZGFwdGVyIiwiYmluZERldmljZSIsIkRlbW9CbHVldG9vdGhEZXZpY2VBZGFwdGVyIiwiaGV4IiwicmVzdWx0VHlwZSIsImRhdGFBcnIiLCJsMSIsImwyIiwiY2FsY3VsYXRlVGVtcGVyYXR1cmUiLCJpc1ZhbGlkQm9keVRlbXBlcmF0dXJlIiwiYWR2ZXJ0aXNTZXJ2aWNlVVVJRHMiLCJhZHZlcnRpc0RhdGEiLCJtYWMiLCJEZXZpY2VBZGFwdGVyIiwiQXBwIiwiaGFzU2NmIiwiYWRkQWRhcHRlciIsIlJlYWN0RE9NIiwiZ2V0RWxlbWVudEJ5SWQiXSwibWFwcGluZ3MiOiJDQUFBLFNBQTJDQSxFQUFNQyxHQUNoRCxHQUFzQixpQkFBWkMsU0FBMEMsaUJBQVhDLE9BQ3hDQSxPQUFPRCxRQUFVRCxTQUNiLEdBQXFCLG1CQUFYRyxRQUF5QkEsT0FBT0MsSUFDOUNELE9BQU8sR0FBSUgsT0FDUCxDQUNKLElBQUlLLEVBQUlMLElBQ1IsSUFBSSxJQUFJTSxLQUFLRCxHQUF1QixpQkFBWkosUUFBdUJBLFFBQVVGLEdBQU1PLEdBQUtELEVBQUVDLElBUHhFLENBU0dDLFFBQVEsV0FDWCxPLFlDUEUsSUFBSUMsRUFBMEJELE9BQXlCLGlCQUN2REEsT0FBeUIsaUJBQ3pCLFNBQWtDRSxFQUFTQyxJQXVTM0MsU0FBMkJELEVBQVNDLEdBQ25DLElBQUtDLEVBQXFCRixLQUFhRyxFQUFxQkgsR0FDM0QsT0FFRCxJQUFLLElBQUlJLEtBRFRELEVBQXFCSCxJQUFXLEVBQ1hDLEVBQ2hCSSxPQUFPQyxVQUFVQyxlQUFlQyxLQUFLUCxFQUFhRyxLQUNyREssRUFBVUwsR0FBWUgsRUFBWUcsSUFHVixLQUFwQk0sR0FBOEMsSUFBckJDLEdBQzlCQyxJQWhUREMsQ0FBa0JiLEVBQVNDLEdBQ3ZCRixHQUF5QkEsRUFBd0JDLEVBQVNDLElBdUQvRCxJQUtJYSxFQUxBQyxH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d0YsRUFEdUIsS0FDbkJDLEVBRG1CLEtBR25DWixHQUFtQixJQUFKenZGLEVBQVU2aUIsU0FBUyxLQUFELE9BQU11dEUsR0FBTixPQUFXQyxHQUFNLEtBQU8sR0FPN0QsTUFKYSxNQUFUckcsSUFDSHlGLEVBQW1DLEdBQXBCQSxFQUFjLElBQVUsR0FHakNBLEVBR1lhLENBZklILEVBQVEsR0FBS0EsRUFBUSxJQWlCdkN4dkYsRUFBUyxDQUNkYyxLQUFNLGNBQ05sRCxLQUFNa3hGLEdBUVAsT0F4RUUsU0FBZ0NBLEdBQ3RDLE9BQU9BLEdBQWUsSUFBTUEsR0FBZSxHQW1FbkNjLENBQXVCZCxLQUMxQjl1RixFQUFPd3VCLFdBQWEsQ0FBRXNnRSxnQkFHaEI5dUYsR0FLVixNQUFPLENBQ05jLEtBQU0sVUFDTmxELEtBQU0weEYsTUEzRVQsb0NBSXFCejJELEdBQ25CLEdBQUlBLEVBQVdnM0QsdUJBQ1doM0QsRUFBV2czRCxxQkFBcUJoL0QsTUFBSyxTQUFBNXlCLEdBQUUsT0FBSUEsSUFBT294RixFQUEyQjloRSxjQUU5RXNMLEVBQVdpM0QsY0FDbEMsSUFDQyxJQUNNQyxFQURTbDNELEVBQVdpM0QsYUFBYTN0RixNQUFNLEdBQzFCUixLQUFLLEtBRXhCLGdCQUNJazNCLEdBREosSUFFQ2xhLFdBQVlveEUsRUFDWnhpRSxVQUFXOGhFLEVBQTJCOWhFLFlBRXRDLE1BQU9qeUIsR0FDUmYsUUFBUXNJLE1BQU0sa0JBQW1CdkgsUUFuQnRDLEdBQWdEMDBGLGtCLEtBQW5DWCxHLFlBQ08sd0MsTUNRcEIsU0FBU1ksS0FDUCxJQUdNQyxFQUFVLFVBQVd0MkUsS0FBS2lVLFNBQVNDLE1BRXJDZ3lELEVBQWdCLFVBQXFEb1EsRUFBUyxPQUFTLEdBQXZFLFlBZXBCLE9BYkEzMUYsUUFBUWlULElBQUksbUJBQW9Cc3lFLEdBTWhDcHlDLHFCQUFVLFdBQ1I3ekIsS0FBSTlNLEdBQUcsV0FBVyxrQkFBTXhTLFFBQVFpVCxJQUFJLGNBQ2hDVCxHQUFHLFdBQVcsa0JBQU14UyxRQUFRaVQsSUFBSSxjQUNoQ1QsR0FBRyxZQUFZLGtCQUFNeFMsUUFBUWlULElBQUksZUFDakNULEdBQUcsWUFBWSxrQkFBTXhTLFFBQVFpVCxJQUFJLGlCQUNwQyxJQUdELGtCQUFDLEVBQUQsQ0FBUXN5RSxTQUFVQSxHQUNoQiw2QkFDRSxrQkFBQyxFQUFELEtBRUUsa0JBQUMsRUFBRCxDQUFPanFELEtBQUsscUJBQ1Ysa0JBQUMsR0FBRCxPQUVGLGtCQUFDLEVBQUQsQ0FBT0EsS0FBSyxLQUNWLGtCQUFDLEdBQUQsVUFsQ1poYyxLQUFJOGdCLGlCQUFpQncxRCxXQUFXZCxJQTBDaENlLElBQVN0ekQsT0FBTyxrQkFBQ216RCxHQUFELE1BQVN6d0YsU0FBUzZ3RixlQUFlIiwiZmlsZSI6ImluZGV4LmpzIiwic291cmNlUm9vdCI6IiJ9
\ No newline at end of file