From: Olivier B. <Ba...@us...> - 2010-05-08 16:03:40
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "krobot". The branch, master has been updated via 1a24a20f6a0f0c2dfec057e5c2ae18aa9327a042 (commit) from 81aee3dc8f70d9a20150f107216b1fbde85b52bb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 1a24a20f6a0f0c2dfec057e5c2ae18aa9327a042 Author: Olivier BICHLER <oli...@cr...> Date: Sat May 8 18:03:10 2010 +0200 Added infrared rangefinders interface ----------------------------------------------------------------------- Changes: diff --git a/elec/boards/Interface_Robot/Firmware/HardwareProfile.h b/elec/boards/Interface_Robot/Firmware/HardwareProfile.h index 75aed2b..8e82be1 100644 --- a/elec/boards/Interface_Robot/Firmware/HardwareProfile.h +++ b/elec/boards/Interface_Robot/Firmware/HardwareProfile.h @@ -50,6 +50,8 @@ #ifndef HARDWARE_PROFILE_H #define HARDWARE_PROFILE_H + #define KROBOT_2010 + /*******************************************************************/ /******** USB stack hardware selection options *********************/ /*******************************************************************/ diff --git a/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcp b/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcp index ed967e2..f92b9b9 100644 --- a/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcp +++ b/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcp @@ -39,22 +39,24 @@ file_011=. file_012=. file_013=. file_014=. -file_015=Common +file_015=. file_016=Common -file_017=USB Stack +file_017=Common file_018=USB Stack file_019=USB Stack file_020=USB Stack file_021=USB Stack file_022=USB Stack file_023=USB Stack -file_024=. +file_024=USB Stack file_025=. file_026=. file_027=. file_028=. file_029=. file_030=. +file_031=. +file_032=. [GENERATED_FILES] file_000=no file_001=no @@ -87,6 +89,8 @@ file_027=no file_028=no file_029=no file_030=no +file_031=no +file_032=no [OTHER_FILES] file_000=no file_001=no @@ -119,6 +123,8 @@ file_027=no file_028=no file_029=no file_030=no +file_031=no +file_032=no [FILE_INFO] file_000=usb_descriptors.c file_001=main.c @@ -131,26 +137,28 @@ file_007=servo.c file_008=mcc.c file_009=adjd-s371.c file_010=lcd.c -file_011=HardwareProfile.h -file_012=usb_config.h -file_013=eeprom.h -file_014=PcInterface.h -file_015=Include\Compiler.h -file_016=Include\GenericTypeDefs.h -file_017=Include\Usb\usb.h -file_018=Include\Usb\usb_ch9.h -file_019=Include\Usb\usb_common.h -file_020=Include\Usb\usb_device.h -file_021=Include\Usb\usb_function_hid.h -file_022=Include\Usb\usb_hal.h -file_023=Include\Usb\usb_hal_pic18.h -file_024=ax12.h -file_025=error.h -file_026=servo.h -file_027=mcc.h -file_028=adjd-s371.h -file_029=lcd.h -file_030=rm18f4550.lkr +file_011=infrared.c +file_012=HardwareProfile.h +file_013=usb_config.h +file_014=eeprom.h +file_015=PcInterface.h +file_016=Include\Compiler.h +file_017=Include\GenericTypeDefs.h +file_018=Include\Usb\usb.h +file_019=Include\Usb\usb_ch9.h +file_020=Include\Usb\usb_common.h +file_021=Include\Usb\usb_device.h +file_022=Include\Usb\usb_function_hid.h +file_023=Include\Usb\usb_hal.h +file_024=Include\Usb\usb_hal_pic18.h +file_025=ax12.h +file_026=error.h +file_027=servo.h +file_028=mcc.h +file_029=adjd-s371.h +file_030=lcd.h +file_031=infrared.h +file_032=rm18f4550.lkr [SUITE_INFO] suite_guid={5B7D72DD-9861-47BD-9F60-2BE967BF8416} suite_state= diff --git a/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcs b/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcs index a53f261..445f9f6 100644 --- a/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcs +++ b/elec/boards/Interface_Robot/Firmware/Robot_Interface.mcs @@ -2,183 +2,196 @@ MagicCookie={0b13fe8c-dfe0-40eb-8900-6712719559a7} Version=1.0 [File000] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\usb_descriptors.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\usb_descriptors.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File001] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\main.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\main.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File002] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\eeprom.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\eeprom.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File003] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\usb_device.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\usb_device.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File004] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\usb_function_hid.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\usb_function_hid.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File005] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\ax12.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\ax12.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File006] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\error.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\error.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File007] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\servo.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\servo.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File008] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\mcc.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\mcc.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File009] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\adjd-s371.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\adjd-s371.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File010] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\lcd.o +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\lcd.o Folder=Intermediary DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} LanguageToolLocation=C:\MCC18\bin\mcc18.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString= TraceCmdString= DebugOptions= [File011] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\Robot_Interface.cof +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\infrared.o +Folder=Intermediary +DeviceName=PIC18F4550 +LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} +LanguageToolID={E56A1C86-9D32-4DF6-8C34-FE0388B1B644} +LanguageToolLocation=C:\MCC18\bin\mcc18.exe +PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SuiteArgsString= +ToolArgsString= +TraceCmdString= +DebugOptions= +[File012] +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\Robot_Interface.cof Folder=Output DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C} LanguageToolLocation=C:\MCC18\bin\mplink.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof" TraceCmdString= DebugOptions= -[File012] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\Robot_Interface.hex +[File013] +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\Robot_Interface.hex Folder=Output DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C} LanguageToolLocation=C:\MCC18\bin\mplink.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof" TraceCmdString= DebugOptions= -[File013] -Location=C:\krobot\USB_Module\Robot_Interface\Firmware\output\Robot_Interface.map +[File014] +Location=C:\krobot\elec\boards\Interface_Robot\Firmware\output\Robot_Interface.map Folder=Output DeviceName=PIC18F4550 LanguageToolSuiteID={5B7D72DD-9861-47BD-9F60-2BE967BF8416} LanguageToolID={96C98149-AA1B-4CF9-B967-FAE79CAB663C} LanguageToolLocation=C:\MCC18\bin\mplink.exe PPAD=$(BINDIR)|output||$(TMPDIR)|output||$(AINDIR)||$(INCDIR)|.;Include||$(LIBDIR)|C:\mcc18\lib||$(LKRDIR)|| -SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| +SOLK=<src>|usb_descriptors.c|main.c|eeprom.c|usb_device.c|usb_function_hid.c|ax12.c|error.c|servo.c|mcc.c|adjd-s371.c|lcd.c|infrared.c||<obj>||<lib>||<lkr>|rm18f4550.lkr|| SuiteArgsString= ToolArgsString=/m"$(BINDIR_)$(TARGETBASE).map" /w /o"$(BINDIR_)$(TARGETBASE).cof" TraceCmdString= diff --git a/elec/boards/Interface_Robot/Firmware/infrared.c b/elec/boards/Interface_Robot/Firmware/infrared.c new file mode 100644 index 0000000..8eda7e5 --- /dev/null +++ b/elec/boards/Interface_Robot/Firmware/infrared.c @@ -0,0 +1,119 @@ +#ifndef INFRARED_C +#define INFRARED_C + +#include "infrared.h" + +volatile long IF1range[IF_AVR1]; +volatile long IF2range[IF_AVR1]; + +void initIF() { + /* Initialisation des PINs */ + TRISD&= 0b11111100; /* OPTOSW1, OPTOSW2 */ + + OPTOSW1 = 0; + OPTOSW2 = 0; + + OpenADC(ADC_FOSC_64 /* A/D clock source (forcnt Fosc / 64 car PIC 8 MHz) */ + & ADC_RIGHT_JUST /* A/D result justification */ + & ADC_0_TAD, /* A/D acquisition time select (pas la peine d'attendre avant le */ + /* dt de la conversion car l'acquisition a largement eu le */ + /* temps de se faire entre chaque interruption, toutes les 1 ms) */ + ADC_INT_OFF /* A/D Interrupts */ + & ADC_REF_VDD_VSS, /* A/D voltage configuration */ + ADC_2ANA + ); +} + +void interruptIF(void) { + static char state = 0; + static char IF1_idx = 0; + static char IF2_idx = 0; + static long IF1range_0[IF_AVR0]; + static long IF2range_0[IF_AVR0]; + + char i; + + switch (state) { + case 0: + OPTOSW1 = 1; + + // Drre la convertion sur RA0 + SelChanConvADC(ADC_CH0); + state = 1; + break; + + case 1: + // Rp le rltat de la conversion + if (!BusyADC()) { + IF1range_0[IF1_idx] = ReadADC(); + state = 2; + } + break; + + case 2: + OPTOSW1 = 0; + OPTOSW2 = 1; + + // Drre la convertion sur RA1 + SelChanConvADC(ADC_CH1); + state = 3; + break; + + case 3: + // Rp le rltat de la conversion + if (!BusyADC()) { + IF2range_0[IF1_idx] = ReadADC(); + state = 4; + } + break; + + case 4: + OPTOSW2 = 0; + + // Traitement des rltats + IF1_idx++; + + if (IF1_idx >= IF_AVR0) { + IF1_idx = 0; + IF1range[IF2_idx] = 0; + IF2range[IF2_idx] = 0; + + for (i = 0; i < IF_AVR0; i++) { + IF1range[IF2_idx]+= IF1range_0[i]; + IF2range[IF2_idx]+= IF2range_0[i]; + } + + IF2_idx++; + + if (IF2_idx >= IF_AVR1) + IF2_idx = 0; + } + + state = 0; + break; + + default: + state = 0; + } +} + +long getIFRange(char sensor) { + char i; + long IFrange = 0; + + if (sensor == 0) { + for (i = 0; i < IF_AVR1; i++) + IFrange+= IF1range[i]; + } + else if (sensor == 1) { + for (i = 0; i < IF_AVR1; i++) + IFrange+= IF2range[i]; + } + else { + return 0; + } + + return (long) (((float) IFrange / IF_AVR0 / IF_AVR1) * 5.0 / 1023.0); +} + +#endif diff --git a/elec/boards/Interface_Robot/Firmware/infrared.h b/elec/boards/Interface_Robot/Firmware/infrared.h new file mode 100644 index 0000000..11dadae --- /dev/null +++ b/elec/boards/Interface_Robot/Firmware/infrared.h @@ -0,0 +1,23 @@ +#ifndef INFRARED_H +#define INFRARED_H + +#include <adc.h> +#include "GenericTypeDefs.h" +#include "Compiler.h" +#include "HardwareProfile.h" +#include "PcInterface.h" +#include "error.h" + +// Parames graux +#define IF_AVR0 10 +#define IF_AVR1 10 + +// Entr / sorties +#define OPTOSW1 PORTDbits.RD0 +#define OPTOSW2 PORTDbits.RD1 + +void initIF(void); +void interruptIF(void); +long getIFRange(char sensor); + +#endif diff --git a/elec/boards/Interface_Robot/Firmware/lcd.h b/elec/boards/Interface_Robot/Firmware/lcd.h index 0e459d8..7db17a1 100644 --- a/elec/boards/Interface_Robot/Firmware/lcd.h +++ b/elec/boards/Interface_Robot/Firmware/lcd.h @@ -11,6 +11,8 @@ #include "HardwareProfile.h" #include <i2c.h> +#define ADD_LCD 0x07 + // Commandes de l'afficheur LCD #define CMD_HEAD 0x1B #define CMD_CLEAR 0x43 @@ -31,4 +33,4 @@ void lcd_write(BYTE address, unsigned char* msg); void lcd_write_line(BYTE address, BYTE line, unsigned char *msg); -#endif \ No newline at end of file +#endif diff --git a/elec/boards/Interface_Robot/Firmware/main.c b/elec/boards/Interface_Robot/Firmware/main.c index 78620d2..f42183b 100644 --- a/elec/boards/Interface_Robot/Firmware/main.c +++ b/elec/boards/Interface_Robot/Firmware/main.c @@ -92,9 +92,7 @@ #include "mcc.h" #include "adjd-s371.h" #include "lcd.h" - - -#define ADD_LCD 0x07 +#include "infrared.h" /* VARIABLES ******************************************************/ #pragma udata @@ -246,7 +244,11 @@ char ResetSource(void); PIR1bits.RCIF = 0; } - #ifdef MODE_INAB + #ifdef KROBOT_2010 + interruptIF(); + #endif + + #ifdef KROBOT_2010 // Interruption par le timer0 if (INTCONbits.TMR0IF) { interruptMotor1(); @@ -256,7 +258,7 @@ char ResetSource(void); } #endif - #ifdef MODE_SENS + #ifndef KROBOT_2010 // Interruption par le timer1 if (PIR1bits.TMR1IF) { interruptMotor2(); @@ -280,7 +282,7 @@ char ResetSource(void); sProdL = PRODL; sProdH = PRODH; - #ifdef MODE_SENS + #ifndef KROBOT_2010 // Interruption par le timer0 if (INTCONbits.TMR0IF) { interruptMotor1(); @@ -583,6 +585,7 @@ void UserInit(void) initServos(); initMCC(0); initAdjd(); + initIF(); }//end UserInit @@ -808,6 +811,16 @@ void ProcessIO(void) { */ break; + case GET_RANGEFINDER_STATE: + for (i = 0; i < 2; i++) { + dword.Val = getIFRange(i); + ToSendDataBuffer.DATA[4*i] = dword.byte.MB; + ToSendDataBuffer.DATA[4*i + 1] = dword.byte.UB; + ToSendDataBuffer.DATA[4*i + 2] = dword.byte.HB; + ToSendDataBuffer.DATA[4*i + 3] = dword.byte.LB; + } + break; + default: ToSendDataBuffer.ERR = ERR_UNKNOWN_GET; } diff --git a/elec/boards/Interface_Robot/Firmware/mcc.c b/elec/boards/Interface_Robot/Firmware/mcc.c index 2f8194b..ff0119f 100644 --- a/elec/boards/Interface_Robot/Firmware/mcc.c +++ b/elec/boards/Interface_Robot/Firmware/mcc.c @@ -15,7 +15,7 @@ volatile unsigned long durationMotor2 = 0; void initMCC(char withEncoder) { /* Initialisation des PINs */ - #ifdef MODE_SENS + #ifndef KROBOT_2010 TRISA&= 0b11111110; /* M1_SENS */ TRISB&= 0b11000011; /* M1_EN, M2_PWM, M2_SENS, M2_EN */ TRISC&= 0b11111011; /* M1_PWM */ @@ -51,7 +51,7 @@ void initMCC(char withEncoder) { ); } - #ifdef MODE_SENS + #ifndef KROBOT_2010 INTCON2bits.TMR0IP = 0; // Low priority interrupt for timer0 // Configuration du timer1 @@ -78,7 +78,7 @@ void initMCC(char withEncoder) { #endif /* Initialisation de l't des PINs */ - #ifdef MODE_SENS + #ifndef KROBOT_2010 M1_EN = 0; M2_EN = 0; M1_PWM = 0; @@ -104,7 +104,7 @@ void interruptMotor1() { CCP1CON = 0; M1_PWM = 0; - #ifdef MODE_INAB + #ifdef KROBOT_2010 M1_INA = 0; M1_INB = 0; #endif @@ -112,7 +112,7 @@ void interruptMotor1() { } } -#ifdef MODE_SENS +#ifndef KROBOT_2010 void interruptMotor2() { WriteTimer1(5536); // 2^16 - 60 000 : la prochaine interruption a lieu dans 60 000 cycles * 8 = 40 ms @@ -140,7 +140,7 @@ void interruptMotor1() { * #MOTOR_BOTH les 2 moteurs */ void enableMotor(char axis) { - #ifdef MODE_SENS + #ifndef KROBOT_2010 if (axis & MOTOR_RIGHT) M1_EN = 1; @@ -162,7 +162,7 @@ void enableMotor(char axis) { * #MOTOR_BOTH les 2 moteurs */ void disableMotor(char axis) { - #ifdef MODE_SENS + #ifndef KROBOT_2010 if (axis & MOTOR_RIGHT) M1_EN = 0; @@ -185,7 +185,7 @@ void disableMotor(char axis) { * @param duration durd'activation, en ms (0 = rotation continue) */ void move(char axis, char sens, BYTE speed, unsigned long duration) { - #ifdef MODE_SENS + #ifndef KROBOT_2010 if (axis & MOTOR_RIGHT) { durationMotor1 = duration / 40; WriteTimer0(5536); @@ -233,7 +233,7 @@ BOOL checkTOR(void) { // M1_SENS == 0 : up (IN3 = RD7 = TOR2) // M1_SENS == 1 : down (IN2 = RD6 = TOR1) - #ifdef MODE_SENS + #ifndef KROBOT_2010 if ((M1_SENS == 1 && !TOR1) || (M1_SENS == 0 && !TOR2)) { //ClosePWM1(); CCP1CON = 0; diff --git a/elec/boards/Interface_Robot/Firmware/mcc.h b/elec/boards/Interface_Robot/Firmware/mcc.h index bb7c985..b2b81e7 100644 --- a/elec/boards/Interface_Robot/Firmware/mcc.h +++ b/elec/boards/Interface_Robot/Firmware/mcc.h @@ -18,25 +18,28 @@ #define H_BRIDGE_VOLTAGE 24.0 #define MOTOR1_VOLTAGE 15.0 #define MOTOR2_VOLTAGE 15.0 -//#define MODE_SENS -#define MODE_INAB // Entr / sorties -#define ENC1_A PORTAbits.RA4 -#define ENC1_B PORTAbits.RA5 -#define ENC1_NI PORTEbits.RE0 -#define M1_EN PORTBbits.RB2 -#define M1_PWM PORTCbits.RC2 -#define M1_SENS PORTAbits.RA0 -#define M1_INA PORTAbits.RA0 -#define M1_INB PORTBbits.RB4 // Only available if M2 is not used (mode MODE_INAB) - -#define ENC2_A PORTCbits.RC0 -#define ENC2_B PORTAbits.RA2 -#define ENC2_NI PORTAbits.RA3 -#define M2_EN PORTBbits.RB5 -#define M2_PWM PORTBbits.RB3 -#define M2_SENS PORTBbits.RB4 +#ifndef KROBOT_2010 + #define ENC1_A PORTAbits.RA4 + #define ENC1_B PORTAbits.RA5 + #define ENC1_NI PORTEbits.RE0 + #define M1_EN PORTBbits.RB2 + #define M1_PWM PORTCbits.RC2 + #define M1_SENS PORTAbits.RA0 + + #define ENC2_A PORTCbits.RC0 + #define ENC2_B PORTAbits.RA2 + #define ENC2_NI PORTAbits.RA3 + #define M2_EN PORTBbits.RB5 + #define M2_PWM PORTBbits.RB3 + #define M2_SENS PORTBbits.RB4 +#else + #define M1_EN PORTBbits.RB2 + #define M1_PWM PORTCbits.RC2 + #define M1_INA PORTBbits.RB5 + #define M1_INB PORTBbits.RB4 +#endif #define TOR1 PORTDbits.RD6 #define TOR2 PORTDbits.RD7 diff --git a/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.cof b/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.cof index 9685c05..825d379 100644 Binary files a/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.cof and b/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.cof differ diff --git a/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.hex b/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.hex index bae90d2..994e1fc 100644 --- a/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.hex +++ b/elec/boards/Interface_Robot/Firmware/output/Robot_Interface.hex @@ -1,933 +1,1028 @@ :020000040000FA -:0600000071EF1FF0120079 +:060000004FEF22F0120098 :0600080004EF04F01200F9 :060018000CEF04F01200E1 -:0608000071EF1FF0120071 -:0608080034EF04F01200C1 -:0608180094EF04F0120051 -:06082A000500793F00000B -:100830008600000024000000583F0000CB000000AC -:10084000210000004F3F00001301000009000000DC -:100850003F3F0000EC00000010000000363F0000A9 -:080860000A010000090000007C -:08086800DACFE4FFE2CFDAFF72 -:10087000E9CFE4FFEACFE4FFF6CFE4FFF7CFE4FFF0 -:10088000F5CFE4FFF3CFE4FFF4CFE4FFFACFE4FFCA -:1008900000EE22F0140EE80403E3EECFE4FFFBD7F2 -:1008A00000EE00F0220EE80403E3EECFE4FFFBD7F6 -:1008B0001EEC0DF0A1A203D087EC18F0A1929EAA25 -:1008C00003D039EC13F09E9AF2A403D0C9EC19F0CE -:1008D000F29431EC0DF002E2E16AE5522FEC0DF0FA -:1008E000E55200EE21F0220EE80403E3E5CFEDFF30 -:1008F000FBD700EE35F0140EE80403E3E5CFEDFF7F -:10090000FBD7E5CFFAFFE5CFF4FFE5CFF3FFE5CF67 -:10091000F5FFE5CFF7FFE5CFF6FFE5CFEAFFE5CF3F -:10092000E9FFE5CFDAFF1100D8CFE4FFE0CFE4FF25 -:10093000E46EDACFE4FFE2CFDAFFF3CFE4FFF4CFE7 -:10094000E4FF1EEC0DF031EC0DF002E2E16AE5523D -:100950002FEC0DF0E552E5CFF4FFE5CFF3FFE5CF47 -:10096000DAFFE550E5CFE0FFE5CFD8FF100004D86F -:10097000C4EC0DF059D8FCD70F0EC11202D88EEF7F -:100980000DF069EC0DF0E652A5EC0CF00001FC6FE7 -:10099000070EFC5D10E1E66A9FEC1DF0E552DF6E8C -:1009A000000EDF8039EC0DF0E66A43EC1FF0E552F3 -:1009B000DF7039EC0DF093809382948C948ED08EFE -:1009C000F28EF28C770EC86E070EE66E4FEC1BF0BF -:1009D000E5523F0E8A1693160101136B146B156BCB -:1009E000166B010E176F34EC13F0E30E951692920E -:1009F0009492A082FD0EE66E08EC1EF0E552000E09 -:100A0000E66EE66A86EC1EF0E552E5528394839624 -:100A1000839880928292E66AA3EC19F0E552BBECCF -:100A20001AF0E5527AEF0DF0D9CFE6FFE1CFD9FF0A -:100A3000170EE126160EDB6A0101175102E099EC50 -:100A40000BF0200E0001605D03E36D50020B02E02D -:100A50008FEF0BF0160EDB5036E091EC1AF0000928 -:100A600032E001011551161102E1000E08D015C146 -:100A7000E9FF16C1EAFFEF50800B01E0010E00090B -:100A800022E10501406B01011851182B0501416F4E -:100A900005010C0E426F0501436B400EE66E400EE1 -:100AA000E66E050EE66E010EE66E010EE66EDFECFA -:100AB00011F0006E050EE15E0050F3CF15F1F4CF9A -:100AC00016F1160EDB6A01011551161102E1000E36 -:100AD00008D015C1E9FF16C1EAFFEF50800B01E015 -:100AE000010E00093DE101011951EA6ACB0FE96EDF -:100AF000000EEA22EF5034E00501406B010118516D -:100B0000182B0501416F0501040E426F01011951B7 -:100B1000EA6ACB0FE96E000EEA22EFCF43F5400EF2 -:100B2000E66E400EE66E050EE66E010EE66E010EF6 -:100B3000E66EDFEC11F0006E050EE15E0050F3CFC3 -:100B400015F1F4CF16F101011951EA6ACB0FE96EE4 -:100B5000000EEA22EF6A010119291F0B0101196F2A -:100B600001011351141102E1000E08D013C1E9FF75 -:100B700014C1EAFFEF50800B01E0010E000902E012 -:100B80008FEF0BF005010251070A02E1F5EF0AF0C1 -:100B9000020A02E1C7EF0AF00E0A02E16EEF0AF064 -:100BA000060A02E1F3EF09F0040A01E110D20F0A8C -:100BB00001E165D1040A1AE0030A07E0010A02E034 -:100BC0004EEF0BF0FF008FEF0BF0E66A9FEC1DF08D -:100BD000E552DF6E000EDB80DFCFE6FFE66A7FECDA -:100BE0001DF0E552E552FF008FEF0BF001011551AA -:100BF000161102E1000E08D015C1E9FF16C1EAFF87 -:100C0000EF50800B01E0010E000901E036D100C574 -:100C100040F50501416B0501030E426F0501436B71 -:100C2000050108510A0A01E17ED00E0A71E0070AA7 -:100C300064E0010A20E0030A06E0010A01E0F3D0C3 -:100C4000FCC048F5F3D00501486BE70E006E3C0E82 -:100C5000016E026A00C0E6FF01C0E6FF02C0E6FFC7 -:100C6000480EE66E050EE66E63EC1DF0036E050E93 -:100C7000E15E0350DBD00501486BDB0E006E3C0EDD -:100C8000016E026A00C0E6FF01C0E6FF02C0E6FF97 -:100C9000480EE66E050EE66E63EC1DF0036E050E63 -:100CA000E15E0350D90E006E3C0E016E026A00C078 -:100CB000E6FF01C0E6FF02C0E6FF480EE66E050E45 -:100CC000E66E63EC1DF0036E050EE15E0350D00E80 -:100CD000006E3C0E016E026A00C0E6FF01C0E6FF36 -:100CE00002C0E6FF480EE66E050EE66E63EC1DF0F0 -:100CF000036E050EE15E035099D092CF48F593CF75 -:100D000049F594CF4AF595CF4BF596CF4CF58ED05B -:100D100080CF48F581CF49F582CF4AF583CF4BF597 -:100D200084CF4CF583D0800EE66E080EE66EF5ECAF -:100D30001EF0E552E552C5808AEC1FF0C00EE66E4B -:100D40004AEC1EF0E552E66A4AEC1EF0E552C58216 -:100D50008AEC1FF0C10EE66E4AEC1EF0E552010E61 -:100D6000DB6A020EDB6A010EDBCF00F0020EDBCF86 -:100D700001F0040E005C000E01584FE2010EF36E0C -:100D8000150EF3CFDBFFC586130EDB6A140EDB6A8C -:100D9000130EDBCF00F0140EDBCF01F0E80E005C89 -:100DA000030E015817E2C7A00FD0010EDBCFE9FFF9 -:100DB000020EDBCFEAFF480EE926050EEA22C9CF74 -:100DC000EFFF150EDB6A06D0130EDB2A140E01E3CB -:100DD000DB2ADED7150EDB5008E00501080E436F55 -:100DE000C58AC5888AEC1FF018D0010EDBCF00F051 -:100DF000020EDBCF01F0030E005C000E015803E28F -:100E0000C59AC58802D0C58AC5888AEC1FF0010E34 -:100E1000DB2A020E01E3DB2AA6D7C5848AEC1FF089 -:100E200098EC1FF003D00501020E436F400EE66EF2 -:100E3000400EE66E050EE66E010EE66E010EE66EE3 -:100E4000DFEC11F0006E050EE15E0050F3CF15F1FE -:100E5000F4CF16F1400EE66E000EE66E050EE66E5D -:100E6000E66A010EE66EDFEC11F0006E050EE15E43 -:100E70000050F3CF13F1F4CF14F18FEF0BF0050115 -:100E80000851050A54E0010A49E0070A37E0010A5F -:100E900025E0030A13E0010A01E080D005010951B1 -:100EA000921205010A51931205010B51941205018A -:100EB0000C51951205010D51961275D00501091DB1 -:100EC000921605010A1D931605010B1D94160501C6 -:100ED0000C1D951605010D1D961665D00501091D01 -:100EE000891605010A1D8A1605010B1D8B160501C1 -:100EF0000C1D8C1605010D1D8D1655D005010951CF -:100F0000891205010A518A1205010B518B12050144 -:100F10000C518C1205010D518D1245D0050109515E -:100F200001010F1B05010A5101010F133CD00501FE -:100F300009A107D00AC5E6FFE66A1FEC19F0E552E1 -:100F4000E552050109A308D00BC5E6FF010EE66EC8 -:100F50001FEC19F0E552E552050109A508D00CC5B2 -:100F6000E6FF020EE66E1FEC19F0E552E5520501B0 -:100F700009A708D00DC5E6FF030EE66E1FEC19F0B9 -:100F8000E552E552050109A908D00EC5E6FF040E99 -:100F9000E66E1FEC19F0E552E55205D0030EE66E41 -:100FA00010EC1FF0E552400EE66E000EE66E050EE8 -:100FB000E66EE66A010EE66EDFEC11F0006E050EDD -:100FC000E15E0050F3CF13F1F4CF14F1A8D3010187 -:100FD0001551161102E1000E08D015C1E9FF16C126 -:100FE000EAFFEF50800B01E0010E000901E0FAD1A9 -:100FF00000C540F50501416B0501030E426F050177 -:10100000436B050108510F0A01E1BCD1010A01E15E -:10101000B3D1030A01E1AAD1010A01E190D1070A83 -:1010200001E181D1010A01E1E1D0030A01E1C3D06C -:10103000010A01E1A8D00F0A01E18DD0010A68E0A0 -:10104000030A4FE0010A41E0070A24E0010A11E027 -:10105000030A01E09DD105010A51E66EE66A09C561 -:10106000E6FF4CEC14F0E552E552E5520501486FFD -:1010700092D105010C51E66EE66A0AC5E6FF09C584 -:10108000E6FFA6EC14F0E552E552E552E552050103 -:10109000486F81D105010C51E66EE66A0AC5E6FF8C -:1010A00009C5E6FF09EC15F0E552E552E552E552B7 -:1010B0000F0EF3CFDBFF100EF4CFDBFF100EDBCFF4 -:1010C00048F50F0EDBCF49F566D10CC5E6FF0AC522 -:1010D000E6FF09C5E6FF9BEC14F0E552E552E55248 -:1010E0005AD1100E0CC5DBFF0F0E0DC5DBFF0F0E26 -:1010F000DBCFE6FF100EDBCFE6FF0AC5E6FF09C532 -:10110000E6FF9FEC14F0E552E552E552E55243D17B -:10111000100E0AC5DBFF0F0E0BC5DBFF120E0CC550 -:10112000DBFF110E0DC5DBFF0EC5E6FF110EDBCF99 -:10113000E6FF120EDBCFE6FF0F0EDBCFE6FF100E51 -:10114000DBCFE6FF09C5E6FF8AEC15F0006E060E60 -:10115000E15E005020D105010A51E66EE66A09C53C -:10116000E6FFADEC15F0E552E552E5520F0EF3CF78 -:10117000DBFF100EF4CFDBFF100EDBCF48F50F0EB8 -:10118000DBCF49F508D105010A51E66EE66A09C5CB -:10119000E6FFB0EC15F0E552E552E5520F0EF3CF45 -:1011A000DBFF100EF4CFDBFF100EDBCF48F50F0E88 -:1011B000DBCF49F5F0D005010A51E66EE66A280E4C -:1011C000E66E09C5E6FF09EC15F0E552E552E55279 -:1011D000E5520F0EF3CFDBFF100EF4CFDBFF100E46 -:1011E000DBCF48F50F0EDBCF49F5D5D005010A510D -:1011F000E66EE66A09C5E6FFADEC15F0E552E5528C -:10120000E5520F0EF3CFDBFF100EF4CFDBFF100E15 -:10121000DBCF48F50F0EDBCF49F505010A51E66E2D -:10122000E66A09C5E6FFB0EC15F0E552E552E55275 -:101230000F0EF3CFDBFF100EF4CFDBFF100EDBCF72 -:101240004AF50F0EDBCF4BF505010A51E66EE66A53 -:10125000280EE66E09C5E6FF09EC15F0E552E552E9 -:10126000E552E5520F0EF3CFDBFF100EF4CFDBFF9C -:10127000100EDBCF4CF50F0EDBCF4DF505010A51FB -:10128000E66EE66A2A0EE66E09C5E6FFA6EC14F0E5 -:10129000E552E552E552E55205014E6F05010A514E -:1012A000E66EE66A2B0EE66E09C5E6FFA6EC14F0C4 -:1012B000E552E552E552E55205014F6F05010A512D -:1012C000E66EE66A060EE66E09C5E6FF09EC15F065 -:1012D000E552E552E552E5520F0EF3CFDBFF100E5B -:1012E000F4CFDBFF100EDBCF50F50F0EDBCF51F547 -:1012F00005010A51E66EE66A080EE66E09C5E6FFCC -:1013000009EC15F0E552E552E552E5520F0EF3CF28 -:10131000DBFF100EF4CFDBFF100EDBCF52F50F0E0C -:10132000DBCF53F538D00CC5E6FF0AC5E6FF09C58B -:10133000E6FF79EC15F0E552E552E5522CD0100E9F -:101340000CC5DBFF0F0E0DC5DBFF0F0EDBCFE6FF7D -:10135000100EDBCFE6FF0AC5E6FF09C5E6FF7DEC10 -:1013600015F0E552E552E552E55215D009C5E6FF04 -:1013700085EC15F0E5520FD009C5E6FF96EC14F0A8 -:10138000E55209D009C5E6FF3AEC14F0E55203D066 -:101390000501010E436F400EE66E400EE66E050E2F -:1013A000E66E010EE66E010EE66EDFEC11F0006EE9 -:1013B000050EE15E0050F3CF15F1F4CF16F1400EAB -:1013C000E66E000EE66E050EE66EE66A010EE66E4D -:1013D000DFEC11F0006E050EE15E0050F3CF13F16B -:1013E000F4CF14F19CD105010851070A4FE0010A1E -:1013F00041E0030A33E0010A29E0070A1EE0010A7E -:1014000014E0030A09E0010A01E04FD0070EE66E7E -:1014100056EC1BF0E5524ED0010EE66E070EE66E5E -:1014200059EC1BF0E552E55245D0E66A070EE66E30 -:1014300059EC1BF0E552E5523DD0010EE66E070E69 -:10144000E66E61EC1BF0E552E55234D0E66A070E19 -:10145000E66E61EC1BF0E552E5522CD00AC5E6FFC2 -:1014600009C5E6FF070EE66E6CEC1BF0E552E5528F -:10147000E55220D0090EE66E050EE66E070EE66E0A -:1014800079EC1BF0E552E552E55214D00A0EE66EF7 -:10149000050EE66E09C5E6FF070EE66E7FEC1BF053 -:1014A000E552E552E552E55205D0010EE66E10EC2C -:1014B0001FF0E552400EE66E000EE66E050EE66E7B -:1014C000E66A010EE66EDFEC11F0006E050EE15EDD -:1014D0000050F3CF13F1F4CF14F121D105010851DD -:1014E000030A11E0010A09E0030A01E037D009C547 -:1014F000E6FFE4EC19F0E55236D009C5E6FFE8EC6A -:1015000019F0E55230D00E0E0CC5DBFF0D0E0DC5E7 -:10151000DBFF0C0E0EC5DBFF0B0E0FC5DBFFD9503A -:101520000B0FE96EDACFEAFFEECFE6FFEECFE6FF74 -:10153000EECFE6FFEFCFE6FF0BC5E6FF0AC5E6FFFD -:1015400009C5E6FFECEC19F0006E070EE15E0050F5 -:10155000010EF36E160EF3CFDBFF05D0010EE66E23 -:1015600010EC1FF0E552400EE66E000EE66E050E22 -:10157000E66EE66A010EE66EDFEC11F0006E050E17 -:10158000E15E0050F3CF13F1F4CF14F1C8D0800E18 -:10159000E66E080EE66EF5EC1EF0E552E552C580EB -:1015A0008AEC1FF0E66A4AEC1EF0E552080EE66E81 -:1015B000050EE66E0EEC1DF0E552E552C58498EC82 -:1015C0001FF0400EE66E000EE66E050EE66EE66A51 -:1015D000010EE66EDFEC11F0006E050EE15E0050CC -:1015E000F3CF13F1F4CF14F19AD04F0EAB16AC9A9F -:1015F000CF0E9D16020EE66EE66A7C0EE66EC9EC14 -:101600001CF0E552E552E552040EE66EE66A2EEC59 -:1016100014F0E552E552100EE66E010EE66E2EEC69 -:1016200014F0E552E552020EE66E030EE66E010E70 -:10163000E66EA9EC13F0E552E552E552040EE66EB3 -:10164000E66A2EEC14F0E552E552100EE66E010E3D -:10165000E66E2EEC14F0E552E552020EE66E030E35 -:10166000E66E010EE66EA9EC13F0E552E552E55286 -:1016700034EC13F0400EE66E000EE66E050EE66EDC -:10168000E66A010EE66EDFEC11F0006E050EE15E1B -:101690000050F3CF13F1F4CF14F141D001011551F3 -:1016A000161102E1000E08D015C1E9FF16C1EAFFCC -:1016B000EF50800B01E0010E000931E100C540F55B -:1016C0000501416B0501030E426F0501010E436FD9 -:1016D000400EE66E400EE66E050EE66E010EE66EFC -:1016E000010EE66EDFEC11F0006E050EE15E0050BB -:1016F000F3CF15F1F4CF16F1400EE66E000EE66E54 -:10170000050EE66EE66A010EE66EDFEC11F0006E85 -:10171000050EE15E0050F3CF13F1F4CF14F1170E74 -:10172000E15C02E2E16AE552E16EE552E7CFD9FF02 -:10173000120001011A511B1104E1100E1A6F270E3D -:101740001B6F1A07000E1B5B6DA207D01A511B11ED -:101750002EE18A7C8ABC13D027D00001605102E1BF -:101760008A9C22D0600502E18A8C09D0020E605D5D -:1017700002E18A8C19D0040E605D03E18A9C8A8E96 -:101780001200100E605D06E101011A511B110FE1FC -:101790008A7C0AD0200E605D0AE101011A511B11FA -:1017A00006E18A7C8AAC02D08A9E12008A8E1200E0 -:1017B00010D9210E9BD9500E82D9A9D9630E48D9D0 -:1017C000630EEE6E740EEE6E690EEE6E760EEE6EBB -:1017D000690EEE6E740E64D981D924D926D951D9F7 -:1017E000E66AD9D802E2E16AE5522FEF0DF0F1D8AE -:1017F0002D0E7CD9430E2CD9780EEE6E690EEE6E4E -:101800006F0EEE6E6E0EEE6E200E59D9740E7BD9F1 -:10181000620EEE6E6C0EEE6E690E42D9EE6E5ED901 -:10182000EE6E71D9760E4BD9630EEE6E200EEE6E13 -:101830006C0E69D9200EEE6EF8D8070EE66E56ECE7 -:101840001BF0E5521ED9010EE66EA5D802E2E16A50 -:10185000E5522FEF0DF012001200BBEF1BF012004B -:101860001E0EE66E010EE66EADEC11F0E552E5528D -:10187000400EE66E000EE66E050EE66EE66A010E9E -:10188000E66EDFEC11F0006E050EE15E0050F3CF66 -:1018900013F1F4CF14F112006D840001080EFD6FF6 -:1018A000070EFE6FFD07000EFE5BFD51FE11FAE113 -:1018B0006D941200D9CFE6FFE1CFD9FFFD0EDBCF4B -:1018C0002AF0FE0EDBCF2BF0010E2A1801E12B507F -:1018D00033E0E8682A1802E1E8682B182BE0030ED1 -:1018E0002A1801E12B5024E0040E2A1801E12B50A4 -:1018F0001DE0020E2A1801E12B5016E0170E2A18DF -:1019000001E12B500FE0160E2A1801E12B5008E0E0 -:10191000150E2A1801E12B5001E010D0A1DF0FD0E5 -:101920009EDF0DD09ADF0BD096DF09D041DF07D0C4 -:101930005EDF05D091DF03D0000001D000D0010EA2 -:1019400000D0E552E7CFD9FF1200C3D8E652D0B29B -:1019500002D0010E15D0D0B802D0020E11D0D0B0F6 -:1019600002D0030E0DD0D0B602D0040E09D0FCAECA -:1019700002D0050E05D0FCAC02D0060E01D0070E39 -:10198000DF6ED088D086D084D082D080FC9EFC9C34 -:10199000DF50E552AFD0070EE66E61EC1BF0E5526A -:1019A000E552D9CFE6FFDACFE6FF010E7ED8D95057 -:1019B000150FA4D8020E79D8D9502A0F9FD8030E3C -:1019C00074D8D9503F0F9AD8040E6FD8540EE15CEA -:1019D00012007FD8540EE126D9CFE9FFDACFEAFF13 -:1019E0005B0EEE6E4B0EEE6E720EEE6E6F0EEE6EC8 -:1019F0005D0EEE6E620EEE6E6F0EEE6E740EEE6E9D -:101A0000200E61D8EE6EEE6E570E7DD86C0EEE6E27 -:101A1000EE6E790EEE6EEE6AD950150FE96EDACFE2 -:101A2000EAFF120050D863EF0DF0630E6CD86FD848 -:101A30006D0E45D8720E43D8EE6A1200E65249D8B0 -:101A4000020EE126F350DF6E010EF4CFDBFF120031 -:101A5000EE6E6F0EEE6E6E0EEE6E5FEF0DF0E16EDF -:101A600049D0DF50F36E010EDB50F46E020EE15CE4 -:101A70001200DFCFE6FFE66A7FEC1DF0E552E5528B -:101A80001200E66A070EE66E59EC1BF0E552E552CD -:101A90001200EE6AD9502A0FE96EDACFEAFF12007F -:101AA0000ED8200EEE6EEE6E1200E66E070EE66E9B -:101AB0007FEC1BF0E552E552E552E5521200EE6E66 -:101AC000650EEE6E1200EE6EEE6EEE6EEE6EEE6E69 -:101AD0001200D9CFE6FFE1CFD9FF1200EE6AD9504C -:101AE0003F0FE96EDACFEAFF200E12009BDF9ADF8C -:101AF00049EF0DF0E552E7CFD9FF1200E66E000E78 -:101B0000DA20E66E1200EE6E610EEE6E1200720EBC -:0C1B1000EE6E740ED4DF200EEE6E12009C -:041B1C0086EC12F051 -:101B20006A6A686AB9EC12F06D8C6E6A69EC12F040 -:101B30006D9CDF6A9AEC12F010E2DF50040DF3CFD7 -:101B4000E9FFF4CFEAFF000EE926040EEA22EE6A6E -:101B5000EE6AEE6AEE6ADF2AEDD7160E706E68A6A0 -:101B600004D0030E2FEC12F0FAD70001736B786BE0 -:101B7000796B7A6B6D98080E6B6F040E6C6F616BEE -:101B8000606BE55244EF12F086EC12F000016051F8 -:101B90000BE16D6A696AB9EC12F06DB602D06D8620 -:101BA000FCD70001010E606F600508E16DBA06D038 -:101BB000686A696A69806988020E606F6850040B00 -:101BC00007E06950040B04E0020E2FEC12F089D8F4 -:101BD0006DB247D06850010B14E06950010B11E061 -:101BE0009DDF0001040E606F0401200E026F040EE1 -:101BF000036F080E016F006B8C0E0013E66AF8ECA1 -:101C000012F06850100B07E06950100B04E060D828 -:101C1000040E2FEC12F06850400B0BE06950400BA3 -:101C200008E0C0EC12F0020E37EC12F0060E2FECBA -:101C300012F06850200B04E06950200B01E035D809 -:101C40006850020B0AE06950020B07E0C0EC12F08A -:101C5000E668E66818EC13F06A6A040E0001605D3D -:101C600002E2A19A1FD069A61CD0DF6A040EDF5CD5 -:101C700018E268A616D06CCF80F0030E2FEC12F09D -:101C8000780E0001801502E138D809D0000EE66E0A -:101C9000E66A800EE66E000EE66E010EE8DBDF2AD5 -:101CA000E5D7A19AE55244EF12F070A00ED052ECA5 -:101CB00012F0EF50800808E1D5DBEF50840804E112 -:101CC00052EC12F08C0EEF6E7090050E2FEF12F0AA -:101CD0006984040EC4DB6D8272EC12F0040E37EFDF -:101CE00012F072EC12F0030EC2DB6D92699468A4DC -:101CF00003D0020EB4DBFBD7120086EC12F0FD0E0F -:101D0000000180153DE17E0E8015E8407F0B040D3B -:101D1000F3CF63F0F4CF64F0000E6327040E642366 -:101D200063C065F064C066F06575BCDBEF503C0BCA -:101D3000E842E8420D0822E1B5DBEFEC12F0EECF0D -:101D400000F0EFCF01F0280E001816E1040E011884 -:101D500013E129EC13F0DF6AEDDB0EE2DF50A2ECB9 -:101D600012F0DF50EA6A200FE96E040EEA22E55213 -:101D7000E750EF6EDF2AF0D70AD807D01AD805D07F -:101D8000FD0E8015040801E122D8E5527DD36ADBFF -:101D9000EF50800B02E066DBEF6A00016F6B706B47 -:101DA000746B756B736B64D89DDB170E60DB6DEF26 -:101DB00010F0020E0001705D02E1FAEF10F034D86D -:101DC0000001815102E1F4EF12F0816B12009EDB01 -:101DD00049DBEF50400B01E0010EDF6E00016B7537 -:101DE000080E605D09E122C46EFF6E50000802E239 -:101DF000100E01D0040E606F700513E12DEC13F08E -:101E0000A6D9020E00016F5D03E12CDB840E07D022 -:101E1000DF5003E127DBC80E02D024DB880EEF6E13 -:101E200001D002D8E55230D32BDB0001706B1ADBF6 -:101E3000EF6A040E6B19006E6CC001F0DE6E6CC0B0 -:101E4000DDFF19DBEF6A78AF0CD07B517C1107E026 -:101E500005D07CC0FAFF00017B51F96EFADF00016A -:101E6000789F020EE15C02E2E16AE552E16E0CD37A -:101E700004012051600BE842E842E842E842E842AF -:101E8000000901E0120021510C0A45E00B0A3FE075 -:101E90000C0A31E0010A22E00B0A1EE0020A1CE0F3 -:101EA000030A18E0080A10E0010A0CE00F0A08E033 -:101EB000030A01E012000001738F080E606F120028 -:101EC000EDEF0FF056EF11F00001610E716F000E93 -:101ED000726F0CD02EEF10F08CEF0FF02451000138 -:101EE000716F726B620E7127000E72237381010E87 -:101EF000746F738F12000001738F04012451EA6A1A -:101F0000620FE96E000EEA2222C4EFFF1200EADA45 -:101F1000160E37EF12F012007EDB040EE1260401EC -:101F2000220510E120511F0B00090CE10001738F05 -:101F3000030E0401215D04E10001010E7F6F02D058 -:101F400000017F6B0401225141E120511F0B020867 -:101F50003DE124510F0B000939E00001738F0401AA -:101F600024BF05D0A4DA670EE926000E04D09FDA5C -:101F70006B0EE926000ED2DA030E215D03E17BDA57 -:101F8000840E23D024510F0B016A700F006E0F0EC8 -:101F90000122020E00C0DBFF030E01C0DBFF020EB8 -:101FA000DBCFE9FF030EDBCFEAFFEE90ED5224AF6B -:101FB00006D061DAEF6ADF745EDA400E06D05BDAD3 -:101FC000880EEF6EDF7457DAC80EEF6E040EE15C18 -:101FD00002E2E16AE552E16E57D2800E0401205D13 -:101FE0003CE10001C00E736F04012351030A1EE09F -:101FF000010A09E0030A2FE10001440E716F380E57 -:10200000726F120E22D0C3DAEC0EF626380EA2DA68 -:10201000020E0001F76A7125F66E7251F72209006F -:10202000F5CF74F00A00F5CF75F01200030E225DB3 -:102030000FE2ADDAEE0EF626380E8CDA71C0F6FF3E -:1020400072C0F7FF0800F5500001746F756B120045 -:102050000001736B12000001736B120011DA0401AE -:10206000286B296B20511F0B020A11E0030A0CE0B8 -:10207000010A22E10001738F0401288100017F051C -:102080001BE10401288318D00001738F15D00001D3 -:10209000738F040124BF05D00ADA670EE926000E0B -:1020A00004D005DA6B0EE926000E38DAE4D9EF50D9 -:1020B000040B02E0010E286F000173AF07D0280E59 -:1020C000716F040E726F7381020E746F020EE15C09 -:1020D00002E2E16AE552E16ED7D16D98000173BF6B -:1020E00008D078AF02D061DA2AD07EDABBD9840E6C -:1020F00027D078BF2BD0040120AF24D00001745129 -:102100000401265D000175510401275904E226C42B -:1021100074F027C475F01BD80001010E706FA1DAAE -:10212000800EEF6E816BBED9EE52080EEF6E91DA23 -:10213000B9D9840EEF6E010E816F8FDA93D9C80E74 -:10214000EF6E1200000131DAC80EEF6E120098D95E -:102150000001080E745D000E75590DE274C0DEFFBB -:1021600075C0DDFF6F5102E1010E03D06F0506E17E -:10217000020E6F6F03D0080EDE6EDD6A73D9EF9228 -:1021800071D9EF906FD9010EDB50EF126BD9EE527F -:10219000DFCFEFFF000EDB50745F010EDB50755B8D -:1021A000280E7D6F040E7E6F73B10FD0F7D91BE040 -:1021B00071C0F6FF72C0F7FF712B000E722308008A -:1021C000F55096D9F3E2DB06F1D7E8D90CE071C0FF -:1021D000E9FF72C0EAFF712B000E7223EF5088D91D -:1021E000F4E2DB06F2D7020EE15C02E2E16AE552BC -:1021F000E16E4AD145D956D9EE52EFCFDFFFDFCF9E -:1022000000F000500001795D000E7A5903E279C0B8 -:10221000DFFF09D0DF50006E016AE850795D796F09 -:1022200001507A597A6F010EDB6ADF50F36E010EAE -:10223000DBCFF4FFF350F45C10E2010EDB5082D9E7 -:1022400076C0E9FF77C0EAFF762B000E7723E552D0 -:10225000E750EF6E010EDB2AE8D7000ED8807955E3 -:10226000000E7A550DE2F4D854D91CD9EF50400B2A -:1022700003E1EAD9C80E02D0E7D9880EEF6E0FD07D -:10228000F0D9840EEF6E7B517C1107E005D07CC045 -:10229000FAFF00017B51F96EFADF0001789F020E10 -:1022A000E15C02E2E16AE552E16EEED00001738F7B -:1022B00010D9010EE66EE66AE66A620EE66E000E60 -:1022C000AFD922C461F00401225104E10001100ED3 -:1022D000606F12000001200E606F04D9150E37EFF9 -:1022E00012F0CED8000EDE6E040EDD6EE8D8040DBE -:1022F000F350006E016A020E0F0B05E0D890013218 -:102300000032E806FBE1D89000360136D89000365E -:102310000136D9CFE9FFDACFEAFF0050EE260150AF -:10232000ED22A9D8EF9EFD0EDB5002E16AD901D063 -:102330006DD9EA22DECFEEFFDDCFEDFF9CD8EF9C1A -:102340009AD8040EE926000EEA22EF8C020EE15C18 -:1023500002E2E16AE552E16E97D092D8FE0EDB50C0 -:10236000016A700F006E0F0EDFD885D8FD0EDBCF2F -:10237000EFFFDBA402D0E66AF5D8FD0EDBA203D0A6 -:10238000010EE66EEFD8020EE15C02E2E16AE55270 -:10239000E16E7AD075D8FE0EDB5005E125D962D802 -:1023A000840EEF6E05D08BD80CD989D8010F09D9CE -:1023B000020EE15C02E2E16AE552E16E65D060D8AE -:1023C000FD0EDB5002E022D901D01BD9A7D853D88B -:1023D00006D9FB0EDBCFEEFFFC0EDBCFEDFF4BD8BB -:1023E000EE52FA0EDBCFEFFF400E45D8E850EF1665 -:1023F000880E41D8E850EF12FD0EDB5002E006D9FE -:1024000001D0FFD8EA22EF74DECF00F0DDCF01F07B -:1024100000C0F3FF01C0F4FF020EE15C02E2E16ADA -:10242000E552E16E31D0F7D8010EF36EFC0EDB50B1 -:1024300004E0D890F336E806FCE1F31C006EFD0ED4 -:10244000DBCFE9FFFE0EDBCFEAFF0050EF161CD01A -:10245000FBD8EE52080EEF6EF7D8EFEF12F0E66EF3 -:10246000F8EF12F06BC0E9FF6CC0EAFF1200E66EF5 -:10247000E66A18EF13F0DECFE9FFDDCFEAFF1200C6 -:10248000CAD8020EE1261200E552E7CFD9FF1200AA -:10249000D6D824EF13F0FE0EEA6ADB34FE0BEA36E0 -:1024A000E96E120063C0E9FF64C0EAFF1200245124 -:1024B0000F0BE96EEA6AD890E936EA361200FD0E93 -:1024C000DB50E824026EFE0EDB50040DF3500224B4 -:1024D0001200000EE66EE66AE66A710EE66E0F0EF8 -:1024E00010EF13F0000EE66EE66AE66EE66A120082 -:1024F000E66E7DC0E9FF7EC0EAFF7D2B000E7E23E5 -:10250000E552E750EF6EDF06010E120084D8E65266 -:102510001200280EEE6E040EED6E1200EA22EECFCF -:10252000DEFFEDCFDDFF1200012200C0DEFF01C0A3 -:10253000DDFF1200DF50006E016A080E005C000E25 -:1025400001581200EA6A280FE96E040EEA22EF50E1 -:10255000E66E1200F7220900F5CF71F00A00F5CF00 -:1025600072F01200FE0EDBCFE6FFBBDEE552E55255 -:102570001200160E6F6E9F0E6B6E7B0E696E120050 -:10258000010EE66EE66A000EE66EE66A1200225161 -:10259000F66EF76AD890F636F7361200D9CFE9FF13 -:1025A000DACFEAFFEE50ED101200020E706F5ADF24 -:1025B000EE52EF6A57DFC80EEF6E4ADFAADF24EF54 -:1025C00013F0040DF3CF00F0F4CF01F0000E00265D -:1025D000040EAADF840E4FDFE850EF121200020E45 -:1025E000E926000EEA2212003CD88C0EEF6E120093 -:1025F000680EE66E0F0EE66E16DFE552E552E55206 -:10260000120049DF670EE926000E120044DF6B0E50 -:10261000E926000E1200D9CFE6FFE1CFD9FF120064 -:10262000E66E49EC1DF0006E050EE15E00501200F2 -:102630005AEC0CF0006E060EE15E00501200200E07 -:10264000EE6E040EED6E120065C0E9FF66C0EAFF93 -:10265000120028DFC4DF1FEF13F004DFC0DF89EFB3 -:0826600012F0F6DE48EF12F063 -:08266800959A838A190EDBEF3D -:1026700015F0CFDA030EE126ACA2FED72BEC1EF04C -:10268000DF6E0001A85104E1865102E1010EA96F3D -:10269000A90558E1A851A8DADFCFEFFF020EA85D27 -:1026A00008E2FF0EDF5C05E0050EABDA0001A96B66 -:1026B000A86B030EA85D04E1030EDF240001CA6FBE -:1026C000030E0001A85D3DE30001CA510001A85DB1 -:1026D00038E1010EDB6A020EDB6E0001CA51F36EB7 -:1026E000020EDBCFF4FFF350F45C0EE2020EDB507F -:1026F0007BDA010EDBCFE7FFEF50E726010EE7CFD5 -:10270000DBFF020EDB2AE9D7CA516EDAEFCF00F009 -:10271000010EDB1C005C05E0070E73DA0001866B1E -:102720000DD000018B5102E0060E6BDA8BC0E6FF84 -:1027300010EC1FF0E5520001010E866FA96BA86B2B -:1027400001D0A82B030EE15C02E2E16AE552E16EE2 -:1027500024D25FDA220EE126010EDB68020EDB686E -:10276000FE0EDB50E76E030EE7CFDBFFFC0EDB5007 -:10277000020FE76E040EE7CFDBFFFD0EDB50E76EC6 -:10278000050EE7CFDBFFDF6AFC0EDB50DF5C13E2F8 -:10279000DF50EA6AAA0FE96E000EEA22EF50E66EF9 -:1027A000D950010F006E050EDF2410DAE552E75014 -:1027B000EF6EDF2AE9D7210EDB6A020EDF6EFC0E18 -:1027C000DB50050FDF5C0FE2D950010F006EDF50C8 -:1027D000FDD9210EDBCFE7FFEF50E726210EE7CF33 -:1027E000DBFFDF2AECD7210EDB1CE66ED950010F90 -:1027F000006EFC0EDB50050FE9D9E552E750EF6E95 -:10280000839ADF6AFC0EDB50060FDF5C11E2ACA29C -:10281000FED7D950010F006EDACF01F0DF500F0163 -:10282000D5D9EF50E66E5AEC1FF0E552DF2AEAD711 -:10283000ACA2FED7838A0001866B220EE15C02E225 -:10284000E16AE552E16EA9D1000186511200000152 -:10285000A751120000018651FDE01200DAD9FE0EE8 -:10286000DB50EA6AAA0FE96E000EEA22FD0EDBCF0A -:10287000EFFF93D1CED9020E9ED9A4D9A3D988D97E -:1028800087D9190E98D984D983D987D10001865167 -:1028900002E08B511200000CD9CFE6FFE1CFD9FF47 -:1028A000020EE126E66A010EE66EFE0EDBCFE6FFC3 -:1028B00050DFE552E552E552DE6ADD6ADECF00F018 -:1028C000DDCF01F0FC0EDBCF02F0FD0EDBCF03F01D -:1028D0000250005C0350015818E20001865104E0E8 -:1028E0000001A76B010E16D00000000000000000E0 -:1028F00000000000000000000000000000000000D8 -:10290000DF2A010E01E3DB2AD9D70001010EA76FF0 -:10291000000E00D0006E020EE15C02E2E16AE552B8 -:10292000E16E0050E552E7CFD9FF120072D9E66A96 -:10293000060E19D932D135D9030E15D92ED119D990 -:1029400082D902E2E16AE552E16E27D1D9CFE6FFF2 -:10295000E1CFD9FF020EE126FD0EDBCFE6FFE66AEE -:102960007DDFE552E552010EE66E010EE66E76DF82 -:10297000E552E552020EE66E020EE66EFE0EDBCF6B -:10298000E6FFE7DEE552E552E552DE6ADD6ADECFBC -:1029900000F0DDCF01F00A0E2A6E2B6AFB0EDBCFB2 -:1029A0002FF0FC0EDBCF30F0B4EC17F028C002F0B3 -:1029B00029C003F00250005C0350015819E20001E5 -:1029C000865105E00001A76B00018C5116D0000074 -:1029D00000000000000000000000000000000000F7 -:1029E000000000000000DF2A010E01E3DB2ACFD740 -:1029F0000001010EA76F000E00D0006E020EE15C18 -:102A000002E2E16AE552E16E0050E552E7CFD9FFFC -:102A10001200D9CFE6FFE1CFD9FF040EE126FD0E6B -:102A2000DBCFE6FFE66A1ADFE552E552020EE66EFC -:102A3000010EE66E13DFE552E552020EE66E020E5F -:102A4000E66EFE0EDBCFE6FF84DEE552E552E55290 -:102A5000DE6ADD6ADECF00F0DDCF01F00A0E2A6EFD -:102A60002B6AFB0EDBCF2FF0FC0EDBCF30F0B4EC8B -:102A700017F028C002F029C003F00250005C035098 -:102A8000015827E20001865113E00001A76B030EF5 -:102A90008DC0DBFF020E8CC0DBFF020EDBCF00F02F -:102AA000030EDBCF01F000C0F3FF01C0F4FF17D02D -:102AB0000000000000000000000000000000000016 -:102AC0000000000000000000DF2A010E01E3DB2A05 -:102AD000C1D70001010EA76FF36AF46A00D0040E9B -:102AE000E15C02E2E16AE552E16EE552E7CFD9FF2F -:102AF000120057D8040E37D850D03BD8040EA3D8B4 -:102B000002E2E16AE552E16E48D083D8E66A050E3A -:102B10002AD843D07ED8020EE1261E0EE66EE66A63 -:102B20009ED8FC0E67D893D8FA0E64D8030E6ED8E0 -:102B3000010EDBCFE6FF040E69D8F90EDB5004E18D -:102B4000050EE66E030E03D0050EE66E040E7BD86E -:102B500002E2E16AE552E16E20D03ED8240E5ED05A -:102B60003BD8260E5BD0E66EFE0EDBCFE6FFF1DD36 -:102B70007AD04FD8020EE126FB0EDBCFDEFFDBCF93 -:102B8000DDFF5BD8DFCFE6FF62D8030EE66E1200F2 -:102B9000FE0EDBCFE6FF030E4BD0E552E7CFD9FFA9 -:102BA000120037D84AD8FC0EDBCFE6FF010E2ED834 -:102BB000020EE66E1200E66EE66A7C0EE66EC9EC68 -:102BC0001CF051D0100EE66E040E32D00024E96ED7 -:102BD000000EDA20EA6E12001CD8FC0EDBCFE6FFF6 -:102BE000FD0EDBCFE6FF1200EA6A870FE96E000EEA -:102BF000EA221200DBCFDEFFDBCFDDFFDFCFE6FF17 -:102C00001200E66E10EC1FF0E5521200E66E2FEF98 -:102C100016F0D9CFE6FFE1CFD9FF1200E66EFE0E27 -:102C2000DBCFE6FFF6DEE552E552E552E552B5D7D9 -:102C3000E66EFE0EE66E7FDE16D0FD0EDBCFE6FF03 -:102C4000E66A2FEF16F08FDF020EE15C1200010E34 -:102C5000DDDF010EDBCFE6FF020E06EF16F0FEDD34 -:0E2C6000E552E5521200E552E552E55212002F -:022C6E00239EA3 -:102C700005D0239E2BAE02D02B6C238E2BC025F0CB -:102C8000246A356A346A860E266E276A1DEF18F0AC -:102C9000239E08D0239E2BAE05D02A6C2B1EE86AFB -:102CA0002B22238E2BC025F02AC024F0356A346AEB -:102CB0008E0E266E276A1DEF18F0317E236A59ECBE -:102CC00018F071EC18F023B601EF18F023A20AD027 -:102CD00023AA03D023BE01EF18F023A40DEF18F0B0 -:102CE0000AEF18F023AA05D023AC0DEF18F00AEF75 -:102CF00018F023A00AD023A808D023BE04D023A410 -:102D000002D016EF18F01AEF18F0346A276A315023 -:102D10002C5C336E10E329C035F02AC024F02BC0A0 -:102D200025F02CC032F02EC029F02FC02AF030C080 -:102D30002BF0233A09D02EC035F02FC024F030C03C -:102D400025F031C032F0336C239E23BC238E32C079 -:102D500026F023B049EF18F01A0E336049EF18F04F -:102D6000266A2C6A23A408D0296C2A1E2B1E2C1E2E -:102D7000E86A2A222B222C2223AC08D0356C241E90 -:102D8000251E261EE86A242225222622286A33527E -:102D900007E02C342B322A3229322832332EF9D74D -:102DA000295035262A5024222B5025222C50262209 -:102DB00028C034F0239E26AE0BD0346C351E241E62 -:102DC000251E261EE86A3522242225222622238E4D -:102DD00026A006D0D8802532243235323432322A29 -:102DE00032C026F01DEF18F0236A59EC18F071EC90 -:102DF00018F023B601EF18F023A205D023BA01EF93 -:102E000018F008EF18F023BA14EF18F023A005D03B -:102E100023B801EF18F014EF18F023B808EF18F0FA -:102E2000276A7F0E2C24266EE86A27223150265E00 -:102E3000E86A275A1A0E326E2C6A346A356A246A96 -:102E4000256A2E50295E2F502A5A30502B5A000ED8 -:102E50002C5A09E72E5029262F502A2230502B2297 -:102E6000000E2C2201D0348AD89029362A362B36EF -:102E70002C36D8903436353624362536322EE1D7E6 -:102E80002B502A102910D8A4348A1DEF18F0236A79 -:102E900059EC18F071EC18F023B601EF18F023A2EA -:102EA00005D023B801EF18F008EF18F023AA05D0D9 -:102EB00023B001EF18F008EF18F023B002D023A8D8 -:102EC00002D014EF18F0276A31502C24266EE86ADD -:102ED00027227E0E265EE86A275A346A356A246AFB -:102EE000256A30502B02F4CF25F0F3CF24F02F5079 -:102EF0002B02F3503526F4502422000E25223050A8 -:102F00002A02F3503526F4502422000E25222E509A -:102F10002B02F3503426F4503522000E24222522B1 -:102F20002F502A02F3503426F4503522000E24226A -:102F3000252230502902F3503426F4503522000E59 -:102F4000242225222E502A02F4503426000E352247 -:102F5000242225222F502902F4503426000E352237 -:102F6000242225221DEF18F02AC034F02A502F0207 -:102F7000F4CF29F0F3CF28F02B503002F4CF2BF010 -:102F8000F3CF2AF02F02F3502926F4502A22E86AC0 -:102F90002B2234503002F3502926F4502A22E86ABA -:102FA0002B22000C236A59EC18F023B6DCEF17F043 -:102FB00023A20ED023B405D07F0E2B6EFF0E2A6EF7 -:102FC0001FD0800E2B6E2A6A1BD02B6A2A6A18D05B -:102FD00023B0FBD78F0E2C60EDD77E0E2C64F5D777 -:102FE0008E0E2C5C05E0D8902B322A322C2AF8D792 -:102FF00023A406D02A6C2B1EE86A2B222BAEE5D721 -:1030000012007F0E2C6EFF0E2B6E2A6E296E1200A0 -:103010007F0E23BEFF0E2C6E02D07F0E2C6E800E14 -:103020002B6E2A6A296AF3D723AE04D0800E2C6E49 -:103030002B6AF7D72C6A2B6AF4D725502410351049 -:103040003410F8E027BEF0D725BE0CD0265027104C -:10305000EBE0D89034363536243625362606D8A00F -:103060002706F2D72750D4E12628D2E034AE11D07B -:103070007F0E341402E135A00CD0352AE86A2422F0 -:10308000252207E3D880253224323532262A262805 -:10309000BFE02650C9E035C029F024C02AF025340D -:1030A0002B6E26302C6E2B322C9E23BE2C8E07EFDF -:1030B00018F02B362C3602E32384237E06E123808E -:1030C0002C6A2B6A2A6A296A12002C2803E0D8800D -:1030D0002B321200D8902B3202E123821200238679 -:1030E00012003036313602E3238C237E06E123883A -:1030F000316A306A2F6A2E6A1200312803E0D880C4 -:0E31000030321200D8903032EAE1238A1200F9 -:02310E008394A8 -:103110008396839880928292050E0101105D0EE2E3 -:10312000010E10C1E7FFE75204E0E846FE0BE70698 -:10313000FCE101010F1502E1102BEED7050E105D29 -:1031400060E21051040A10E0070A0CE0010A08E0EE -:10315000030A04E0010A09E1838407D0838605D0CD -:10316000838803D0808201D082821051D9D8EFCFDA -:1031700002F0036A02BE03680A0E2A6E2B6A02C0BE -:103180002FF003C030F0B4EC17F028C... [truncated message content] |