0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x04, /* Usage (Joystick), */ 0xA1, 0x01, /* Collection (Application), */ 0x85, 0x04, /* Report ID (4), */ 0x09, 0x01, /* Usage (Pointer), */ 0xA1, 0x00, /* Collection (Physical), */ 0x09, 0x30, /* Usage (X), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x31, /* Usage (Y), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x32, /* Usage (Z), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x33, /* Usage (Rx), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x34, /* Usage (Ry), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x35, /* Usage (Rz), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x36, /* Usage (Slider), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x37, /* Usage (Dial), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x80, /* Report Count (128), */ 0x05, 0x09, /* Usage Page (Button), */ 0x19, 0x01, /* Usage Minimum (01h), */ 0x29, 0x80, /* Usage Maximum (80h), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0F, /* Usage Page (PID), */ 0x09, 0x92, /* Usage (92h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x02, /* Report ID (2), */ 0x09, 0x9F, /* Usage (9Fh), */ 0x09, 0xA0, /* Usage (A0h), */ 0x09, 0xA4, /* Usage (A4h), */ 0x09, 0xA5, /* Usage (A5h), */ 0x09, 0xA6, /* Usage (A6h), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x45, 0x01, /* Physical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x05, /* Report Count (5), */ 0x81, 0x02, /* Input (Variable), */ 0x95, 0x03, /* Report Count (3), */ 0x81, 0x03, /* Input (Constant, Variable), */ 0x09, 0x94, /* Usage (94h), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x45, 0x01, /* Physical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x07, /* Report Size (7), */ 0x95, 0x01, /* Report Count (1), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x21, /* Usage (21h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x01, /* Report ID (1), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x25, /* Usage (25h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x09, 0x26, /* Usage (26h), */ 0x09, 0x27, /* Usage (27h), */ 0x09, 0x30, /* Usage (30h), */ 0x09, 0x31, /* Usage (31h), */ 0x09, 0x32, /* Usage (32h), */ 0x09, 0x33, /* Usage (33h), */ 0x09, 0x34, /* Usage (34h), */ 0x09, 0x40, /* Usage (40h), */ 0x09, 0x41, /* Usage (41h), */ 0x09, 0x42, /* Usage (42h), */ 0x09, 0x43, /* Usage (43h), */ 0x09, 0x28, /* Usage (28h), */ 0x25, 0x0C, /* Logical Maximum (12), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x0C, /* Physical Maximum (12), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x00, /* Output, */ 0xC0, /* End Collection, */ 0x09, 0x50, /* Usage (50h), */ 0x09, 0x54, /* Usage (54h), */ 0x09, 0x51, /* Usage (51h), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x7F, /* Logical Maximum (32767), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x7F, /* Physical Maximum (32767), */ 0x66, 0x03, 0x10, /* Unit (Seconds), */ 0x55, 0xFD, /* Unit Exponent (-3), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x03, /* Report Count (3), */ 0x91, 0x02, /* Output (Variable), */ 0x55, 0x00, /* Unit Exponent (0), */ 0x66, 0x00, 0x00, /* Unit, */ 0x09, 0x52, /* Usage (52h), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x53, /* Usage (53h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x08, /* Logical Maximum (8), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x08, /* Physical Maximum (8), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x55, /* Usage (55h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x30, /* Usage (X), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0F, /* Usage Page (PID), */ 0x09, 0x56, /* Usage (56h), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x95, 0x06, /* Report Count (6), */ 0x91, 0x03, /* Output (Constant, Variable), */ 0x09, 0x57, /* Usage (57h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x0B, 0x01, 0x00, 0x0A, 0x00, /* Usage (000A0001h), */ 0x0B, 0x02, 0x00, 0x0A, 0x00, /* Usage (000A0002h), */ 0x66, 0x14, 0x00, /* Unit (Degrees), */ 0x55, 0xFE, /* Unit Exponent (-2), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xB4, 0x00, /* Logical Maximum (180), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xA0, 0x8C, 0x00, 0x00, /* Physical Maximum (36000), */ 0x66, 0x00, 0x00, /* Unit, */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x55, 0x00, /* Unit Exponent (0), */ 0x66, 0x00, 0x00, /* Unit, */ 0xC0, /* End Collection, */ 0x05, 0x0F, /* Usage Page (PID), */ 0x66, 0x03, 0x10, /* Unit (Seconds), */ 0x55, 0xFD, /* Unit Exponent (-3), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x7F, /* Logical Maximum (32767), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x7F, /* Physical Maximum (32767), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x66, 0x00, 0x00, /* Unit, */ 0x55, 0x00, /* Unit Exponent (0), */ 0xC0, /* End Collection, */ 0x05, 0x0F, /* Usage Page (PID), */ 0x09, 0x5A, /* Usage (5Ah), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x02, /* Report ID (2), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x5B, /* Usage (5Bh), */ 0x09, 0x5D, /* Usage (5Dh), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x95, 0x02, /* Report Count (2), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x5C, /* Usage (5Ch), */ 0x09, 0x5E, /* Usage (5Eh), */ 0x66, 0x03, 0x10, /* Unit (Seconds), */ 0x55, 0xFD, /* Unit Exponent (-3), */ 0x26, 0xFF, 0x7F, /* Logical Maximum (32767), */ 0x46, 0xFF, 0x7F, /* Physical Maximum (32767), */ 0x75, 0x10, /* Report Size (16), */ 0x91, 0x02, /* Output (Variable), */ 0x45, 0x00, /* Physical Maximum (0), */ 0x66, 0x00, 0x00, /* Unit, */ 0x55, 0x00, /* Unit Exponent (0), */ 0xC0, /* End Collection, */ 0x09, 0x5F, /* Usage (5Fh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x03, /* Report ID (3), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x23, /* Usage (23h), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x45, 0x01, /* Physical Maximum (1), */ 0x75, 0x04, /* Report Size (4), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x58, /* Usage (58h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x0B, 0x01, 0x00, 0x0A, 0x00, /* Usage (000A0001h), */ 0x0B, 0x02, 0x00, 0x0A, 0x00, /* Usage (000A0002h), */ 0x75, 0x02, /* Report Size (2), */ 0x95, 0x02, /* Report Count (2), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x15, 0x80, /* Logical Minimum (-128), */ 0x25, 0x7F, /* Logical Maximum (127), */ 0x36, 0xF0, 0xD8, /* Physical Minimum (-10000), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x09, 0x60, /* Usage (60h), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x36, 0xF0, 0xD8, /* Physical Minimum (-10000), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x09, 0x61, /* Usage (61h), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x09, 0x63, /* Usage (63h), */ 0x09, 0x64, /* Usage (64h), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x02, /* Report Count (2), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x6E, /* Usage (6Eh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x04, /* Report ID (4), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x70, /* Usage (70h), */ 0x16, 0x00, 0x00, /* Logical Minimum (0), */ 0x26, 0x10, 0x27, /* Logical Maximum (10000), */ 0x36, 0x00, 0x00, /* Physical Minimum (0), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x6F, /* Usage (6Fh), */ 0x16, 0xF0, 0xD8, /* Logical Minimum (-10000), */ 0x26, 0x10, 0x27, /* Logical Maximum (10000), */ 0x36, 0xF0, 0xD8, /* Physical Minimum (-10000), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x95, 0x01, /* Report Count (1), */ 0x75, 0x10, /* Report Size (16), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x71, /* Usage (71h), */ 0x66, 0x14, 0x00, /* Unit (Degrees), */ 0x55, 0xFE, /* Unit Exponent (-2), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x27, 0x9F, 0x8C, 0x00, 0x00, /* Logical Maximum (35999), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0x9F, 0x8C, 0x00, 0x00, /* Physical Maximum (35999), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x72, /* Usage (72h), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0x7F, 0x00, 0x00, /* Logical Maximum (32767), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0x7F, 0x00, 0x00, /* Physical Maximum (32767), */ 0x66, 0x03, 0x10, /* Unit (Seconds), */ 0x55, 0xFD, /* Unit Exponent (-3), */ 0x75, 0x20, /* Report Size (32), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x66, 0x00, 0x00, /* Unit, */ 0x55, 0x00, /* Unit Exponent (0), */ 0xC0, /* End Collection, */ 0x09, 0x73, /* Usage (73h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x05, /* Report ID (5), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x70, /* Usage (70h), */ 0x16, 0xF0, 0xD8, /* Logical Minimum (-10000), */ 0x26, 0x10, 0x27, /* Logical Maximum (10000), */ 0x36, 0xF0, 0xD8, /* Physical Minimum (-10000), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x74, /* Usage (74h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x06, /* Report ID (6), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x75, /* Usage (75h), */ 0x09, 0x76, /* Usage (76h), */ 0x15, 0x80, /* Logical Minimum (-128), */ 0x25, 0x7F, /* Logical Maximum (127), */ 0x36, 0xF0, 0xD8, /* Physical Minimum (-10000), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x02, /* Report Count (2), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x68, /* Usage (68h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x07, /* Report ID (7), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x6C, /* Usage (6Ch), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0x10, 0x27, /* Logical Maximum (10000), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x69, /* Usage (69h), */ 0x15, 0x81, /* Logical Minimum (-127), */ 0x25, 0x7F, /* Logical Maximum (127), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x0C, /* Report Count (12), */ 0x92, 0x02, 0x01, /* Output (Variable, Buffered Bytes), */ 0xC0, /* End Collection, */ 0x09, 0x66, /* Usage (66h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x08, /* Report ID (8), */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x30, /* Usage (X), */ 0x09, 0x31, /* Usage (Y), */ 0x15, 0x81, /* Logical Minimum (-127), */ 0x25, 0x7F, /* Logical Maximum (127), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x02, /* Report Count (2), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x05, 0x0F, /* Usage Page (PID), */ 0x09, 0x77, /* Usage (77h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x0A, /* Report ID (10), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x78, /* Usage (78h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x09, 0x79, /* Usage (79h), */ 0x09, 0x7A, /* Usage (7Ah), */ 0x09, 0x7B, /* Usage (7Bh), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x03, /* Logical Maximum (3), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x00, /* Output, */ 0xC0, /* End Collection, */ 0x09, 0x7C, /* Usage (7Ch), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x90, /* Usage (90h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x0B, /* Report ID (11), */ 0x09, 0x22, /* Usage (22h), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x96, /* Usage (96h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x0C, /* Report ID (12), */ 0x09, 0x97, /* Usage (97h), */ 0x09, 0x98, /* Usage (98h), */ 0x09, 0x99, /* Usage (99h), */ 0x09, 0x9A, /* Usage (9Ah), */ 0x09, 0x9B, /* Usage (9Bh), */ 0x09, 0x9C, /* Usage (9Ch), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x06, /* Logical Maximum (6), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x00, /* Output, */ 0xC0, /* End Collection, */ 0x09, 0x7D, /* Usage (7Dh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x0D, /* Report ID (13), */ 0x09, 0x7E, /* Usage (7Eh), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0x10, 0x27, /* Physical Maximum (10000), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0xC0, /* End Collection, */ 0x09, 0x6B, /* Usage (6Bh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x0E, /* Report ID (14), */ 0x09, 0x22, /* Usage (22h), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x6D, /* Usage (6Dh), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x09, 0x51, /* Usage (51h), */ 0x66, 0x03, 0x10, /* Unit (Seconds), */ 0x55, 0xFD, /* Unit Exponent (-3), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x7F, /* Logical Maximum (32767), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x7F, /* Physical Maximum (32767), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x91, 0x02, /* Output (Variable), */ 0x55, 0x00, /* Unit Exponent (0), */ 0x66, 0x00, 0x00, /* Unit, */ 0xC0, /* End Collection, */ 0x09, 0xAB, /* Usage (ABh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x05, /* Report ID (5), */ 0x09, 0x25, /* Usage (25h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x09, 0x26, /* Usage (26h), */ 0x09, 0x27, /* Usage (27h), */ 0x09, 0x30, /* Usage (30h), */ 0x09, 0x31, /* Usage (31h), */ 0x09, 0x32, /* Usage (32h), */ 0x09, 0x33, /* Usage (33h), */ 0x09, 0x34, /* Usage (34h), */ 0x09, 0x40, /* Usage (40h), */ 0x09, 0x41, /* Usage (41h), */ 0x09, 0x42, /* Usage (42h), */ 0x09, 0x43, /* Usage (43h), */ 0x09, 0x28, /* Usage (28h), */ 0x25, 0x0C, /* Logical Maximum (12), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x0C, /* Physical Maximum (12), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x00, /* Feature, */ 0xC0, /* End Collection, */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x3B, /* Usage (Byte Count), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x01, /* Logical Maximum (511), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x46, 0xFF, 0x01, /* Physical Maximum (511), */ 0x75, 0x0A, /* Report Size (10), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0x75, 0x06, /* Report Size (6), */ 0xB1, 0x01, /* Feature (Constant), */ 0xC0, /* End Collection, */ 0x05, 0x0F, /* Usage Page (PID), */ 0x09, 0x89, /* Usage (89h), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x06, /* Report ID (6), */ 0x09, 0x22, /* Usage (22h), */ 0x25, 0x28, /* Logical Maximum (40), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x28, /* Physical Maximum (40), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0x09, 0x8B, /* Usage (8Bh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x09, 0x8C, /* Usage (8Ch), */ 0x09, 0x8D, /* Usage (8Dh), */ 0x09, 0x8E, /* Usage (8Eh), */ 0x25, 0x03, /* Logical Maximum (3), */ 0x15, 0x01, /* Logical Minimum (1), */ 0x35, 0x01, /* Physical Minimum (1), */ 0x45, 0x03, /* Physical Maximum (3), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x00, /* Feature, */ 0xC0, /* End Collection, */ 0x09, 0xAC, /* Usage (ACh), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x00, /* Feature, */ 0xC0, /* End Collection, */ 0x09, 0x7F, /* Usage (7Fh), */ 0xA1, 0x02, /* Collection (Logical), */ 0x85, 0x07, /* Report ID (7), */ 0x09, 0x80, /* Usage (80h), */ 0x75, 0x10, /* Report Size (16), */ 0x95, 0x01, /* Report Count (1), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x47, 0xFF, 0xFF, 0x00, 0x00, /* Physical Maximum (65535), */ 0xB1, 0x02, /* Feature (Variable), */ 0x09, 0x83, /* Usage (83h), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x46, 0xFF, 0x00, /* Physical Maximum (255), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0x09, 0xA9, /* Usage (A9h), */ 0x09, 0xAA, /* Usage (AAh), */ 0x75, 0x01, /* Report Size (1), */ 0x95, 0x02, /* Report Count (2), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x25, 0x01, /* Logical Maximum (1), */ 0x35, 0x00, /* Physical Minimum (0), */ 0x45, 0x01, /* Physical Maximum (1), */ 0xB1, 0x02, /* Feature (Variable), */ 0x75, 0x06, /* Report Size (6), */ 0x95, 0x01, /* Report Count (1), */ 0xB1, 0x03, /* Feature (Constant, Variable), */ 0xC0, /* End Collection, */ 0x06, 0x00, 0xFF, /* Usage Page (FF00h), */ 0x09, 0x01, /* Usage (01h), */ 0xA1, 0x01, /* Collection (Application), */ 0x09, 0x01, /* Usage (01h), */ 0x85, 0x6B, /* Report ID (107), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x3C, /* Report Count (60), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x26, 0xFF, 0x00, /* Logical Maximum (255), */ 0x91, 0x00, /* Output, */ 0x09, 0x01, /* Usage (01h), */ 0x85, 0x6C, /* Report ID (108), */ 0x81, 0x00, /* Input, */ 0xC0, /* End Collection, */ 0x06, 0x00, 0xFF, /* Usage Page (FF00h), */ 0x09, 0x01, /* Usage (01h), */ 0xA1, 0x01, /* Collection (Application), */ 0x09, 0x01, /* Usage (01h), */ 0x85, 0x4D, /* Report ID (77), */ 0x75, 0x08, /* Report Size (8), */ 0x95, 0x3C, /* Report Count (60), */ 0x15, 0x00, /* Logical Minimum (0), */ 0x27, 0xFF, 0xFF, 0x00, 0x00, /* Logical Maximum (65535), */ 0x91, 0x00, /* Output, */ 0xC0, /* End Collection, */ 0xC0 /* End Collection */