pre_attack_tactics = ['TA0021', 'TA0024', 'TA0022', 'TA0017', 'TA0020', 'TA0016', 'TA0019', 'TA0023', 'TA0013', 'TA0012', 'TA0026', 'TA0014', 'TA0015', 'TA0018', 'TA0025']
pre_attack_techniques = ['T1266', 'T1247', 'T1277', 'T1329', 'T1307', 'T1308', 'T1330', 'T1310', 'T1332', 'T1275', 'T1293', 'T1288', 'T1301', 'T1287', 'T1294', 'T1300', 'T1289', 'T1297', 'T1303', 'T1295', 'T1306', 'T1229', 'T1236', 'T1224', 'T1299', 'T1302', 'T1296', 'T1298', 'T1238', 'T1228', 'T1381', 'T1386', 'T1384', 'T1347', 'T1349', 'T1341', 'T1328', 'T1352', 'T1391', 'T1343', 'T1321', 'T1312', 'T1334', 'T1354', 'T1388', 'T1254', 'T1226', 'T1253', 'T1279', 'T1268', 'T1249', 'T1376', 'T1383', 'T1339', 'T1345', 'T1232', 'T1355', 'T1231', 'T1374', 'T1382', 'T1324', 'T1320', 'T1380', 'T1230', 'T1284', 'T1260', 'T1245', 'T1285', 'T1250', 'T1259', 'T1258', 'T1243', 'T1242', 'T1282', 'T1244', 'T1241', 'T1227', 'T1342', 'T1350', 'T1255', 'T1379', 'T1394', 'T1323', 'T1326', 'T1286', 'T1311', 'T1333', 'T1262', 'T1261', 'T1377', 'T1325', 'T1344', 'T1364', 'T1234', 'T1365', 'T1314', 'T1385', 'T1233', 'T1280', 'T1272', 'T1283', 'T1225', 'T1270', 'T1248', 'T1278', 'T1267', 'T1269', 'T1271', 'T1348', 'T1263', 'T1274', 'T1276', 'T1246', 'T1265', 'T1264', 'T1389', 'T1256', 'T1336', 'T1375', 'T1252', 'T1273', 'T1257', 'T1322', 'T1315', 'T1316', 'T1390', 'T1309', 'T1331', 'T1318', 'T1319', 'T1313', 'T1392', 'T1396', 'T1251', 'T1281', 'T1346', 'T1363', 'T1353', 'T1305', 'T1335', 'T1304', 'T1373', 'T1239', 'T1235', 'T1351', 'T1378', 'T1291', 'T1290', 'T1358', 'T1395', 'T1337', 'T1338', 'T1317', 'T1340', 'T1367', 'T1369', 'T1368', 'T1397', 'T1237', 'T1371', 'T1366', 'T1240', 'T1393', 'T1356', 'T1357', 'T1359', 'T1360', 'T1292', 'T1361', 'T1387', 'T1372', 'T1370', 'T1362', 'T1327']

enterprise_attack_mitigations = ['M1036', 'M1015', 'M1049', 'M1013', 'M1048', 'M1047', 'M1040', 'M1046', 'M1045', 'M1043', 'M1053', 'M1042', 'M1055', 'M1041', 'M1039', 'M1038', 'M1050', 'M1037', 'M1035', 'M1034', 'M1033', 'M1032', 'M1031', 'M1030', 'M1028', 'M1027', 'M1026', 'M1025', 'M1029', 'M1022', 'M1044', 'M1024', 'M1021', 'M1020', 'M1054', 'M1019', 'M1051', 'M1052', 'M1018', 'M1017', 'M1016']
enterprise_attack_tactics = ['TA0009', 'TA0011', 'TA0006', 'TA0005', 'TA0007', 'TA0002', 'TA0010', 'TA0040', 'TA0001', 'TA0008', 'TA0003', 'TA0004']
enterprise_attack_techniques = ['T1156', 'T1134', 'T1015', 'T1531', 'T1087', 'T1098', 'T1182', 'T1103', 'T1155', 'T1527', 'T1017', 'T1138', 'T1010', 'T1123', 'T1131', 'T1119', 'T1020', 'T1197', 'T1139', 'T1009', 'T1067', 'T1217', 'T1176', 'T1110', 'T1088', 'T1191', 'T1042', 'T1146', 'T1115', 'T1522', 'T1538', 'T1526', 'T1116', 'T1059', 'T1043', 'T1092', 'T1500', 'T1223', 'T1109', 'T1122', 'T1175', 'T1090', 'T1196', 'T1136', 'T1003', 'T1503', 'T1081', 'T1214', 'T1094', 'T1024', 'T1207', 'T1038', 'T1073', 'T1002', 'T1485', 'T1132', 'T1022', 'T1486', 'T1001', 'T1074', 'T1030', 'T1530', 'T1213', 'T1005', 'T1039', 'T1025', 'T1491', 'T1140', 'T1089', 'T1488', 'T1487', 'T1172', 'T1483', 'T1482', 'T1189', 'T1157', 'T1173', 'T1514', 'T1114', 'T1519', 'T1499', 'T1480', 'T1106', 'T1129', 'T1048', 'T1041', 'T1011', 'T1052', 'T1190', 'T1203', 'T1212', 'T1211', 'T1068', 'T1210', 'T1133', 'T1181', 'T1008', 'T1107', 'T1006', 'T1044', 'T1083', 'T1222', 'T1495', 'T1187', 'T1144', 'T1061', 'T1484', 'T1148', 'T1200', 'T1158', 'T1147', 'T1143', 'T1179', 'T1062', 'T1183', 'T1525', 'T1054', 'T1066', 'T1070', 'T1202', 'T1490', 'T1056', 'T1141', 'T1130', 'T1118', 'T1534', 'T1208', 'T1215', 'T1142', 'T1161', 'T1149', 'T1171', 'T1177', 'T1159', 'T1160', 'T1152', 'T1168', 'T1162', 'T1037', 'T1185', 'T1036', 'T1031', 'T1112', 'T1170', 'T1104', 'T1188', 'T1026', 'T1079', 'T1096', 'T1128', 'T1498', 'T1046', 'T1126', 'T1135', 'T1040', 'T1050', 'T1027', 'T1137', 'T1502', 'T1075', 'T1097', 'T1174', 'T1201', 'T1034', 'T1120', 'T1069', 'T1150', 'T1205', 'T1013', 'T1086', 'T1504', 'T1145', 'T1057', 'T1186', 'T1093', 'T1055', 'T1012', 'T1163', 'T1164', 'T1108', 'T1060', 'T1121', 'T1117', 'T1219', 'T1076', 'T1105', 'T1021', 'T1018', 'T1091', 'T1496', 'T1536', 'T1014', 'T1085', 'T1494', 'T1178', 'T1198', 'T1184', 'T1053', 'T1029', 'T1113', 'T1180', 'T1064', 'T1063', 'T1101', 'T1167', 'T1505', 'T1035', 'T1058', 'T1489', 'T1166', 'T1051', 'T1023', 'T1218', 'T1216', 'T1518', 'T1045', 'T1153', 'T1151', 'T1193', 'T1192', 'T1194', 'T1071', 'T1032', 'T1095', 'T1165', 'T1528', 'T1539', 'T1492', 'T1169', 'T1206', 'T1195', 'T1019', 'T1082', 'T1016', 'T1049', 'T1033', 'T1007', 'T1529', 'T1124', 'T1501', 'T1080', 'T1221', 'T1072', 'T1209', 'T1099', 'T1537', 'T1493', 'T1154', 'T1127', 'T1199', 'T1111', 'T1065', 'T1535', 'T1204', 'T1078', 'T1125', 'T1497', 'T1102', 'T1506', 'T1100', 'T1077', 'T1047', 'T1084', 'T1028', 'T1004', 'T1220']

