+               #if defined(__AVR_AT90USB1286__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x97\r
+                       #define AVR_SIGNATURE_3               0x82\r
+               #elif defined(__AVR_AT90USB1287__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x97\r
+                       #define AVR_SIGNATURE_3               0x82\r
+               #elif defined(__AVR_AT90USB646__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x96\r
+                       #define AVR_SIGNATURE_3               0x82\r
+               #elif defined(__AVR_AT90USB647__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x96\r
+                       #define AVR_SIGNATURE_3               0x82\r
+               #elif defined(__AVR_AT90USB162__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x94\r
+                       #define AVR_SIGNATURE_3               0x82\r
+               #elif defined(__AVR_AT90USB82__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x94\r
+                       #define AVR_SIGNATURE_3               0x82\r
+               #elif defined(__AVR_ATmega32U6__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x95\r
+                       #define AVR_SIGNATURE_3               0x88\r
+               #elif defined(__AVR_ATmega32U4__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x95\r
+                       #define AVR_SIGNATURE_3               0x87\r
+               #elif defined(__AVR_ATmega16U4__)\r
+                       #define AVR_SIGNATURE_1               0x1E\r
+                       #define AVR_SIGNATURE_2               0x94\r
+                       #define AVR_SIGNATURE_3               0x88\r
+               #else\r
+                       #error The selected AVR part is not currently supported by this bootloader.\r
+               #endif\r
+\r