// #### Do not edit: this file is autogenerated !!!

#include "devices/list/device_list.h"
#include "icd2.h"
#include "icd2_data.h"
#include "icd2_prog.h"

namespace Icd2
{
struct CData {
  const char *name;
  uint family;
  uint support;
  Data data;
};

const CData PIC10F200_DATA = {  "10F200", 16, 2, { 0x12, ::Group::Support::Type(1) } };
const CData PIC10F202_DATA = {  "10F202", 16, 2, { 0x12, ::Group::Support::Type(1) } };
const CData PIC10F204_DATA = {  "10F204", 16, 2, { 0x12, ::Group::Support::Type(1) } };
const CData PIC10F206_DATA = {  "10F206", 16, 2, { 0x12, ::Group::Support::Type(1) } };
const CData PIC10F220_DATA = {  "10F220", 16, 1, { 0x12, ::Group::Support::Type(1) } };
const CData PIC10F222_DATA = {  "10F222", 16, 1, { 0x12, ::Group::Support::Type(1) } };
const CData PIC12F508_DATA = {  "12F508", 17, 2, { 0x11, ::Group::Support::Type(1) } };
const CData PIC12F509_DATA = {  "12F509", 17, 2, { 0x11, ::Group::Support::Type(1) } };
const CData PIC12F510_DATA = {  "12F510", 17, 2, { 0x11, ::Group::Support::Type(1) } };
const CData PIC12F629_DATA = {  "12F629", 0, 2, { 0x05, ::Group::Support::Type(1) } };
const CData PIC12F635_DATA = {  "12F635", 18, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC12F675_DATA = {  "12F675", 0, 2, { 0x05, ::Group::Support::Type(1) } };
const CData PIC12F683_DATA = {  "12F683", 18, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F505_DATA = {  "16F505", 17, 1, { 0x10, ::Group::Support::Type(1) } };
const CData PIC16F506_DATA = {  "16F506", 17, 1, { 0x12, ::Group::Support::Type(1) } };
const CData PIC16F54_DATA = {  "16F54", 17, 2, { 0x0E, ::Group::Support::Type(1) } };
const CData PIC16F57_DATA = {  "16F57", 17, 2, { 0x0F, ::Group::Support::Type(1) } };
const CData PIC16F59_DATA = {  "16F59", 17, 2, { 0x0F, ::Group::Support::Type(1) } };
const CData PIC16F616_DATA = {  "16F616", 30, 1, { 0x1A, ::Group::Support::Type(1) } };
const CData PIC16F627_DATA = {  "16F627", 27, 1, { 0x19, ::Group::Support::Type(1) } };
const CData PIC16F627A_DATA = {  "16F627A", 2, 2, { 0x09, ::Group::Support::Type(1) } };
const CData PIC16F628_DATA = {  "16F628", 27, 1, { 0x19, ::Group::Support::Type(1) } };
const CData PIC16F628A_DATA = {  "16F628A", 2, 2, { 0x09, ::Group::Support::Type(1) } };
const CData PIC16F630_DATA = {  "16F630", 1, 1, { 0x05, ::Group::Support::Type(1) } };
const CData PIC16F631_DATA = {  "16F631", 18, 1, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F636_DATA = {  "16F636", 18, 1, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F639_DATA = {  "16F639", 18, 1, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F648A_DATA = {  "16F648A", 2, 2, { 0x09, ::Group::Support::Type(1) } };
const CData PIC16F676_DATA = {  "16F676", 1, 1, { 0x05, ::Group::Support::Type(1) } };
const CData PIC16F677_DATA = {  "16F677", 23, 1, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F684_DATA = {  "16F684", 21, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F685_DATA = {  "16F685", 22, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F687_DATA = {  "16F687", 22, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F688_DATA = {  "16F688", 22, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F689_DATA = {  "16F689", 22, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F690_DATA = {  "16F690", 22, 2, { 0x0C, ::Group::Support::Type(1) } };
const CData PIC16F716_DATA = {  "16F716", 3, 1, { 0x0B, ::Group::Support::Type(1) } };
const CData PIC16F72_DATA = {  "16F72", 27, 1, { 0x21, ::Group::Support::Type(1) } };
const CData PIC16F73_DATA = {  "16F73", 10, 1, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F737_DATA = {  "16F737", 4, 2, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F74_DATA = {  "16F74", 10, 1, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F747_DATA = {  "16F747", 4, 2, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F76_DATA = {  "16F76", 10, 1, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F767_DATA = {  "16F767", 4, 2, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F77_DATA = {  "16F77", 10, 1, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F777_DATA = {  "16F777", 4, 2, { 0x0A, ::Group::Support::Type(1) } };
const CData PIC16F785_DATA = {  "16F785", 19, 1, { 0x15, ::Group::Support::Type(1) } };
const CData PIC16F818_DATA = {  "16F818", 5, 2, { 0x06, ::Group::Support::Type(1) } };
const CData PIC16F819_DATA = {  "16F819", 5, 2, { 0x06, ::Group::Support::Type(1) } };
const CData PIC16F84A_DATA = {  "16F84A", 27, 1, { 0x20, ::Group::Support::Type(1) } };
const CData PIC16F87_DATA = {  "16F87", 6, 2, { 0x08, ::Group::Support::Type(1) } };
const CData PIC16F870_DATA = {  "16F870", 7, 1, { 0x03, ::Group::Support::Type(1) } };
const CData PIC16F871_DATA = {  "16F871", 7, 2, { 0x03, ::Group::Support::Type(2) } };
const CData PIC16F872_DATA = {  "16F872", 7, 2, { 0x03, ::Group::Support::Type(1) } };
const CData PIC16F873_DATA = {  "16F873", 8, 2, { 0x03, ::Group::Support::Type(1) } };
const CData PIC16F873A_DATA = {  "16F873A", 8, 1, { 0x04, ::Group::Support::Type(1) } };
const CData PIC16F874_DATA = {  "16F874", 8, 2, { 0x03, ::Group::Support::Type(1) } };
const CData PIC16F874A_DATA = {  "16F874A", 8, 1, { 0x04, ::Group::Support::Type(1) } };
const CData PIC16F876_DATA = {  "16F876", 9, 2, { 0x03, ::Group::Support::Type(1) } };
const CData PIC16F876A_DATA = {  "16F876A", 9, 1, { 0x04, ::Group::Support::Type(1) } };
const CData PIC16F877_DATA = {  "16F877", 9, 2, { 0x03, ::Group::Support::Type(2) } };
const CData PIC16F877A_DATA = {  "16F877A", 9, 1, { 0x04, ::Group::Support::Type(1) } };
const CData PIC16F88_DATA = {  "16F88", 6, 2, { 0x08, ::Group::Support::Type(1) } };
const CData PIC16F913_DATA = {  "16F913", 20, 1, { 0x14, ::Group::Support::Type(1) } };
const CData PIC16F914_DATA = {  "16F914", 20, 1, { 0x14, ::Group::Support::Type(1) } };
const CData PIC16F916_DATA = {  "16F916", 20, 1, { 0x14, ::Group::Support::Type(1) } };
const CData PIC16F917_DATA = {  "16F917", 20, 1, { 0x14, ::Group::Support::Type(1) } };
const CData PIC16F946_DATA = {  "16F946", 20, 1, { 0x14, ::Group::Support::Type(1) } };
const CData PIC18C601_DATA = {  "18C601", 15, 1, { 0x81, ::Group::Support::Type(1) } };
const CData PIC18C801_DATA = {  "18C801", 15, 1, { 0x81, ::Group::Support::Type(1) } };
const CData PIC18F1220_DATA = {  "18F1220", 13, 2, { 0x83, ::Group::Support::Type(1) } };
const CData PIC18F1230_DATA = {  "18F1230", 14, 1, { 0x8F, ::Group::Support::Type(1) } };
const CData PIC18F1320_DATA = {  "18F1320", 13, 2, { 0x83, ::Group::Support::Type(1) } };
const CData PIC18F1330_DATA = {  "18F1330", 14, 1, { 0x8F, ::Group::Support::Type(1) } };
const CData PIC18F2220_DATA = {  "18F2220", 13, 2, { 0x83, ::Group::Support::Type(1) } };
const CData PIC18F2221_DATA = {  "18F2221", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F2320_DATA = {  "18F2320", 13, 2, { 0x83, ::Group::Support::Type(1) } };
const CData PIC18F2321_DATA = {  "18F2321", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F2331_DATA = {  "18F2331", 13, 1, { 0x87, ::Group::Support::Type(1) } };
const CData PIC18F2410_DATA = {  "18F2410", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F242_DATA = {  "18F242", 13, 2, { 0x82, ::Group::Support::Type(1) } };
const CData PIC18F2420_DATA = {  "18F2420", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F2423_DATA = {  "18F2423", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F2431_DATA = {  "18F2431", 13, 1, { 0x87, ::Group::Support::Type(1) } };
const CData PIC18F2439_DATA = {  "18F2439", 13, 1, { 0x85, ::Group::Support::Type(1) } };
const CData PIC18F2450_DATA = {  "18F2450", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F2455_DATA = {  "18F2455", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F248_DATA = {  "18F248", 13, 2, { 0x82, ::Group::Support::Type(1) } };
const CData PIC18F2480_DATA = {  "18F2480", 14, 2, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F24J10_DATA = {  "18F24J10", 26, 1, { 0x40, ::Group::Support::Type(1) } };
const CData PIC18F2510_DATA = {  "18F2510", 14, 2, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F2515_DATA = {  "18F2515", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F252_DATA = {  "18F252", 13, 2, { 0x82, ::Group::Support::Type(1) } };
const CData PIC18F2520_DATA = {  "18F2520", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F2523_DATA = {  "18F2523", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F2525_DATA = {  "18F2525", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F2539_DATA = {  "18F2539", 13, 1, { 0x85, ::Group::Support::Type(1) } };
const CData PIC18F2550_DATA = {  "18F2550", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F258_DATA = {  "18F258", 13, 2, { 0x82, ::Group::Support::Type(1) } };
const CData PIC18F2580_DATA = {  "18F2580", 14, 2, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F2585_DATA = {  "18F2585", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F2610_DATA = {  "18F2610", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F2620_DATA = {  "18F2620", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F2680_DATA = {  "18F2680", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F2682_DATA = {  "18F2682", 14, 1, { 0x90, ::Group::Support::Type(1) } };
const CData PIC18F2685_DATA = {  "18F2685", 14, 1, { 0x90, ::Group::Support::Type(1) } };
const CData PIC18F4220_DATA = {  "18F4220", 13, 2, { 0x83, ::Group::Support::Type(1) } };
const CData PIC18F4221_DATA = {  "18F4221", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4320_DATA = {  "18F4320", 13, 2, { 0x83, ::Group::Support::Type(1) } };
const CData PIC18F4321_DATA = {  "18F4321", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4331_DATA = {  "18F4331", 13, 1, { 0x87, ::Group::Support::Type(1) } };
const CData PIC18F4410_DATA = {  "18F4410", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F442_DATA = {  "18F442", 13, 2, { 0x82, ::Group::Support::Type(1) } };
const CData PIC18F4420_DATA = {  "18F4420", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4423_DATA = {  "18F4423", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F4431_DATA = {  "18F4431", 13, 1, { 0x87, ::Group::Support::Type(1) } };
const CData PIC18F4439_DATA = {  "18F4439", 13, 1, { 0x85, ::Group::Support::Type(1) } };
const CData PIC18F4450_DATA = {  "18F4450", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4455_DATA = {  "18F4455", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F448_DATA = {  "18F448", 13, 2, { 0x82, ::Group::Support::Type(1) } };
const CData PIC18F4480_DATA = {  "18F4480", 14, 2, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4510_DATA = {  "18F4510", 14, 2, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F4515_DATA = {  "18F4515", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F452_DATA = {  "18F452", 13, 2, { 0x82, ::Group::Support::Type(2) } };
const CData PIC18F4520_DATA = {  "18F4520", 14, 1, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4523_DATA = {  "18F4523", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F4525_DATA = {  "18F4525", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F4539_DATA = {  "18F4539", 13, 1, { 0x85, ::Group::Support::Type(1) } };
const CData PIC18F4550_DATA = {  "18F4550", 14, 1, { 0x8B, ::Group::Support::Type(1) } };
const CData PIC18F458_DATA = {  "18F458", 13, 2, { 0x82, ::Group::Support::Type(2) } };
const CData PIC18F4580_DATA = {  "18F4580", 14, 2, { 0x8C, ::Group::Support::Type(1) } };
const CData PIC18F4585_DATA = {  "18F4585", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F4610_DATA = {  "18F4610", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F4620_DATA = {  "18F4620", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F4680_DATA = {  "18F4680", 14, 1, { 0x88, ::Group::Support::Type(1) } };
const CData PIC18F4682_DATA = {  "18F4682", 14, 1, { 0x90, ::Group::Support::Type(1) } };
const CData PIC18F4685_DATA = {  "18F4685", 14, 1, { 0x90, ::Group::Support::Type(1) } };
const CData PIC18F6310_DATA = {  "18F6310", 13, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F6390_DATA = {  "18F6390", 13, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F6410_DATA = {  "18F6410", 14, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F6490_DATA = {  "18F6490", 14, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F6520_DATA = {  "18F6520", 13, 1, { 0x84, ::Group::Support::Type(1) } };
const CData PIC18F6525_DATA = {  "18F6525", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F6527_DATA = {  "18F6527", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F6585_DATA = {  "18F6585", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F6620_DATA = {  "18F6620", 13, 1, { 0x84, ::Group::Support::Type(1) } };
const CData PIC18F6621_DATA = {  "18F6621", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F6622_DATA = {  "18F6622", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F6627_DATA = {  "18F6627", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F6680_DATA = {  "18F6680", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F66J60_DATA = {  "18F66J60", 26, 2, { 0x40, ::Group::Support::Type(1) } };
const CData PIC18F6720_DATA = {  "18F6720", 13, 1, { 0x84, ::Group::Support::Type(1) } };
const CData PIC18F6722_DATA = {  "18F6722", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F8310_DATA = {  "18F8310", 13, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F8390_DATA = {  "18F8390", 13, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F8410_DATA = {  "18F8410", 14, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F8490_DATA = {  "18F8490", 14, 1, { 0x8A, ::Group::Support::Type(1) } };
const CData PIC18F8520_DATA = {  "18F8520", 13, 1, { 0x84, ::Group::Support::Type(1) } };
const CData PIC18F8525_DATA = {  "18F8525", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F8527_DATA = {  "18F8527", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F8585_DATA = {  "18F8585", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F8620_DATA = {  "18F8620", 13, 1, { 0x84, ::Group::Support::Type(1) } };
const CData PIC18F8621_DATA = {  "18F8621", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F8622_DATA = {  "18F8622", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F8627_DATA = {  "18F8627", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC18F8680_DATA = {  "18F8680", 13, 1, { 0x86, ::Group::Support::Type(1) } };
const CData PIC18F8720_DATA = {  "18F8720", 13, 1, { 0x84, ::Group::Support::Type(1) } };
const CData PIC18F8722_DATA = {  "18F8722", 14, 1, { 0x8D, ::Group::Support::Type(1) } };
const CData PIC30F2010_DATA = {  "30F2010", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F2011_DATA = {  "30F2011", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F2012_DATA = {  "30F2012", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F3010_DATA = {  "30F3010", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F3011_DATA = {  "30F3011", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F3012_DATA = {  "30F3012", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F3013_DATA = {  "30F3013", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F3014_DATA = {  "30F3014", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F4011_DATA = {  "30F4011", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F4012_DATA = {  "30F4012", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F4013_DATA = {  "30F4013", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F5011_DATA = {  "30F5011", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F5013_DATA = {  "30F5013", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6010_DATA = {  "30F6010", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6010A_DATA = {  "30F6010A", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6011_DATA = {  "30F6011", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6011A_DATA = {  "30F6011A", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6012_DATA = {  "30F6012", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6012A_DATA = {  "30F6012A", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6013_DATA = {  "30F6013", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6013A_DATA = {  "30F6013A", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6014_DATA = {  "30F6014", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6014A_DATA = {  "30F6014A", 25, 1, { 0xBB, ::Group::Support::Type(1) } };
const CData PIC30F6015_DATA = {  "30F6015", 25, 1, { 0xBB, ::Group::Support::Type(1) } };

const CData *DATA_LIST[] = {
&PIC10F200_DATA,&PIC10F202_DATA,&PIC10F204_DATA,&PIC10F206_DATA,&PIC10F220_DATA,&PIC10F222_DATA,&PIC12F508_DATA,&PIC12F509_DATA,&PIC12F510_DATA,&PIC12F629_DATA,
&PIC12F635_DATA,&PIC12F675_DATA,&PIC12F683_DATA,&PIC16F505_DATA,&PIC16F506_DATA,&PIC16F54_DATA,&PIC16F57_DATA,&PIC16F59_DATA,&PIC16F616_DATA,&PIC16F627_DATA,
&PIC16F627A_DATA,&PIC16F628_DATA,&PIC16F628A_DATA,&PIC16F630_DATA,&PIC16F631_DATA,&PIC16F636_DATA,&PIC16F639_DATA,&PIC16F648A_DATA,&PIC16F676_DATA,&PIC16F677_DATA,
&PIC16F684_DATA,&PIC16F685_DATA,&PIC16F687_DATA,&PIC16F688_DATA,&PIC16F689_DATA,&PIC16F690_DATA,&PIC16F716_DATA,&PIC16F72_DATA,&PIC16F73_DATA,&PIC16F737_DATA,
&PIC16F74_DATA,&PIC16F747_DATA,&PIC16F76_DATA,&PIC16F767_DATA,&PIC16F77_DATA,&PIC16F777_DATA,&PIC16F785_DATA,&PIC16F818_DATA,&PIC16F819_DATA,&PIC16F84A_DATA,
&PIC16F87_DATA,&PIC16F870_DATA,&PIC16F871_DATA,&PIC16F872_DATA,&PIC16F873_DATA,&PIC16F873A_DATA,&PIC16F874_DATA,&PIC16F874A_DATA,&PIC16F876_DATA,&PIC16F876A_DATA,
&PIC16F877_DATA,&PIC16F877A_DATA,&PIC16F88_DATA,&PIC16F913_DATA,&PIC16F914_DATA,&PIC16F916_DATA,&PIC16F917_DATA,&PIC16F946_DATA,&PIC18C601_DATA,&PIC18C801_DATA,
&PIC18F1220_DATA,&PIC18F1230_DATA,&PIC18F1320_DATA,&PIC18F1330_DATA,&PIC18F2220_DATA,&PIC18F2221_DATA,&PIC18F2320_DATA,&PIC18F2321_DATA,&PIC18F2331_DATA,&PIC18F2410_DATA,
&PIC18F242_DATA,&PIC18F2420_DATA,&PIC18F2423_DATA,&PIC18F2431_DATA,&PIC18F2439_DATA,&PIC18F2450_DATA,&PIC18F2455_DATA,&PIC18F248_DATA,&PIC18F2480_DATA,&PIC18F24J10_DATA,
&PIC18F2510_DATA,&PIC18F2515_DATA,&PIC18F252_DATA,&PIC18F2520_DATA,&PIC18F2523_DATA,&PIC18F2525_DATA,&PIC18F2539_DATA,&PIC18F2550_DATA,&PIC18F258_DATA,&PIC18F2580_DATA,
&PIC18F2585_DATA,&PIC18F2610_DATA,&PIC18F2620_DATA,&PIC18F2680_DATA,&PIC18F2682_DATA,&PIC18F2685_DATA,&PIC18F4220_DATA,&PIC18F4221_DATA,&PIC18F4320_DATA,&PIC18F4321_DATA,
&PIC18F4331_DATA,&PIC18F4410_DATA,&PIC18F442_DATA,&PIC18F4420_DATA,&PIC18F4423_DATA,&PIC18F4431_DATA,&PIC18F4439_DATA,&PIC18F4450_DATA,&PIC18F4455_DATA,&PIC18F448_DATA,
&PIC18F4480_DATA,&PIC18F4510_DATA,&PIC18F4515_DATA,&PIC18F452_DATA,&PIC18F4520_DATA,&PIC18F4523_DATA,&PIC18F4525_DATA,&PIC18F4539_DATA,&PIC18F4550_DATA,&PIC18F458_DATA,
&PIC18F4580_DATA,&PIC18F4585_DATA,&PIC18F4610_DATA,&PIC18F4620_DATA,&PIC18F4680_DATA,&PIC18F4682_DATA,&PIC18F4685_DATA,&PIC18F6310_DATA,&PIC18F6390_DATA,&PIC18F6410_DATA,
&PIC18F6490_DATA,&PIC18F6520_DATA,&PIC18F6525_DATA,&PIC18F6527_DATA,&PIC18F6585_DATA,&PIC18F6620_DATA,&PIC18F6621_DATA,&PIC18F6622_DATA,&PIC18F6627_DATA,&PIC18F6680_DATA,
&PIC18F66J60_DATA,&PIC18F6720_DATA,&PIC18F6722_DATA,&PIC18F8310_DATA,&PIC18F8390_DATA,&PIC18F8410_DATA,&PIC18F8490_DATA,&PIC18F8520_DATA,&PIC18F8525_DATA,&PIC18F8527_DATA,
&PIC18F8585_DATA,&PIC18F8620_DATA,&PIC18F8621_DATA,&PIC18F8622_DATA,&PIC18F8627_DATA,&PIC18F8680_DATA,&PIC18F8720_DATA,&PIC18F8722_DATA,&PIC30F2010_DATA,&PIC30F2011_DATA,
&PIC30F2012_DATA,&PIC30F3010_DATA,&PIC30F3011_DATA,&PIC30F3012_DATA,&PIC30F3013_DATA,&PIC30F3014_DATA,&PIC30F4011_DATA,&PIC30F4012_DATA,&PIC30F4013_DATA,&PIC30F5011_DATA,
&PIC30F5013_DATA,&PIC30F6010_DATA,&PIC30F6010A_DATA,&PIC30F6011_DATA,&PIC30F6011A_DATA,&PIC30F6012_DATA,&PIC30F6012A_DATA,&PIC30F6013_DATA,&PIC30F6013A_DATA,&PIC30F6014_DATA,
&PIC30F6014A_DATA,&PIC30F6015_DATA,0 
};

const CData *cdata(const TQString &device)
{
  for(uint i=0; DATA_LIST[i]; i++)
    if ( device==DATA_LIST[i]->name ) return DATA_LIST[i];
  return 0;
}
bool isSupported(const TQString &device)
{
  return cdata(device);
}
uint family(const TQString &device)
{
  return cdata(device)->family;
}
::Group::Support support(const TQString &device)
{
  return ::Group::Support::Type(cdata(device)->support);
}
const Data &data(const TQString &device)
{
  return cdata(device)->data;
}

void Group::initSupported()
{
  for (uint i=0; DATA_LIST[i]; i++) {
    const Device::Data *data = Device::lister().data(DATA_LIST[i]->name);
    addDevice(data->name(), data, ::Group::Support::Type(DATA_LIST[i]->support));
  }
}


}