mobile_attack_mitigations = ['M1013', 'M1005', 'M1002', 'M1007', 'M1010', 'M1009', 'M1012', 'M1014', 'M1003', 'M1001', 'M1004', 'M1006', 'M1011']
mobile_attack_tactics = ['TA0035', 'TA0037', 'TA0031', 'TA0030', 'TA0032', 'TA0036', 'TA0034', 'TA0027', 'TA0033', 'TA0038', 'TA0028', 'TA0029', 'TA0039']
mobile_attack_techniques = ['T1453', 'T1401', 'T1445', 'T1435', 'T1433', 'T1432', 'T1517', 'T1413', 'T1409', 'T1438', 'T1416', 'T1402', 'T1434', 'T1431', 'T1418', 'T1427', 'T1460', 'T1429', 'T1512', 'T1414', 'T1412', 'T1510', 'T1436', 'T1532', 'T1471', 'T1533', 'T1447', 'T1475', 'T1476', 'T1440', 'T1446', 'T1419', 'T1459', 'T1408', 'T1520', 'T1466', 'T1407', 'T1456', 'T1439', 'T1523', 'T1455', 'T1428', 'T1404', 'T1449', 'T1450', 'T1405', 'T1458', 'T1477', 'T1442', 'T1420', 'T1472', 'T1417', 'T1516', 'T1411', 'T1425', 'T1478', 'T1464', 'T1430', 'T1461', 'T1457', 'T1454', 'T1462', 'T1473', 'T1452', 'T1463', 'T1444', 'T1403', 'T1398', 'T1400', 'T1399', 'T1507', 'T1423', 'T1410', 'T1406', 'T1470', 'T1448', 'T1424', 'T1443', 'T1468', 'T1469', 'T1467', 'T1465', 'T1451', 'T1513', 'T1437', 'T1521', 'T1441', 'T1474', 'T1508', 'T1426', 'T1422', 'T1421', 'T1415', 'T1509', 'T1481']

