+       puts_P(PSTR("Getting Config Data.\r\n"));
+
+       uint8_t ErrorCode;
+
+       /* Get and process the configuration descriptor data */
+       if ((ErrorCode = ProcessConfigurationDescriptor()) != SuccessfulConfigRead)
+       {
+               if (ErrorCode == ControlError)
+                 puts_P(PSTR(ESC_FG_RED "Control Error (Get Configuration).\r\n"));
+               else
+                 puts_P(PSTR(ESC_FG_RED "Invalid Device.\r\n"));
+
+               printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+               return;
+       }
+
+       /* Set the device configuration to the first configuration (rarely do devices use multiple configurations) */
+       if ((ErrorCode = USB_Host_SetDeviceConfiguration(1)) != HOST_SENDCONTROL_Successful)
+       {
+               printf_P(PSTR(ESC_FG_RED "Control Error (Set Configuration).\r\n"
+                                        " -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+               return;
+       }
+
+       printf_P(PSTR("Processing HID Report (Size %d Bytes).\r\n"), HIDReportSize);
+
+       /* Get and process the device's first HID report descriptor */
+       if ((ErrorCode = GetHIDReportData()) != ParseSuccessful)
+       {
+               puts_P(PSTR(ESC_FG_RED "Report Parse Error.\r\n"));
+
+               if (!(HIDReportInfo.TotalReportItems))
+                       puts_P(PSTR("Not a valid Mouse." ESC_FG_WHITE));
+               else
+                       printf_P(PSTR(" -- Error Code: %d\r\n" ESC_FG_WHITE), ErrorCode);
+
+               LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
+               USB_Host_SetDeviceConfiguration(0);
+               return;
+       }
+
+       puts_P(PSTR("Mouse Enumerated.\r\n"));