diff --git a/hardware/arduino/bootloaders/caterina_LUFA/Board/LEDs.h b/hardware/arduino/bootloaders/caterina_LUFA/Board/LEDs.h new file mode 100755 index 000000000..d73b0bc4d --- /dev/null +++ b/hardware/arduino/bootloaders/caterina_LUFA/Board/LEDs.h @@ -0,0 +1,128 @@ +/* + LUFA Library + Copyright (C) Dean Camera, 2011. + + dean [at] fourwalledcubicle [dot] com + www.lufa-lib.org +*/ + +/* + Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com) + + Permission to use, copy, modify, distribute, and sell this + software and its documentation for any purpose is hereby granted + without fee, provided that the above copyright notice appear in + all copies and that both that the copyright notice and this + permission notice and warranty disclaimer appear in supporting + documentation, and that the name of the author not be used in + advertising or publicity pertaining to distribution of the + software without specific, written prior permission. + + The author disclaim all warranties with regard to this + software, including all implied warranties of merchantability + and fitness. In no event shall the author be liable for any + special, indirect or consequential damages or any damages + whatsoever resulting from loss of use, data or profits, whether + in an action of contract, negligence or other tortious action, + arising out of or in connection with the use or performance of + this software. +*/ + +#ifndef __LEDS_LEONARDO_H__ +#define __LEDS_LEONARDO_H__ + + /* Enable C linkage for C++ Compilers: */ + #if defined(__cplusplus) + extern "C" { + #endif + + /* Preprocessor Checks: */ + #if !defined(__INCLUDE_FROM_LEDS_H) + #error Do not include this file directly. Include LUFA/Drivers/Board/LEDS.h instead. + #endif + + /* Public Interface - May be used in end-application: */ + /* Macros: */ + /** LED mask for the TX LED on the board. */ + #define LEDS_TX_LED (1 << 5) + #define LEDS_TX_LED_DDR DDRD + #define LEDS_TX_LED_PORT PORTD + + /** LED mask for the RX LED on the board. */ + #define LEDS_RX_LED (1 << 0) + #define LEDS_RX_LED_DDR DDRB + #define LEDS_RX_LED_PORT PORTB + + /** LED mask for the "L" LED on the board. */ + #define LEDS_L_LED (1 << 7) + #define LEDS_L_LED_DDR DDRC + #define LEDS_L_LED_PORT PORTC + + /** LED mask for all the LEDs on the board. */ + #define LEDS_ALL_LEDS (LEDS_TX_LED | LEDS_RX_LED | LEDS_L_LED) + + /** LED mask for none of the board LEDs. */ + #define LEDS_NO_LEDS 0 + + /* Inline Functions: */ + #if !defined(__DOXYGEN__) + static inline void LEDs_Init(void) + { + LEDS_TX_LED_DDR |= LEDS_TX_LED; + LEDS_RX_LED_DDR |= LEDS_RX_LED; + LEDS_L_LED_DDR |= LEDS_L_LED; + LEDS_TX_LED_PORT |= LEDS_TX_LED; + LEDS_RX_LED_PORT |= LEDS_RX_LED; + LEDS_L_LED_PORT &= ~LEDS_L_LED; // unlike TX and RX LEDs, L LED is active-high + } + + static inline void LEDs_TurnOnLEDs(const uint8_t LEDMask) + { + LEDS_TX_LED_PORT &= ~(LEDMask & LEDS_TX_LED); + LEDS_RX_LED_PORT &= ~(LEDMask & LEDS_RX_LED); + LEDS_L_LED_PORT |= (LEDMask & LEDS_L_LED); + } + + static inline void LEDs_TurnOffLEDs(const uint8_t LEDMask) + { + LEDS_TX_LED_PORT |= (LEDMask & LEDS_TX_LED); + LEDS_RX_LED_PORT |= (LEDMask & LEDS_RX_LED); + LEDS_L_LED_PORT &= ~(LEDMask & LEDS_L_LED); + } + + static inline void LEDs_SetAllLEDs(const uint8_t LEDMask) + { +// PORTD = ((PORTD & ~LEDS_ALL_LEDS) | LEDMask); + LEDs_TurnOffLEDs(LEDS_ALL_LEDS); + LEDs_TurnOnLEDs(LEDMask); + } + + static inline void LEDs_ChangeLEDs(const uint8_t LEDMask, + const uint8_t ActiveMask) + { + LEDs_TurnOffLEDs(LEDMask); + LEDs_TurnOnLEDs(ActiveMask); + } + + static inline void LEDs_ToggleLEDs(const uint8_t LEDMask) + { + LEDS_TX_LED_PORT ^= (LEDMask & LEDS_TX_LED); + LEDS_RX_LED_PORT ^= (LEDMask & LEDS_RX_LED); + LEDS_L_LED_PORT ^= (LEDMask & LEDS_L_LED); + } + + static inline uint8_t LEDs_GetLEDs(void) ATTR_WARN_UNUSED_RESULT; + static inline uint8_t LEDs_GetLEDs(void) + { + return ((LEDS_TX_LED_PORT & LEDS_TX_LED) | (LEDS_RX_LED_PORT & LEDS_RX_LED) | (LEDS_L_LED_PORT & LEDS_L_LED)); + } + #endif + + /* Disable C linkage for C++ Compilers: */ + #if defined(__cplusplus) + } + #endif + +#endif + + diff --git a/hardware/arduino/bootloaders/caterina_LUFA/Caterina.hex b/hardware/arduino/bootloaders/caterina_LUFA/Caterina.hex index 79bf083a6..c304a5096 100644 --- a/hardware/arduino/bootloaders/caterina_LUFA/Caterina.hex +++ b/hardware/arduino/bootloaders/caterina_LUFA/Caterina.hex @@ -1,6 +1,6 @@ :1070000055C000006EC000006CC000006AC00000E7 :1070100068C0000066C0000064C0000062C00000DC -:1070200060C000005EC0000040C400005AC0000004 +:1070200060C000005EC0000047C400005AC00000FD :1070300058C0000056C0000054C0000052C00000FC :1070400050C000004EC000004CC000004AC000000C :1070500049C0000046C0000044C0000042C000001B @@ -9,11 +9,11 @@ :1070800030C000002EC000002CC000002AC000004C :1070900028C0000026C0000024C0000022C000005C :1070A00020C000001EC000001CC0000011241FBE34 -:1070B000CFEFDAE0DEBFCDBF11E0A0E0B1E0EEEC53 +:1070B000CFEFDAE0DEBFCDBF11E0A0E0B1E0ECED54 :1070C000FDE702C005900D92AC38B107D9F711E089 -:1070D000ACE8B1E001C01D92AA39B107E1F719D3BC -:1070E00074C68ECF1F920F920FB60F9211248F93FA -:1070F0009F938BB190E389278BB99F918F910F90CC +:1070D000ACE8B1E001C01D92AA39B107E1F71BD3BA +:1070E0007BC68ECF1F920F920FB60F9211248F93F3 +:1070F0008BB18BB985B185B988B188B98F910F9063 :107100000FBE0F901F90189584E08093E9000DC08A :107110008091E8008B778093E80003C08EB38823CA :1071200051F08091E80082FFF9CF8091E80085FF5F @@ -52,7 +52,7 @@ :10733000EE29FF29E4918E2FFFDEDD2081F082E02F :1073400090E0A0E0B0E0E80EF91E0A1F1B1FE092DB :107350008C01F0928D0100938E0110938F01DC243B -:1073600018C0D801C701B695A7959795879517D5E9 +:1073600018C0D801C701B695A795979587951ED5E2 :10737000E3DE82E090E0A0E0B0E0E80EF91E0A1F34 :107380001B1FE0928C01F0928D0100938E011093EF :107390008F012197209709F0BECF19C180908C01F1 @@ -66,7 +66,7 @@ :107410008D0100938E0110938F0102C075DE582EEE :10742000742423C0E0908C01F0908D0100918E01B6 :1074300010918F0116950795F794E79465DE682FF4 -:10744000C701B5D480918C0190918D01A0918E01DE +:10744000C701BCD480918C0190918D01A0918E01D7 :10745000B0918F010296A11DB11D80938C01909374 :107460008D01A0938E01B0938F01219704C0552404 :10747000772444244394209709F0A5CF96E4691615 @@ -83,12 +83,12 @@ :10752000E0918C01F0918D0105911491812F04DE81 :10753000802F4CC0843421F5E0908C01F0908D01B7 :1075400000918E0110918F0116950795F794E7949D -:10755000DBDD682FC7012BD480918C0190918D01C8 +:10755000DBDD682FC70132D480918C0190918D01C1 :10756000A0918E01B0918F010296A11DB11D809353 :107570008C0190938D01A0938E01B0938F0115CE55 :10758000843609F5E0908C01F0908D0100918E0118 :1075900010918F01D801C701B695A795979587954A -:1075A000FED3CADD82E090E0A0E0B0E0E80EF91E74 +:1075A00005D4CADD82E090E0A0E0B0E0E80EF91E6C :1075B0000A1F1B1FE0928C01F0928D0100938E0137 :1075C00010938F0104C08B3111F08FE3B5DD83E0A0 :1075D0008093E9009091E8008091E8008E77809395 @@ -98,135 +98,136 @@ :1076100084E08093E9008091E8008B778093E80014 :10762000DF91CF911F910F91FF90EF90DF90CF905E :10763000BF90AF909F908F907F906F905F904F9092 -:10764000089520919201822F8F77813269F58BB155 -:1076500090E389278BB9809193018032A1F0813228 -:1076600019F5213A09F58091E800877F8093E800B9 -:1076700089E091E067E070E0C9D18091E8008B7704 -:107680008093E8000895213279F48091E800877FA3 -:107690008093E80089E091E067E070E01BD2809180 -:1076A000E8008E778093E800089582E061EC42E084 -:1076B00073D083E061E842E16FD084E060E842E1AA -:1076C0006BC01F9384B7877F84BF88E10FB6F8949F -:1076D00080936000109260000FBE80E090E020E890 -:1076E0000FB6F89420936100809361000FBE11E003 -:1076F00015BF82E085BFC1D08AB1806F8AB98BB1D6 -:107700008F708BB910936F0083E0809381001F917D -:107710000895D7DF8BB18F7080618BB9789402C0E8 -:1077200023DD2BD3809108018823D1F78091E000DD -:1077300081608093E0002CE088E190E00FB6F8943F -:10774000A895809360000FBE20936000FFCFFA01E0 -:10775000923071F0933089F0913029F480E191E01A -:1077600022E130E015C080E090E020E030E010C081 -:1077700082E291E02EE330E00BC0882329F480E61A -:1077800091E024E030E004C084E691E026E230E0BD -:1077900091838083C90108958093E9008091EB0073 -:1077A00081608093EB001092ED006093EC004093B9 -:1077B000ED008091EE00881F8827881F0895809132 -:1077C000920188238CF403C08EB38823B1F080919A -:1077D000E80082FFF9CF8091E8008B778093E80082 -:1077E00008958EB3882349F08091E80080FFF9CF97 -:1077F0008091E8008E778093E8000895EF92FF92E1 -:107800000F931F9345D04CD008ED10E0F801808114 -:107810008F77808380818068808380818F7D808363 -:1078200019BC1EBA1092900180EEE82EF12CF701DF -:1078300080818B7F8083F80180818160808380E0FC -:1078400060E042E0A9DFE1EEF0E080818E7F80839E -:10785000E2EEF0E0808181608083808188608083B7 -:10786000F70180818E7F8083F80180818061808331 -:107870001F910F91FF90EF900895E7EDF0E0808168 -:10788000816080838AE482BF81E080939101B6CFDA -:10789000E8EDF0E080818E7F80831092E200089511 -:1078A0001092DA001092E10008951F920F920FB625 -:1078B0000F9211242F933F934F935F936F937F9376 -:1078C0008F939F93AF93BF93EF93FF938091DA00D1 -:1078D00080FF1BC08091D80080FF17C08091DA0024 -:1078E0008E7F8093DA008091D90080FF0BC080E109 -:1078F00089BD82E189BD09B400FEFDCF81E08EBB68 -:107900003BD203C019BC1EBA37D28091E10080FF80 -:1079100017C08091E20080FF13C08091E2008E7F4B -:107920008093E2008091E20080618093E200809188 -:10793000D80080628093D80019BC85E08EBB1CD231 -:107940008091E10084FF2CC08091E20084FF28C078 -:1079500080E189BD82E189BD09B400FEFDCF80913F -:10796000D8008F7D8093D8008091E1008F7E809336 -:10797000E1008091E2008F7E8093E2008091E2003E -:1079800081608093E20080919001882331F480919E -:10799000E30087FD02C081E001C084E08EBBECD132 -:1079A0008091E10083FF21C08091E20083FF1DC030 -:1079B0008091E100877F8093E10082E08EBB10928E -:1079C00090018091E1008E7F8093E1008091E20040 -:1079D0008E7F8093E2008091E20080618093E200DC -:1079E00080E060E042E0D8DEC7D1FF91EF91BF9127 -:1079F000AF919F918F917F916F915F914F913F9147 -:107A00002F910F900FBE0F901F9018959C014091E1 -:107A10009801509199014617570718F4F90190E021 -:107A200044C06115710511F0AB01F8CF8091E800F9 -:107A30008E778093E80040E050E0F0CF8EB388234B -:107A400009F444C0853009F443C08091E80083FF05 -:107A500002C081E008958091E80082FD31C08091EC -:107A6000E80080FF22C08091F3009091F200782F0F -:107A700060E0292F30E0262B372B07C081918093BF -:107A8000F100415050402F5F3F4F4115510519F013 -:107A90002830310598F390E02830310509F491E061 -:107AA0008091E8008E778093E8004115510531F60A -:107AB000992321F605C08EB3882341F0853041F02B -:107AC0008091E80082FFF7CF80E0089582E008957A -:107AD00083E008959C016115710529F48091E80007 -:107AE0008B778093E800F90126C08EB3882391F14B -:107AF000853091F18091E80083FF02C081E0089514 -:107B00008091E80082FFF1CF06C08091F10081935F -:107B10006150704059F02091F3008091F200322FB3 -:107B200020E090E0822B932B892B79F78091E8005D -:107B30008B778093E80061157105B9F605C08EB3A7 -:107B4000882341F0853041F08091E80080FFF7CF35 -:107B500080E0089582E0089583E008950F931F93D5 -:107B6000DF93CF9300D0CDB7DEB7E2E9F1E08091AB -:107B7000F100819381E0EA39F807C9F762DD80916D -:107B8000E80083FFE4C080919201909193019530C9 -:107B900009F46DC0963040F4913081F1913070F06D -:107BA000933009F0D4C02AC0983009F4A3C09930AA -:107BB00009F4B2C0963009F0CAC07CC0803809F41C -:107BC000C6C0823809F0C3C0809196018770809347 -:107BD000E9008091EB001092E9002091E800277FF6 -:107BE0002093E80090E025E0969587952A95E1F7A7 -:107BF00081708093F1001092F10087C0882319F002 -:107C0000823009F0A4C08F71823009F0A0C0809149 -:107C10009401882331F520919601277009F497C0CB -:107C20002093E9008091EB0080FF1BC0933021F48A -:107C30008091EB00806213C08091EB0080618093A3 -:107C4000EB0081E090E002C0880F991F2A95E2F7CF -:107C50008093EA001092EA008091EB0088608093A4 -:107C6000EB001092E9008091E800877F51C08823E3 -:107C700009F06DC0109194011F770FB7F8948091AF -:107C8000E800877F8093E8009ADD8091E80080FF1C -:107C9000FCCF8091E3008078812B8093E3008068A3 -:107CA0008093E300112311F482E001C083E08EBBD6 -:107CB0000FBF4DC08058823008F049C080919401B8 -:107CC0009091950160919601AE014F5F5F4F3FDD4E -:107CD000BC01009709F43BC08091E800877F809346 -:107CE000E80089819A8192DE8091E8008B77809309 -:107CF000E8002DC0803859F58091E800877F809397 -:107D0000E800809190018093F1008091E8008E77E7 -:107D10008093E80054DD1BC08823C9F4909194013E -:107D20009230A8F48091E800877F8093E8009093D8 -:107D3000900145DD80919001882331F48091E3002A -:107D400087FD02C081E001C084E08EBBAEDC809183 -:107D5000E80083FF0AC08091EB0080628093EB0013 -:107D60008091E800877F8093E8000F900F90CF917B -:107D7000DF911F910F91089508951F938EB388236B -:107D800061F01091E9001092E9008091E80083FF12 -:107D900001C0E4DE17701093E9001F910895F9996E -:107DA000FECF92BD81BDF89A992780B50895262F00 -:107DB000F999FECF1FBA92BD81BD20BD0FB6F894D0 -:0E7DC000FA9AF99A0FBE01960895F894FFCF33 -:107DCE004C554641434443000100000000000008AA -:107DDE001201100102000008EB034A20010000010D -:107DEE00000109023E000201008032090400000178 -:107DFE0002020100052400100104240204052406D9 -:107E0E000001070582030800FF09040100020A00B1 -:107E1E00000007050402100001070583021000018F -:107E2E0004030904260341005600520020004300BB -:107E3E0044004300200042006F006F0074006C008D -:0C7E4E006F00610064006500720000001D +:10764000089590919201892F8F77813279F58BB1CE +:107650008BB985B185B988B188B9809193018032A1 +:10766000A1F0813219F5913A09F58091E800877F00 +:107670008093E80089E091E067E070E0CED18091EE +:10768000E8008B778093E8000895913279F4809137 +:10769000E800877F8093E80089E091E067E070E090 +:1076A00020D28091E8008E778093E800089582E0F0 +:1076B00061EC42E078D083E061E842E174D084E09C +:1076C00060E842E170C01F9384B7877F84BF88E180 +:1076D0000FB6F89480936000109260000FBE80E0B7 +:1076E00090E020E80FB6F894209361008093610049 +:1076F0000FBE11E015BF82E085BFC6D0559A209A13 +:107700003F9A5D9A289A479810936F0083E0809380 +:1077100081001F910895D7DF5D9A289A47988BB111 +:107720008BB985B185B988B188B9789402C01CDD60 +:107730002BD3809108018823D1F78091E0008160EC +:107740008093E0002CE088E190E00FB6F894A895D3 +:10775000809360000FBE20936000FFCFFA0192304B +:1077600071F0933089F0913029F480E191E022E1C9 +:1077700030E015C080E090E020E030E010C082E210 +:1077800091E02EE330E00BC0882329F480E691E0FD +:1077900024E030E004C084E691E026E230E091830A +:1077A0008083C90108958093E9008091EB00816096 +:1077B0008093EB001092ED006093EC004093ED009D +:1077C0008091EE00881F8827881F0895809192017C +:1077D00088238CF403C08EB38823B1F08091E80035 +:1077E00082FFF9CF8091E8008B778093E8000895BD +:1077F0008EB3882349F08091E80080FFF9CF809113 +:10780000E8008E778093E8000895EF92FF920F933F +:107810001F9345D04CD008ED10E0F80180818F77A0 +:10782000808380818068808380818F7D808319BC84 +:107830001EBA1092900180EEE82EF12CF7018081A3 +:107840008B7F8083F80180818160808380E060E0AD +:1078500042E0A9DFE1EEF0E080818E7F8083E2EEFE +:10786000F0E0808181608083808188608083F7017F +:1078700080818E7F8083F8018081806180831F9169 +:107880000F91FF90EF900895E7EDF0E08081816027 +:1078900080838AE482BF81E080939101B6CFE8EDD6 +:1078A000F0E080818E7F80831092E2000895109234 +:1078B000DA001092E10008951F920F920FB60F9216 +:1078C00011242F933F934F935F936F937F938F93E5 +:1078D0009F93AF93BF93EF93FF938091DA0080FF64 +:1078E0001BC08091D80080FF17C08091DA008E7F86 +:1078F0008093DA008091D90080FF0BC080E189BDC0 +:1079000082E189BD09B400FEFDCF81E08EBB3BD290 +:1079100003C019BC1EBA37D28091E10080FF17C0A6 +:107920008091E20080FF13C08091E2008E7F8093FF +:10793000E2008091E20080618093E2008091D800B3 +:1079400080628093D80019BC85E08EBB1CD28091E8 +:10795000E10084FF2CC08091E20084FF28C080E118 +:1079600089BD82E189BD09B400FEFDCF8091D800B8 +:107970008F7D8093D8008091E1008F7E8093E1001D +:107980008091E2008F7E8093E2008091E20081602E +:107990008093E20080919001882331F48091E3008C +:1079A00087FD02C081E001C084E08EBBECD18091F4 +:1079B000E10083FF21C08091E20083FF1DC0809120 +:1079C000E100877F8093E10082E08EBB10929001FE +:1079D0008091E1008E7F8093E1008091E2008E7FB4 +:1079E0008093E2008091E20080618093E20080E079 +:1079F00060E042E0D8DEC7D1FF91EF91BF91AF9137 +:107A00009F918F917F916F915F914F913F912F91B6 +:107A10000F900FBE0F901F9018959C0140919801F8 +:107A2000509199014617570718F4F90190E044C0A6 +:107A30006115710511F0AB01F8CF8091E8008E77E8 +:107A40008093E80040E050E0F0CF8EB3882309F443 +:107A500044C0853009F443C08091E80083FF02C030 +:107A600081E008958091E80082FD31C08091E800B6 +:107A700080FF22C08091F3009091F200782F60E0A7 +:107A8000292F30E0262B372B07C081918093F100FE +:107A9000415050402F5F3F4F4115510519F028309C +:107AA000310598F390E02830310509F491E0809198 +:107AB000E8008E778093E8004115510531F699234F +:107AC00021F605C08EB3882341F0853041F08091C6 +:107AD000E80082FFF7CF80E0089582E0089583E018 +:107AE00008959C016115710529F48091E8008B7758 +:107AF0008093E800F90126C08EB3882391F1853088 +:107B000091F18091E80083FF02C081E008958091A7 +:107B1000E80082FFF1CF06C08091F10081936150AF +:107B2000704059F02091F3008091F200322F20E054 +:107B300090E0822B932B892B79F78091E8008B774B +:107B40008093E80061157105B9F605C08EB38823EE +:107B500041F0853041F08091E80080FFF7CF80E070 +:107B6000089582E0089583E008950F931F93DF93B3 +:107B7000CF9300D0CDB7DEB7E2E9F1E08091F1001C +:107B8000819381E0EA39F807C9F75BDD8091E8006D +:107B900083FFE4C08091920190919301953009F4A4 +:107BA0006DC0963040F4913081F1913070F0933097 +:107BB00009F0D4C02AC0983009F4A3C0993009F460 +:107BC000B2C0963009F0CAC07CC0803809F4C6C083 +:107BD000823809F0C3C08091960187708093E900D4 +:107BE0008091EB001092E9002091E800277F20931C +:107BF000E80090E025E0969587952A95E1F7817059 +:107C00008093F1001092F10087C0882319F0823030 +:107C100009F0A4C08F71823009F0A0C08091940156 +:107C2000882331F520919601277009F497C020939D +:107C3000E9008091EB0080FF1BC0933021F480911C +:107C4000EB00806213C08091EB0080618093EB00B9 +:107C500081E090E002C0880F991F2A95E2F7809397 +:107C6000EA001092EA008091EB0088608093EB00BC +:107C70001092E9008091E800877F51C0882309F0C5 +:107C80006DC0109194011F770FB7F8948091E800B0 +:107C9000877F8093E8009ADD8091E80080FFFCCF29 +:107CA0008091E3008078812B8093E300806880934B +:107CB000E300112311F482E001C083E08EBB0FBF0B +:107CC0004DC08058823008F049C080919401909155 +:107CD000950160919601AE014F5F5F4F3FDDBC01A2 +:107CE000009709F43BC08091E800877F8093E8000B +:107CF00089819A8192DE8091E8008B778093E800F9 +:107D00002DC0803859F58091E800877F8093E80086 +:107D1000809190018093F1008091E8008E778093AC +:107D2000E80054DD1BC08823C9F49091940192307F +:107D3000A8F48091E800877F8093E80090939001F9 +:107D400045DD80919001882331F48091E30087FD27 +:107D500002C081E001C084E08EBBA9DC8091E80014 +:107D600083FF0AC08091EB0080628093EB008091DA +:107D7000E800877F8093E8000F900F90CF91DF910C +:107D80001F910F91089508951F938EB3882361F07A +:107D90001091E9001092E9008091E80083FF01C092 +:107DA000E4DE17701093E9001F910895F999FECF52 +:107DB00092BD81BDF89A992780B50895262FF9992B +:107DC000FECF1FBA92BD81BD20BD0FB6F894FA9ABE +:0C7DD000F99A0FBE01960895F894FFCFB9 +:107DDC004C5546414344430001000000000000089C +:107DEC001201100102000008EB034A2001000001FF +:107DFC00000109023E00020100803209040000016A +:107E0C0002020100052400100104240204052406CA +:107E1C000001070582030800FF09040100020A00A3 +:107E2C000000070504021000010705830210000181 +:107E3C0004030904260341005600520020004300AD +:107E4C0044004300200042006F006F0074006C007F +:0C7E5C006F00610064006500720000000F :040000030000700089 :00000001FF