tlds = [
    'aaa',
    'aarp',
    'abarth',
    'abb',
    'abbott',
    'abbvie',
    'abc',
    'able',
    'abogado',
    'abudhabi',
    'ac',
    'academy',
    'accenture',
    'accountant',
    'accountants',
    'aco',
    'active',
    'actor',
    'ad',
    'adac',
    'ads',
    'adult',
    'ae',
    'aeg',
    'aero',
    'aetna',
    'af',
    'afamilycompany',
    'afl',
    'africa',
    'ag',
    'agakhan',
    'agency',
    'ai',
    'aig',
    'aigo',
    'airbus',
    'airforce',
    'airtel',
    'akdn',
    'al',
    'alfaromeo',
    'alibaba',
    'alipay',
    'allfinanz',
    'allstate',
    'ally',
    'alsace',
    'alstom',
    'am',
    'americanexpress',
    'americanfamily',
    'amex',
    'amfam',
    'amica',
    'amsterdam',
    'analytics',
    'android',
    'anquan',
    'anz',
    'ao',
    'aol',
    'apartments',
    'app',
    'apple',
    'aq',
    'aquarelle',
    'ar',
    'arab',
    'aramco',
    'archi',
    'army',
    'arpa',
    'art',
    'arte',
    'as',
    'asda',
    'asia',
    'associates',
    'at',
    'athleta',
    'attorney',
    'au',
    'auction',
    'audi',
    'audible',
    'audio',
    'auspost',
    'author',
    'auto',
    'autos',
    'avianca',
    'aw',
    'aws',
    'ax',
    'axa',
    'az',
    'azure',
    'ba',
    'baby',
    'baidu',
    'banamex',
    'bananarepublic',
    'band',
    'bank',
    'bar',
    'barcelona',
    'barclaycard',
    'barclays',
    'barefoot',
    'bargains',
    'baseball',
    'basketball',
    'bauhaus',
    'bayern',
    'bb',
    'bbc',
    'bbt',
    'bbva',
    'bcg',
    'bcn',
    'bd',
    'be',
    'beats',
    'beauty',
    'beer',
    'bentley',
    'berlin',
    'best',
    'bestbuy',
    'bet',
    'bf',
    'bg',
    'bh',
    'bharti',
    'bi',
    'bible',
    'bid',
    'bike',
    'bing',
    'bingo',
    'bio',
    'biz',
    'bj',
    'black',
    'blackfriday',
    'blanco',
    'blockbuster',
    'blog',
    'bloomberg',
    'blue',
    'bm',
    'bms',
    'bmw',
    'bn',
    'bnl',
    'bnpparibas',
    'bo',
    'boats',
    'boehringer',
    'bofa',
    'bom',
    'bond',
    'boo',
    'book',
    'booking',
    'bosch',
    'bostik',
    'boston',
    'bot',
    'boutique',
    'box',
    'br',
    'bradesco',
    'bridgestone',
    'broadway',
    'broker',
    'brother',
    'brussels',
    'bs',
    'bt',
    'budapest',
    'bugatti',
    'build',
    'builders',
    'business',
    'buy',
    'buzz',
    'bv',
    'bw',
    'by',
    'bz',
    'bzh',
    'ca',
    'cab',
    'cafe',
    'cal',
    'call',
    'calvinklein',
    'cam',
    'camera',
    'camp',
    'cancerresearch',
    'canon',
    'capetown',
    'capital',
    'capitalone',
    'car',
    'caravan',
    'cards',
    'care',
    'career',
    'careers',
    'cars',
    'cartier',
    'casa',
    'case',
    'caseih',
    'cash',
    'casino',
    'cat',
    'catering',
    'catholic',
    'cba',
    'cbn',
    'cbre',
    'cbs',
    'cc',
    'cd',
    'ceb',
    'center',
    'ceo',
    'cern',
    'cf',
    'cfa',
    'cfd',
    'cg',
    'ch',
    'chanel',
    'channel',
    'charity',
    'chase',
    'chat',
    'cheap',
    'chintai',
    'christmas',
    'chrome',
    'chrysler',
    'church',
    'ci',
    'cipriani',
    'circle',
    'cisco',
    'citadel',
    'citi',
    'citic',
    'city',
    'cityeats',
    'ck',
    'cl',
    'claims',
    'cleaning',
    'click',
    'clinic',
    'clinique',
    'clothing',
    'cloud',
    'club',
    'clubmed',
    'cm',
    'cn',
    'co',
    'coach',
    'codes',
    'coffee',
    'college',
    'cologne',
    'com',
    'comcast',
    'commbank',
    'community',
    'company',
    'compare',
    'computer',
    'comsec',
    'condos',
    'construction',
    'consulting',
    'contact',
    'contractors',
    'cooking',
    'cookingchannel',
    'cool',
    'coop',
    'corsica',
    'country',
    'coupon',
    'coupons',
    'courses',
    'cr',
    'credit',
    'creditcard',
    'creditunion',
    'cricket',
    'crown',
    'crs',
    'cruise',
    'cruises',
    'csc',
    'cu',
    'cuisinella',
    'cv',
    'cw',
    'cx',
    'cy',
    'cymru',
    'cyou',
    'cz',
    'dabur',
    'dad',
    'dance',
    'data',
    'date',
    'dating',
    'datsun',
    'day',
    'dclk',
    'dds',
    'de',
    'deal',
    'dealer',
    'deals',
    'degree',
    'delivery',
    'dell',
    'deloitte',
    'delta',
    'democrat',
    'dental',
    'dentist',
    'desi',
    'design',
    'dev',
    'dhl',
    'diamonds',
    'diet',
    'digital',
    'direct',
    'directory',
    'discount',
    'discover',
    'dish',
    'diy',
    'dj',
    'dk',
    'dm',
    'dnp',
    'do',
    'docs',
    'doctor',
    'dodge',
    'dog',
    'doha',
    'domains',
    'dot',
    'download',
    'drive',
    'dtv',
    'dubai',
    'duck',
    'dunlop',
    'duns',
    'dupont',
    'durban',
    'dvag',
    'dvr',
    'dz',
    'earth',
    'eat',
    'ec',
    'eco',
    'edeka',
    'edu',
    'education',
    'ee',
    'eg',
    'email',
    'emerck',
    'energy',
    'engineer',
    'engineering',
    'enterprises',
    'epost',
    'epson',
    'equipment',
    'er',
    'ericsson',
    'erni',
    'es',
    'esq',
    'estate',
    'esurance',
    'et',
    'etisalat',
    'eu',
    'eurovision',
    'eus',
    'events',
    'everbank',
    'exchange',
    'expert',
    'exposed',
    'express',
    'extraspace',
    'fage',
    'fail',
    'fairwinds',
    'faith',
    'family',
    'fan',
    'fans',
    'farm',
    'farmers',
    'fashion',
    'fast',
    'fedex',
    'feedback',
    'ferrari',
    'ferrero',
    'fi',
    'fiat',
    'fidelity',
    'fido',
    'film',
    'final',
    'finance',
    'financial',
    'fire',
    'firestone',
    'firmdale',
    'fish',
    'fishing',
    'fit',
    'fitness',
    'fj',
    'fk',
    'flickr',
    'flights',
    'flir',
    'florist',
    'flowers',
    'fly',
    'fm',
    'fo',
    'foo',
    'food',
    'foodnetwork',
    'football',
    'ford',
    'forex',
    'forsale',
    'forum',
    'foundation',
    'fox',
    'fr',
    'free',
    'fresenius',
    'frl',
    'frogans',
    'frontdoor',
    'frontier',
    'ftr',
    'fujitsu',
    'fujixerox',
    'fun',
    'fund',
    'furniture',
    'futbol',
    'fyi',
    'ga',
    'gal',
    'gallery',
    'gallo',
    'gallup',
    'game',
    'games',
    'gap',
    'garden',
    'gb',
    'gbiz',
    'gd',
    'gdn',
    'ge',
    'gea',
    'gent',
    'genting',
    'george',
    'gf',
    'gg',
    'ggee',
    'gh',
    'gi',
    'gift',
    'gifts',
    'gives',
    'giving',
    'gl',
    'glade',
    'glass',
    'gle',
    'global',
    'globo',
    'gm',
    'gmail',
    'gmbh',
    'gmo',
    'gmx',
    'gn',
    'godaddy',
    'gold',
    'goldpoint',
    'golf',
    'goo',
    'goodyear',
    'goog',
    'google',
    'gop',
    'got',
    'gov',
    'gp',
    'gq',
    'gr',
    'grainger',
    'graphics',
    'gratis',
    'green',
    'gripe',
    'grocery',
    'group',
    'gs',
    'gt',
    'gu',
    'guardian',
    'gucci',
    'guge',
    'guide',
    'guitars',
    'guru',
    'gw',
    'gy',
    'hair',
    'hamburg',
    'hangout',
    'haus',
    'hbo',
    'hdfc',
    'hdfcbank',
    'health',
    'healthcare',
    'help',
    'helsinki',
    'here',
    'hermes',
    'hgtv',
    'hiphop',
    'hisamitsu',
    'hitachi',
    'hiv',
    'hk',
    'hkt',
    'hm',
    'hn',
    'hockey',
    'holdings',
    'holiday',
    'homedepot',
    'homegoods',
    'homes',
    'homesense',
    'honda',
    'honeywell',
    'horse',
    'hospital',
    'host',
    'hosting',
    'hot',
    'hoteles',
    'hotels',
    'hotmail',
    'house',
    'how',
    'hr',
    'hsbc',
    'ht',
    'hu',
    'hughes',
    'hyatt',
    'hyundai',
    'ibm',
    'icbc',
    'ice',
    'icu',
    'id',
    'ie',
    'ieee',
    'ifm',
    'ikano',
    'il',
    'im',
    'imamat',
    'imdb',
    'immo',
    'immobilien',
    'in',
    'inc',
    'industries',
    'infiniti',
    'info',
    'ing',
    'ink',
    'institute',
    'insurance',
    'insure',
    'int',
    'intel',
    'international',
    'intuit',
    'investments',
    'io',
    'ipiranga',
    'iq',
    'ir',
    'irish',
    'is',
    'iselect',
    'ismaili',
    'ist',
    'istanbul',
    'it',
    'itau',
    'itv',
    'iveco',
    'jaguar',
    'java',
    'jcb',
    'jcp',
    'je',
    'jeep',
    'jetzt',
    'jewelry',
    'jio',
    'jll',
    'jm',
    'jmp',
    'jnj',
    'jo',
    'jobs',
    'joburg',
    'jot',
    'joy',
    'jp',
    'jpmorgan',
    'jprs',
    'juegos',
    'juniper',
    'kaufen',
    'kddi',
    'ke',
    'kerryhotels',
    'kerrylogistics',
    'kerryproperties',
    'kfh',
    'kg',
    'kh',
    'ki',
    'kia',
    'kim',
    'kinder',
    'kindle',
    'kitchen',
    'kiwi',
    'km',
    'kn',
    'koeln',
    'komatsu',
    'kosher',
    'kp',
    'kpmg',
    'kpn',
    'kr',
    'krd',
    'kred',
    'kuokgroup',
    'kw',
    'ky',
    'kyoto',
    'kz',
    'la',
    'lacaixa',
    'ladbrokes',
    'lamborghini',
    'lamer',
    'lancaster',
    'lancia',
    'lancome',
    'land',
    'landrover',
    'lanxess',
    'lasalle',
    'lat',
    'latino',
    'latrobe',
    'law',
    'lawyer',
    'lb',
    'lc',
    'lds',
    'lease',
    'leclerc',
    'lefrak',
    'legal',
    'lego',
    'lexus',
    'lgbt',
    'li',
    'liaison',
    'lidl',
    'life',
    'lifeinsurance',
    'lifestyle',
    'lighting',
    'like',
    'lilly',
    'limited',
    'limo',
    'lincoln',
    'linde',
    'link',
    'lipsy',
    'live',
    'living',
    'lixil',
    'lk',
    'llc',
    'loan',
    'loans',
    'locker',
    'locus',
    'loft',
    'lol',
    'london',
    'lotte',
    'lotto',
    'love',
    'lpl',
    'lplfinancial',
    'lr',
    'ls',
    'lt',
    'ltd',
    'ltda',
    'lu',
    'lundbeck',
    'lupin',
    'luxe',
    'luxury',
    'lv',
    'ly',
    'ma',
    'macys',
    'madrid',
    'maif',
    'maison',
    'makeup',
    'man',
    'management',
    'mango',
    'map',
    'market',
    'marketing',
    'markets',
    'marriott',
    'marshalls',
    'maserati',
    'mattel',
    'mba',
    'mc',
    'mckinsey',
    'md',
    'me',
    'med',
    'media',
    'meet',
    'melbourne',
    'meme',
    'memorial',
    'men',
    'menu',
    'merckmsd',
    'metlife',
    'mg',
    'mh',
    'miami',
    'microsoft',
    'mil',
    'mini',
    'mint',
    'mit',
    'mitsubishi',
    'mk',
    'ml',
    'mlb',
    'mls',
    'mm',
    'mma',
    'mn',
    'mo',
    'mobi',
    'mobile',
    'mobily',
    'moda',
    'moe',
    'moi',
    'mom',
    'monash',
    'money',
    'monster',
    'mopar',
    'mormon',
    'mortgage',
    'moscow',
    'moto',
    'motorcycles',
    'mov',
    'movie',
    'movistar',
    'mp',
    'mq',
    'mr',
    'ms',
    'msd',
    'mt',
    'mtn',
    'mtr',
    'mu',
    'museum',
    'mutual',
    'mv',
    'mw',
    'mx',
    'my',
    'mz',
    'na',
    'nab',
    'nadex',
    'nagoya',
    'name',
    'nationwide',
    'natura',
    'navy',
    'nba',
    'nc',
    'ne',
    'nec',
    'net',
    'netbank',
    'netflix',
    'network',
    'neustar',
    'new',
    'newholland',
    'news',
    'next',
    'nextdirect',
    'nexus',
    'nf',
    'nfl',
    'ng',
    'ngo',
    'nhk',
    'ni',
    'nico',
    'nike',
    'nikon',
    'ninja',
    'nissan',
    'nissay',
    'nl',
    'no',
    'nokia',
    'northwesternmutual',
    'norton',
    'now',
    'nowruz',
    'nowtv',
    'np',
    'nr',
    'nra',
    'nrw',
    'ntt',
    'nu',
    'nyc',
    'nz',
    'obi',
    'observer',
    'off',
    'office',
    'okinawa',
    'olayan',
    'olayangroup',
    'oldnavy',
    'ollo',
    'om',
    'omega',
    'one',
    'ong',
    'onl',
    'online',
    'onyourside',
    'ooo',
    'open',
    'oracle',
    'orange',
    'org',
    'organic',
    'origins',
    'osaka',
    'otsuka',
    'ott',
    'ovh',
    'pa',
    'page',
    'panasonic',
    'paris',
    'pars',
    'partners',
    'parts',
    'party',
    'passagens',
    'pay',
    'pccw',
    'pe',
    'pet',
    'pf',
    'pfizer',
    'pg',
    'ph',
    'pharmacy',
    'phd',
    'philips',
    'phone',
    'photo',
    'photography',
    'photos',
    'physio',
    'piaget',
    'pics',
    'pictet',
    'pictures',
    'pid',
    'pin',
    'ping',
    'pink',
    'pioneer',
    'pizza',
    'pk',
    'pl',
    'place',
    'play',
    'playstation',
    'plumbing',
    'plus',
    'pm',
    'pn',
    'pnc',
    'pohl',
    'poker',
    'politie',
    'porn',
    'post',
    'pr',
    'pramerica',
    'praxi',
    'press',
    'prime',
    'pro',
    'prod',
    'productions',
    'prof',
    'progressive',
    'promo',
    'properties',
    'property',
    'protection',
    'pru',
    'prudential',
    'ps',
    'pt',
    'pub',
    'pw',
    'pwc',
    'py',
    'qa',
    'qpon',
    'quebec',
    'quest',
    'qvc',
    'racing',
    'radio',
    'raid',
    're',
    'read',
    'realestate',
    'realtor',
    'realty',
    'recipes',
    'red',
    'redstone',
    'redumbrella',
    'rehab',
    'reise',
    'reisen',
    'reit',
    'reliance',
    'ren',
    'rent',
    'rentals',
    'repair',
    'report',
    'republican',
    'rest',
    'restaurant',
    'review',
    'reviews',
    'rexroth',
    'rich',
    'richardli',
    'ricoh',
    'rightathome',
    'ril',
    'rio',
    'rip',
    'rmit',
    'ro',
    'rocher',
    'rocks',
    'rodeo',
    'rogers',
    'room',
    'rs',
    'rsvp',
    'ru',
    'rugby',
    'ruhr',
    'run',
    'rw',
    'rwe',
    'ryukyu',
    'sa',
    'saarland',
    'safe',
    'safety',
    'sakura',
    'sale',
    'salon',
    'samsclub',
    'samsung',
    'sandvik',
    'sandvikcoromant',
    'sanofi',
    'sap',
    'sarl',
    'sas',
    'save',
    'saxo',
    'sb',
    'sbi',
    'sbs',
    'sc',
    'sca',
    'scb',
    'schaeffler',
    'schmidt',
    'scholarships',
    'school',
    'schule',
    'schwarz',
    'science',
    'scjohnson',
    'scor',
    'scot',
    'sd',
    'se',
    'search',
    'seat',
    'secure',
    'security',
    'seek',
    'select',
    'sener',
    'services',
    'ses',
    'seven',
    'sew',
    'sex',
    'sexy',
    'sfr',
    'sg',
    'sh',
    'shangrila',
    'sharp',
    'shaw',
    'shell',
    'shia',
    'shiksha',
    'shoes',
    'shop',
    'shopping',
    'shouji',
    'show',
    'showtime',
    'shriram',
    'si',
    'silk',
    'sina',
    'singles',
    'site',
    'sj',
    'sk',
    'ski',
    'skin',
    'sky',
    'skype',
    'sl',
    'sling',
    'sm',
    'smart',
    'smile',
    'sn',
    'sncf',
    'so',
    'soccer',
    'social',
    'softbank',
    'software',
    'sohu',
    'solar',
    'solutions',
    'song',
    'sony',
    'soy',
    'space',
    'spiegel',
    'sport',
    'spot',
    'spreadbetting',
    'sr',
    'srl',
    'srt',
    'st',
    'stada',
    'staples',
    'star',
    'starhub',
    'statebank',
    'statefarm',
    'stc',
    'stcgroup',
    'stockholm',
    'storage',
    'store',
    'stream',
    'studio',
    'study',
    'style',
    'su',
    'sucks',
    'supplies',
    'supply',
    'support',
    'surf',
    'surgery',
    'suzuki',
    'sv',
    'swatch',
    'swiftcover',
    'swiss',
    'sx',
    'sy',
    'sydney',
    'symantec',
    'systems',
    'sz',
    'tab',
    'taipei',
    'talk',
    'taobao',
    'target',
    'tatamotors',
    'tatar',
    'tattoo',
    'tax',
    'taxi',
    'tc',
    'tci',
    'td',
    'tdk',
    'team',
    'tech',
    'technology',
    'tel',
    'telefonica',
    'temasek',
    'tennis',
    'teva',
    'tf',
    'tg',
    'th',
    'thd',
    'theater',
    'theatre',
    'tiaa',
    'tickets',
    'tienda',
    'tiffany',
    'tips',
    'tires',
    'tirol',
    'tj',
    'tjmaxx',
    'tjx',
    'tk',
    'tkmaxx',
    'tl',
    'tm',
    'tmall',
    'tn',
    'to',
    'today',
    'tokyo',
    'tools',
    'top',
    'toray',
    'toshiba',
    'total',
    'tours',
    'town',
    'toyota',
    'toys',
    'tr',
    'trade',
    'trading',
    'training',
    'travel',
    'travelchannel',
    'travelers',
    'travelersinsurance',
    'trust',
    'trv',
    'tt',
    'tube',
    'tui',
    'tunes',
    'tushu',
    'tv',
    'tvs',
    'tw',
    'tz',
    'ua',
    'ubank',
    'ubs',
    'uconnect',
    'ug',
    'uk',
    'unicom',
    'university',
    'uno',
    'uol',
    'ups',
    'us',
    'uy',
    'uz',
    'va',
    'vacations',
    'vana',
    'vanguard',
    'vc',
    've',
    'vegas',
    'ventures',
    'verisign',
    'versicherung',
    'vet',
    'vg',
    'vi',
    'viajes',
    'video',
    'vig',
    'viking',
    'villas',
    'vin',
    'vip',
    'virgin',
    'visa',
    'vision',
    'vistaprint',
    'viva',
    'vivo',
    'vlaanderen',
    'vn',
    'vodka',
    'volkswagen',
    'volvo',
    'vote',
    'voting',
    'voto',
    'voyage',
    'vu',
    'vuelos',
    'wales',
    'walmart',
    'walter',
    'wang',
    'wanggou',
    'warman',
    'watch',
    'watches',
    'weather',
    'weatherchannel',
    'webcam',
    'weber',
    'website',
    'wed',
    'wedding',
    'weibo',
    'weir',
    'wf',
    'whoswho',
    'wien',
    'wiki',
    'williamhill',
    'win',
    'windows',
    'wine',
    'winners',
    'wme',
    'wolterskluwer',
    'woodside',
    'work',
    'works',
    'world',
    'wow',
    'ws',
    'wtc',
    'wtf',
    'xbox',
    'xerox',
    'xfinity',
    'xihuan',
    'xin',
    'xn--11b4c3d',
    'xn--1ck2e1b',
    'xn--1qqw23a',
    'xn--2scrj9c',
    'xn--30rr7y',
    'xn--3bst00m',
    'xn--3ds443g',
    'xn--3e0b707e',
    'xn--3hcrj9c',
    'xn--3oq18vl8pn36a',
    'xn--3pxu8k',
    'xn--42c2d9a',
    'xn--45br5cyl',
    'xn--45brj9c',
    'xn--45q11c',
    'xn--4gbrim',
    'xn--54b7fta0cc',
    'xn--55qw42g',
    'xn--55qx5d',
    'xn--5su34j936bgsg',
    'xn--5tzm5g',
    'xn--6frz82g',
    'xn--6qq986b3xl',
    'xn--80adxhks',
    'xn--80ao21a',
    'xn--80aqecdr1a',
    'xn--80asehdb',
    'xn--80aswg',
    'xn--8y0a063a',
    'xn--90a3ac',
    'xn--90ae',
    'xn--90ais',
    'xn--9dbq2a',
    'xn--9et52u',
    'xn--9krt00a',
    'xn--b4w605ferd',
    'xn--bck1b9a5dre4c',
    'xn--c1avg',
    'xn--c2br7g',
    'xn--cck2b3b',
    'xn--cg4bki',
    'xn--clchc0ea0b2g2a9gcd',
    'xn--czr694b',
    'xn--czrs0t',
    'xn--czru2d',
    'xn--d1acj3b',
    'xn--d1alf',
    'xn--e1a4c',
    'xn--eckvdtc9d',
    'xn--efvy88h',
    'xn--estv75g',
    'xn--fct429k',
    'xn--fhbei',
    'xn--fiq228c5hs',
    'xn--fiq64b',
    'xn--fiqs8s',
    'xn--fiqz9s',
    'xn--fjq720a',
    'xn--flw351e',
    'xn--fpcrj9c3d',
    'xn--fzc2c9e2c',
    'xn--fzys8d69uvgm',
    'xn--g2xx48c',
    'xn--gckr3f0f',
    'xn--gecrj9c',
    'xn--gk3at1e',
    'xn--h2breg3eve',
    'xn--h2brj9c',
    'xn--h2brj9c8c',
    'xn--hxt814e',
    'xn--i1b6b1a6a2e',
    'xn--imr513n',
    'xn--io0a7i',
    'xn--j1aef',
    'xn--j1amh',
    'xn--j6w193g',
    'xn--jlq61u9w7b',
    'xn--jvr189m',
    'xn--kcrx77d1x4a',
    'xn--kprw13d',
    'xn--kpry57d',
    'xn--kpu716f',
    'xn--kput3i',
    'xn--l1acc',
    'xn--lgbbat1ad8j',
    'xn--mgb9awbf',
    'xn--mgba3a3ejt',
    'xn--mgba3a4f16a',
    'xn--mgba7c0bbn0a',
    'xn--mgbaakc7dvf',
    'xn--mgbaam7a8h',
    'xn--mgbab2bd',
    'xn--mgbai9azgqp6j',
    'xn--mgbayh7gpa',
    'xn--mgbb9fbpob',
    'xn--mgbbh1a',
    'xn--mgbbh1a71e',
    'xn--mgbc0a9azcg',
    'xn--mgbca7dzdo',
    'xn--mgberp4a5d4ar',
    'xn--mgbgu82a',
    'xn--mgbi4ecexp',
    'xn--mgbpl2fh',
    'xn--mgbt3dhd',
    'xn--mgbtx2b',
    'xn--mgbx4cd0ab',
    'xn--mix891f',
    'xn--mk1bu44c',
    'xn--mxtq1m',
    'xn--ngbc5azd',
    'xn--ngbe9e0a',
    'xn--ngbrx',
    'xn--node',
    'xn--nqv7f',
    'xn--nqv7fs00ema',
    'xn--nyqy26a',
    'xn--o3cw4h',
    'xn--ogbpf8fl',
    'xn--otu796d',
    'xn--p1acf',
    'xn--p1ai',
    'xn--pbt977c',
    'xn--pgbs0dh',
    'xn--pssy2u',
    'xn--q9jyb4c',
    'xn--qcka1pmc',
    'xn--qxam',
    'xn--rhqv96g',
    'xn--rovu88b',
    'xn--rvc1e0am3e',
    'xn--s9brj9c',
    'xn--ses554g',
    'xn--t60b56a',
    'xn--tckwe',
    'xn--tiq49xqyj',
    'xn--unup4y',
    'xn--vermgensberater-ctb',
    'xn--vermgensberatung-pwb',
    'xn--vhquv',
    'xn--vuq861b',
    'xn--w4r85el8fhu5dnra',
    'xn--w4rs40l',
    'xn--wgbh1c',
    'xn--wgbl6a',
    'xn--xhq521b',
    'xn--xkc2al3hye2a',
    'xn--xkc2dl3a5ee0h',
    'xn--y9a3aq',
    'xn--yfro4i67o',
    'xn--ygbi2ammx',
    'xn--zfr164b',
    'xxx',
    'xyz',
    'yachts',
    'yahoo',
    'yamaxun',
    'yandex',
    'ye',
    'yodobashi',
    'yoga',
    'yokohama',
    'you',
    'youtube',
    'yt',
    'yun',
    'za',
    'zappos',
    'zara',
    'zero',
    'zip',
    'zippo',
    'zm',
    'zone',
    'zuerich',
    'zw',
    'onion',
]

schemes = [
    'aaa',
    'aaas',
    'about',
    'acap',
    'acct',
    'acr',
    'adiumxtra',
    'afp',
    'afs',
    'aim',
    'appdata',
    'apt',
    'attachment',
    'aw',
    'barion',
    'beshare',
    'bitcoin',
    'bitcoincash',
    'blob',
    'bolo',
    'browserext',
    'calculator',
    'callto',
    'cap',
    'chrome',
    'chrome-extension',
    'cid',
    'coap',
    'coap+tcp',
    'coap+ws',
    'coaps',
    'coaps+tcp',
    'coaps+ws',
    'com-eventbrite-attendee',
    'content',
    'conti',
    'crid',
    'cvs',
    'data',
    'dav',
    'diaspora',
    'dict',
    'did',
    'dis',
    'dlna-playcontainer',
    'dlna-playsingle',
    'dns',
    'dntp',
    'dtn',
    'dvb',
    'ed2k',
    'elsi',
    'example',
    'facetime',
    'fax',
    'feed',
    'feedready',
    'file',
    'filesystem',
    'finger',
    'fish',
    'ftp',
    'geo',
    'gg',
    'git',
    'gizmoproject',
    'go',
    'gopher',
    'graph',
    'gtalk',
    'h323',
    'ham',
    'hcap',
    'hcp',
    'http',
    'https',
    'hxxp',
    'hxxps',
    'hydrazone',
    'iax',
    'icap',
    'icon',
    'im',
    'imap',
    'info',
    'iotdisco',
    'ipn',
    'ipp',
    'ipps',
    'irc',
    'irc6',
    'ircs',
    'iris',
    'iris.beep',
    'iris.lwz',
    'iris.xpc',
    'iris.xpcs',
    'isostore',
    'itms',
    'jabber',
    'jar',
    'jms',
    'keyparc',
    'lastfm',
    'ldap',
    'ldaps',
    'lvlt',
    'magnet',
    'mailserver',
    'mailto',
    'maps',
    'market',
    'message',
    'microsoft.windows.camera',
    'microsoft.windows.camera.multipicker',
    'microsoft.windows.camera.picker',
    'mid',
    'mms',
    'modem',
    'mongodb',
    'moz',
    'ms-access',
    'ms-browser-extension',
    'ms-calculator',
    'ms-drive-to',
    'ms-enrollment',
    'ms-excel',
    'ms-eyecontrolspeech',
    'ms-gamebarservices',
    'ms-gamingoverlay',
    'ms-getoffice',
    'ms-help',
    'ms-infopath',
    'ms-inputapp',
    'ms-lockscreencomponent-config',
    'ms-media-stream-id',
    'ms-mixedrealitycapture',
    'ms-officeapp',
    'ms-people',
    'ms-project',
    'ms-powerpoint',
    'ms-publisher',
    'ms-restoretabcompanion',
    'ms-screenclip',
    'ms-screensketch',
    'ms-search',
    'ms-search-repair',
    'ms-secondary-screen-controller',
    'ms-secondary-screen-setup',
    'ms-settings',
    'ms-settings-airplanemode',
    'ms-settings-bluetooth',
    'ms-settings-camera',
    'ms-settings-cellular',
    'ms-settings-cloudstorage',
    'ms-settings-connectabledevices',
    'ms-settings-displays-topology',
    'ms-settings-emailandaccounts',
    'ms-settings-language',
    'ms-settings-location',
    'ms-settings-lock',
    'ms-settings-nfctransactions',
    'ms-settings-notifications',
    'ms-settings-power',
    'ms-settings-privacy',
    'ms-settings-proximity',
    'ms-settings-screenrotation',
    'ms-settings-wifi',
    'ms-settings-workplace',
    'ms-spd',
    'ms-sttoverlay',
    'ms-transit-to',
    'ms-useractivityset',
    'ms-virtualtouchpad',
    'ms-visio',
    'ms-walk-to',
    'ms-whiteboard',
    'ms-whiteboard-cmd',
    'ms-word',
    'msnim',
    'msrp',
    'msrps',
    'mtqp',
    'mumble',
    'mupdate',
    'mvn',
    'news',
    'nfs',
    'ni',
    'nih',
    'nntp',
    'notes',
    'ocf',
    'oid',
    'onenote',
    'onenote-cmd',
    'opaquelocktoken',
    'openpgp4fpr',
    'pack',
    'palm',
    'paparazzi',
    'pkcs11',
    'platform',
    'pop',
    'pres',
    'prospero',
    'proxy',
    'pwid',
    'psyc',
    'qb',
    'query',
    'redis',
    'rediss',
    'reload',
    'res',
    'resource',
    'rmi',
    'rsync',
    'rtmfp',
    'rtmp',
    'rtsp',
    'rtsps',
    'rtspu',
    'secondlife',
    'service',
    'session',
    'sftp',
    'sgn',
    'shttp',
    'sieve',
    'simpleledger',
    'sip',
    'sips',
    'skype',
    'smb',
    'sms',
    'smtp',
    'snews',
    'snmp',
    'soap.beep',
    'soap.beeps',
    'soldat',
    'spiffe',
    'spotify',
    'ssh',
    'steam',
    'stun',
    'stuns',
    'submit',
    'svn',
    'tag',
    'teamspeak',
    'tel',
    'teliaeid',
    'telnet',
    'tftp',
    'things',
    'thismessage',
    'tip',
    'tn3270',
    'tool',
    'turn',
    'turns',
    'tv',
    'udp',
    'unreal',
    'urn',
    'ut2004',
    'v-event',
    'vemmi',
    'ventrilo',
    'videotex',
    'vnc',
    'view-source',
    'wais',
    'webcal',
    'wpid',
    'ws',
    'wss',
    'wtai',
    'wyciwyg',
    'xcon',
    'xcon-userid',
    'xfire',
    'xmlrpc.beep',
    'xmlrpc.beeps',
    'xmpp',
    'xri',
    'ymsgr',
    'z39.50',
    'z39.50r',
    'z39.50s',
]
