diff --git a/src/gam.py b/src/gam.py index 32490aee..1d460b42 100755 --- a/src/gam.py +++ b/src/gam.py @@ -12025,7 +12025,7 @@ def _guessAUE(cros, guessedAUEs): crosModel = cros.get('model') if crosModel: if crosModel not in guessedAUEs: - closest_match = difflib.get_close_matches(crosModel, CROS_AUE_DATES, n=1) + closest_match = difflib.get_close_matches(crosModel.lower(), CROS_AUE_DATES, n=1) if closest_match: guessedAUEs[crosModel] = {'guessedAUEDate': CROS_AUE_DATES[closest_match[0]], 'guessedAUEModel': closest_match[0]} diff --git a/src/tools/parse-aue.py b/src/tools/parse-aue.py old mode 100644 new mode 100755 index a65a953f..121fb82d --- a/src/tools/parse-aue.py +++ b/src/tools/parse-aue.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + from xml.etree import ElementTree as ET import requests from html.parser import HTMLParser @@ -13,39 +15,80 @@ class MyHTMLParser(HTMLParser): next_data_is_td = True def handle_data(self, data): - global oem, next_data_is_oem, next_data_is_td, data_is_date, model, printable + global oem, next_data_is_oem, next_data_is_td, data_is_date, model, printable, output_rows if next_data_is_oem: oem = ''.join(filter(lambda x: x in printable, data)) next_data_is_oem = False elif next_data_is_td: if data_is_date: if model.lower().startswith(oem.lower()): - fullname = model + fullname = model.lower() else: fullname = '%s %s' % (oem, model) + fullname = fullname.lower() date = dateutil.parser.parse(data).replace(day=1).strftime('%Y-%m-%dT00:00:00.000Z') - print(' "%s": "%s",' % (fullname, date)) + output_rows.append(" '%s': '%s'," % (fullname, date)) if fullname in exceptions: for value in exceptions[fullname]: - print(' "%s": "%s",' % (value, date)) + output_rows.append(" '%s': '%s'," % (value, date)) data_is_date = False else: model = ''.join(filter(lambda x: x in printable, data)).replace('"', '\\"') data_is_date = True next_data_is_td = False -global oem, next_data_is_oem, next_data_is_td, data_is_date, model, printable, exceptions +global oem, next_data_is_oem, next_data_is_td, data_is_date, model, printable, exceptions, output_rows +output_rows = [] printable = set(string.printable) exceptions = { - # 'AUE "OEM MODEL': ['API MODEL 1', ...] - 'Acer Chromebook 11 (C720, C720P)': ['Acer C720 Chromebook', 'Acer C740 Chromebook'], - 'Acer Chromebook 315 (CB315-2H)': ['Acer Chromebook 315'], - 'CTL Chromebook NL7 / NL7T-360 / NL7TW-360': ['CTL Chromebook NL7'], - 'Lenovo ThinkPad 11e 3rd Gen Chromebook': ['ThinkPad 11e Chromebook 3rd Gen (Yoga/Clamshell)'], - 'Samsung Chromebook - XE303': ['Samsung Chromebook'], - 'HP Chromebook 11 G1': ['HP Chromebook 11 1100-1199 / HP Chromebook 11 G1'], - 'HP Chromebook 14 G4': ['HP Chromebook 14 ak000-099 / HP Chromebook 14 G4'], - 'HP Chromebook 14 G5': ['HP Chromebook 14 / HP Chromebook 14 G5'], + # 'AUE OEM MODEL': ['API MODEL 1', ...] + 'acer c7 chromebook': ['acer c7 chromebook (c710)'], + 'acer chromebook 11 (c720, c720p)': ['acer c720 chromebook', 'acer c740 chromebook'], + 'acer chromebook 11 (cb3-111, c730, c730e)': ['chromebook 11 (c730 / cb3-111)'], + 'acer chromebook 11 (cb3-131, c735)': ['chromebook 11 (c735)'], + 'acer chromebook 15 (cb515-1h,cb515-1ht)': ['chromebook 15 (cb515 - 1ht / 1h)'], + 'acer chromebook 15 (cb5-571, c910)': ['acer chromebook 15 (c910 / cb5-571)'], + 'acer chromebook 315 (cb315-2h)': ['acer chromebook 315'], + 'acer chromebook spin 311 (r721t)': ['acer chromebook 311'], + 'acer chromebook spin 511 (r752t, r752tn)': ['acer chromebook spin 511'], + 'acer chromebox cxi2 / cxv2': ['acer chromebox cxi2'], + 'asus chromebook c200': ['asus chromebook c200ma'], + 'asus chromebook c201pa': ['asus chromebook c201pa'], + 'asus chromebook c204': ['asus chromebook c204'], + 'asus chromebook c300': ['asus chromebook c300ma'], + 'asus chromebook flip c213': ['asus chromebook c213na'], + 'asus chromebox 2 (cn62)': ['asus chromebox cn62'], + 'asus chromebox 3 (cn65)': ['asus chromebox 3'], + 'asus chromebox (cn60)': ['asus chromebox cn60'], + 'ctl chromebook nl7 / nl7t-360 / nl7tw-360': ['ctl chromebook nl7'], + 'ctl chromebook tablet tx1 for education': ['ctl chromebook tab tx1'], + 'ctl nl61 chromebook': ['mecer v2 chromebook'], + 'google cr-48': ['cr-48'], + 'haier chromebook 11e': ['chromebook pcm-116e', 'lumos education chromebook'], + 'haier chromebook 11': ['true idc chromebook 11', 'xolo chromebook'], + 'hisense chromebook 11': ['epik 11.6" chromebook elb1101', 'mecer chromebook', 'videonet chromebook bl10'], + 'hp chromebook 11 g1': ['hp chromebook 11 1100-1199 / hp chromebook 11 g1'], + 'hp chromebook 11 g2': ['hp chromebook 11 2000-2099 / hp chromebook 11 g2'], + 'hp chromebook 11 g3': ['hp chromebook 11 2100-2199 / hp chromebook 11 g3'], + 'hp chromebook 11 g4/g4 ee': ['hp chromebook 11 2200-2299 / hp chromebook 11 g4/g4 ee'], + 'hp chromebook 11 g5': ['hp chromebook 11 g5 / hp chromebook 11-vxxx'], + 'hp chromebook 14a g5': ['hp chromebook 14 db0000-db0999'], + 'hp chromebook 14 g3': ['hp chromebook 14 x000-x999 / hp chromebook 14 g3'], + 'hp chromebook 14 g4': ['hp chromebook 14 ak000-099 / hp chromebook 14 g4'], + 'hp chromebook 14 g5': ['hp chromebook 14 / hp chromebook 14 g5'], + 'hp chromebook x360 14': ['hp chromebook 15 g1'], + 'hp chromebox g1': ['hp chromebox cb1-(000-099) / hp chromebox g1/ hp chromebox for meetings'], + 'lenovo ideapad c330 chromebook': ['lenovo chromebook c330'], + 'lenovo ideapad s330 chromebook': ['lenovo chromebook s330'], + 'lenovo n21 chromebook': ['asi chromebook', 'crambo chromebook', 'jp sa couto chromebook', 'rgs education chromebook', 'true idc chromebook', 'videonet chromebook', 'consumer chromebook'], + 'lenovo thinkpad 11e 3rd gen chromebook': ['thinkpad 11e chromebook 3rd gen (yoga/clamshell)'], + 'lenovo thinkpad 11e 4th gen chromebook': ['lenovo thinkpad 11e chromebook (4th gen)/lenovo thinkpad yoga 11e chromebook (4th gen)'], + 'lenovo thinkpad 13': ['thinkpad 13 chromebook'], + 'poin2 chromebook 14': ['poin2 chromebook 11c'], + 'prowise chromebook eduline': ['viglen chromebook 11c'], + 'prowise chromebook entryline': ['prowise 11.6\" entry line chromebook'], + 'prowise chromebook proline': ['prowise proline chromebook'], + 'samsung chromebook - xe303': ['samsung chromebook'], } next_data_is_oem = False next_data_is_td = False @@ -54,4 +97,7 @@ auepage = requests.get('https://support.google.com/chrome/a/answer/6220366?hl=en print('cros_aue = {') parser = MyHTMLParser() parser.feed(auepage.content.decode('utf-8')) +output_rows.sort(key=str.lower) +for row in output_rows: + print(row) print('}') diff --git a/src/var.py b/src/var.py index ed4928d4..7f62870b 100644 --- a/src/var.py +++ b/src/var.py @@ -596,209 +596,258 @@ CROS_TPM_FIXED_VERSIONS = ['422', '62b', '8521',] # parsed from https://support.google.com/chrome/a/answer/6220366?hl=en # parse script at https://gist.github.com/jay0lee/bf123375022a08e72ab1c53f01719ee6 CROS_AUE_DATES = { - "Acer AC700": "2016-08-01T00:00:00.000Z", - "Acer C7 Chromebook": "2017-10-01T00:00:00.000Z", - "Acer Chromebook Tab 10": "2023-08-01T00:00:00.000Z", - "Acer Chromebook 11 (C720, C720P)": "2019-06-01T00:00:00.000Z", - "Acer C720 Chromebook": "2019-06-01T00:00:00.000Z", - "Acer C740 Chromebook": "2019-06-01T00:00:00.000Z", - "Acer Chromebook 11 (C740)": "2020-06-01T00:00:00.000Z", - "Acer Chromebook 11 (CB3-111, C730, C730E)": "2019-08-01T00:00:00.000Z", - "Acer Chromebook 11 (CB3-131, C735)": "2021-01-01T00:00:00.000Z", - "Acer Chromebook 11 N7 (C731, C731T)": "2022-01-01T00:00:00.000Z", - "Acer Chromebook 11 (CB311-8H, CB311-8HT)": "2023-11-01T00:00:00.000Z", - "Acer Chromebook 11 (C732, C732T, C732L, C732LT)": "2023-11-01T00:00:00.000Z", - "Acer Chromebook 11 (C771, C771T)": "2022-11-01T00:00:00.000Z", - "Acer Chromebook 311 (C733, C733U, C733T)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook 311 (C721)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook 315 (CB315-2H)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook 315": "2025-06-01T00:00:00.000Z", - "Acer Chromebook 512 (C851, C851T)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook 13(CB5-311)": "2019-09-01T00:00:00.000Z", - "Acer Chromebook 13 (CB713-1W)": "2024-06-01T00:00:00.000Z", - "Acer Chromebook 14 (CB3-431)": "2021-06-01T00:00:00.000Z", - "Acer Chromebook 14 for Work (CP5-471)": "2022-11-01T00:00:00.000Z", - "Acer Chromebook 514": "2023-11-01T00:00:00.000Z", - "Acer Chromebook 15 (CB5-571, C910)": "2020-06-01T00:00:00.000Z", - "Acer Chromebook 15 (CB3-531)": "2020-06-01T00:00:00.000Z", - "Acer Chromebook 15 (CB3-532)": "2021-08-01T00:00:00.000Z", - "Acer Chromebook 15 (CB315-1H,CB315-1HT)": "2023-11-01T00:00:00.000Z", - "Acer Chromebook 15 (CB515-1H,CB515-1HT)": "2023-11-01T00:00:00.000Z", - "Acer Chromebook 715 (CB715-1W / CB715-1WT)": "2024-06-01T00:00:00.000Z", - "Acer Chromebook 714 (CB714-1W / CB714-1WT)": "2024-06-01T00:00:00.000Z", - "Acer Chromebook R11 (CB5-132T, C738T)": "2021-06-01T00:00:00.000Z", - "Acer Chromebook Spin 11 (R751T)": "2023-11-01T00:00:00.000Z", - "Acer Chromebook Spin 11 (CP311-H1, CP311-1HN)": "2023-11-01T00:00:00.000Z", - "Acer Chromebook Spin 311 (R721T)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook Spin 511 (R752T, R752TN)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook Spin 512 (R851TN)": "2025-06-01T00:00:00.000Z", - "Acer Chromebook R13 (CB5-312T)": "2021-09-01T00:00:00.000Z", - "Acer Chromebook Spin 13 (CP713-1WN)": "2024-06-01T00:00:00.000Z", - "Acer Chromebook Spin 15 (CP315)": "2023-11-01T00:00:00.000Z", - "Acer Chromebox": "2019-09-01T00:00:00.000Z", - "Acer Chromebox CXI2 / CXV2": "2020-06-01T00:00:00.000Z", - "Acer Chromebox CXI3": "2024-06-01T00:00:00.000Z", - "Acer Chromebase": "2020-08-01T00:00:00.000Z", - "Acer Chromebase 24": "2021-06-01T00:00:00.000Z", - "AOpen Chromebase Commercial": "2020-09-01T00:00:00.000Z", - "AOpen Chromebox Commercial": "2020-09-01T00:00:00.000Z", - "AOpen Chromebox Mini": "2022-02-01T00:00:00.000Z", - "AOpen Chromebase Mini": "2022-02-01T00:00:00.000Z", - "Asus Chromebit CS10": "2020-11-01T00:00:00.000Z", - "Asus Chromebook Tablet CT100": "2023-08-01T00:00:00.000Z", - "Asus Chromebook C200": "2019-06-01T00:00:00.000Z", - "Asus Chromebook C201PA": "2020-06-01T00:00:00.000Z", - "Asus Chromebook C202SA": "2021-06-01T00:00:00.000Z", - "Asus Chromebook C204": "2025-06-01T00:00:00.000Z", - "Asus Chromebook C223": "2023-11-01T00:00:00.000Z", - "Asus Chromebook C300": "2019-08-01T00:00:00.000Z", - "Asus Chromebook C300SA / C301SA": "2021-06-01T00:00:00.000Z", - "Asus Chromebook C403": "2023-11-01T00:00:00.000Z", - "Asus Chromebook C423": "2023-11-01T00:00:00.000Z", - "Asus Chromebook C523": "2023-11-01T00:00:00.000Z", - "Asus Chromebook Flip C100PA": "2020-07-01T00:00:00.000Z", - "Asus Chromebook Flip C101PA": "2023-08-01T00:00:00.000Z", - "Asus Chromebook Flip C213": "2023-11-01T00:00:00.000Z", - "Asus Chromebook Flip C214": "2025-06-01T00:00:00.000Z", - "Asus Chromebook Flip C302": "2022-11-01T00:00:00.000Z", - "Asus Chromebook Flip C434": "2024-06-01T00:00:00.000Z", - "Asus Chromebox (CN60)": "2019-09-01T00:00:00.000Z", - "Asus Chromebox 2 (CN62)": "2021-06-01T00:00:00.000Z", - "Asus Chromebox 3 (CN65)": "2024-06-01T00:00:00.000Z", - "Bobicus Chromebook 11": "2020-06-01T00:00:00.000Z", - "CTL Chromebook Tablet Tx1 for Education": "2023-08-01T00:00:00.000Z", - "CTL J2 / J4 Chromebook": "2020-06-01T00:00:00.000Z", - "CTL N6 Education Chromebook": "2020-06-01T00:00:00.000Z", - "CTL J5 Chromebook": "2021-08-01T00:00:00.000Z", - "CTL NL61 Chromebook": "2021-08-01T00:00:00.000Z", - "CTL Chromebook NL7 / NL7T-360 / NL7TW-360": "2023-11-01T00:00:00.000Z", - "CTL Chromebook NL7": "2023-11-01T00:00:00.000Z", - "CTL Chromebook J41 / J41T": "2023-11-01T00:00:00.000Z", - "CTL Chromebox CBx1": "2024-06-01T00:00:00.000Z", - "Dell Chromebook 11": "2019-06-01T00:00:00.000Z", - "Dell Chromebook 11 (3120)": "2020-06-01T00:00:00.000Z", - "Dell Chromebook 11 (3180)": "2022-05-01T00:00:00.000Z", - "Dell Chromebook 11 (5190)": "2023-11-01T00:00:00.000Z", - "Dell Chromebook 3100": "2025-06-01T00:00:00.000Z", - "Dell Chromebook 11 2-in-1 (3189)": "2022-05-01T00:00:00.000Z", - "Dell Chromebook 11 2-in-1 (5190)": "2023-11-01T00:00:00.000Z", - "Dell Chromebook 3100 2-in-1": "2025-06-01T00:00:00.000Z", - "Dell Chromebook 13 (7310)": "2020-09-01T00:00:00.000Z", - "Dell Chromebook 13 (3380)": "2022-11-01T00:00:00.000Z", - "Dell Chromebook 3400": "2025-06-01T00:00:00.000Z", - "Dell Chromebox": "2019-09-01T00:00:00.000Z", - "Dell Inspiron Chromebook 14 2-in-1 (7486)": "2024-06-01T00:00:00.000Z", - "EduGear Chromebook R": "2020-06-01T00:00:00.000Z", - "EduGear Chromebook K": "2020-06-01T00:00:00.000Z", - "EduGear Chromebook M": "2020-06-01T00:00:00.000Z", - "EduGear CMT Chromebook": "2021-08-01T00:00:00.000Z", - "Edxis Chromebook": "2020-06-01T00:00:00.000Z", - "Edxis Education Chromebook": "2020-06-01T00:00:00.000Z", - "Google Cr-48": "2015-12-01T00:00:00.000Z", - "Google Chromebook Pixel": "2018-06-01T00:00:00.000Z", - "Google Chromebook Pixel (2015)": "2020-06-01T00:00:00.000Z", - "Google Pixelbook": "2024-06-01T00:00:00.000Z", - "Google Pixel Slate": "2024-06-01T00:00:00.000Z", - "Haier Chromebook 11": "2020-06-01T00:00:00.000Z", - "Haier Chromebook 11e": "2020-06-01T00:00:00.000Z", - "Haier Chromebook 11 G2": "2020-09-01T00:00:00.000Z", - "Haier Chromebook 11 C": "2021-08-01T00:00:00.000Z", - "HEXA Chromebook Pi": "2020-06-01T00:00:00.000Z", - "Hisense Chromebook 11": "2020-06-01T00:00:00.000Z", - "HP Chromebook 11 G1": "2018-10-01T00:00:00.000Z", - "HP Chromebook 11 1100-1199 / HP Chromebook 11 G1": "2018-10-01T00:00:00.000Z", - "HP Chromebook 11 G2": "2019-06-01T00:00:00.000Z", - "HP Chromebook 11 G3": "2020-06-01T00:00:00.000Z", - "HP Chromebook 11 G4/G4 EE": "2020-06-01T00:00:00.000Z", - "HP Chromebook 11 G5": "2021-07-01T00:00:00.000Z", - "HP Chromebook 11 G5 EE": "2022-01-01T00:00:00.000Z", - "HP Chromebook 11 G6 EE": "2023-11-01T00:00:00.000Z", - "HP Chromebook 11A G6 EE": "2025-06-01T00:00:00.000Z", - "HP Chromebook 11 G7 EE": "2025-06-01T00:00:00.000Z", - "HP Chromebook 13 G1": "2022-11-01T00:00:00.000Z", - "HP Pavilion Chromebook 14": "2018-02-01T00:00:00.000Z", - "HP Chromebook 14": "2019-06-01T00:00:00.000Z", - "HP Chromebook 14 G3": "2019-10-01T00:00:00.000Z", - "HP Chromebook 14 G4": "2021-09-01T00:00:00.000Z", - "HP Chromebook 14 ak000-099 / HP Chromebook 14 G4": "2021-09-01T00:00:00.000Z", - "HP Chromebook 14 G5": "2023-11-01T00:00:00.000Z", - "HP Chromebook 14 / HP Chromebook 14 G5": "2023-11-01T00:00:00.000Z", - "HP Chromebook 14A G5": "2025-06-01T00:00:00.000Z", - "HP Chromebook x360 11 G1 EE": "2023-11-01T00:00:00.000Z", - "HP Chromebook x360 11 G2 EE": "2025-06-01T00:00:00.000Z", - "HP Chromebook x2 ": "2024-06-01T00:00:00.000Z", - "HP Chromebox G1": "2019-09-01T00:00:00.000Z", - "HP Chromebox G2": "2024-06-01T00:00:00.000Z", - "HP Chromebook x360 14": "2024-06-01T00:00:00.000Z", - "HP Chromebook x360 14 G1": "2024-06-01T00:00:00.000Z", - "Lava Xolo Chromebook": "2020-06-01T00:00:00.000Z", - "Lenovo 100S Chromebook": "2020-09-01T00:00:00.000Z", - "Lenovo Flex 11 Chromebook": "2022-06-01T00:00:00.000Z", - "Lenovo N20 Chromebook": "2019-06-01T00:00:00.000Z", - "Lenovo N21 Chromebook": "2020-06-01T00:00:00.000Z", - "Lenovo N22 Chromebook": "2021-06-01T00:00:00.000Z", - "Lenovo N23 Chromebook": "2021-06-01T00:00:00.000Z", - "Lenovo 100e Chromebook": "2023-11-01T00:00:00.000Z", - "Lenovo 100e Chromebook 2nd Gen": "2025-06-01T00:00:00.000Z", - "Lenovo 100e Chromebook 2nd Gen MTK": "2025-06-01T00:00:00.000Z", - "Lenovo N23 Yoga Chromebook": "2022-06-01T00:00:00.000Z", - "Lenovo 300e Chromebook": "2025-06-01T00:00:00.000Z", - "Lenovo 300e Chromebook 2nd Gen": "2025-06-01T00:00:00.000Z", - "Lenovo 300e Chromebook 2nd Gen MTK": "2025-06-01T00:00:00.000Z", - "Lenovo 500e Chromebook": "2023-11-01T00:00:00.000Z", - "Lenovo 500e Chromebook 2nd Gen": "2025-06-01T00:00:00.000Z", - "Lenovo N42 Chromebook": "2021-06-01T00:00:00.000Z", - "Lenovo 14e Chromebook": "2025-06-01T00:00:00.000Z", - "Lenovo Ideapad S330 Chromebook": "2022-06-01T00:00:00.000Z", - "Lenovo Ideapad C330 Chromebook": "2022-06-01T00:00:00.000Z", - "Lenovo Yoga C630 Chromebook": "2024-06-01T00:00:00.000Z", - "Lenovo Thinkpad X131e Chromebook": "2018-06-01T00:00:00.000Z", - "Lenovo ThinkPad 11e Chromebook": "2019-06-01T00:00:00.000Z", - "Lenovo ThinkPad 11e 3rd Gen Chromebook": "2021-06-01T00:00:00.000Z", - "ThinkPad 11e Chromebook 3rd Gen (Yoga/Clamshell)": "2021-06-01T00:00:00.000Z", - "Lenovo ThinkPad 11e 4th Gen Chromebook": "2023-11-01T00:00:00.000Z", - "Lenovo ThinkPad 13": "2022-11-01T00:00:00.000Z", - "Lenovo ThinkCentre Chromebox": "2020-06-01T00:00:00.000Z", - "LG Chromebase (22CV241)": "2019-06-01T00:00:00.000Z", - "LG Chromebase (22CB25S)": "2020-06-01T00:00:00.000Z", - "M&A Chromebook": "2020-06-01T00:00:00.000Z", - "Medion Chromebook S2015": "2020-06-01T00:00:00.000Z", - "Medion Chromebook Akoya S2013 ": "2020-06-01T00:00:00.000Z", - "Multilaser Chromebook M11C": "2021-08-01T00:00:00.000Z", - "Nexian Chromebook 11.6\"": "2020-06-01T00:00:00.000Z", - "NComputing Chromebook CX100": "2020-06-01T00:00:00.000Z", - "NComputing Chromebook CX110": "2020-06-01T00:00:00.000Z", - "PCMerge ChromebookPCM-116E/PCM-116EB": "2020-06-01T00:00:00.000Z", - "PCMerge ChromebookPCM-116T-432B": "2021-08-01T00:00:00.000Z", - "PCMerge Chromebook AL116": "2023-11-01T00:00:00.000Z", - "Poin2 Chromebook 11": "2020-06-01T00:00:00.000Z", - "Poin2 Chromebook 14": "2022-03-01T00:00:00.000Z", - "Positivo Chromebook CH1190": "2020-06-01T00:00:00.000Z", - "Positivo Chromebook C216B": "2021-08-01T00:00:00.000Z", - "Prowise Chromebook Entryline": "2020-06-01T00:00:00.000Z", - "Prowise Chromebook Proline": "2021-08-01T00:00:00.000Z", - "Prowise Chromebook Eduline": "2023-11-01T00:00:00.000Z", - "Samsung Chromebook Series 5": "2016-06-01T00:00:00.000Z", - "Samsung Chromebook Series 5 550": "2017-05-01T00:00:00.000Z", - "Samsung Chromebox Series 3": "2018-03-01T00:00:00.000Z", - "Samsung Chromebook - XE303": "2018-07-01T00:00:00.000Z", - "Samsung Chromebook": "2018-07-01T00:00:00.000Z", - "Samsung Chromebook 2 11\"": "2019-06-01T00:00:00.000Z", - "Samsung Chromebook 2 11\" - XE500C12": "2020-06-01T00:00:00.000Z", - "Samsung Chromebook 3": "2021-06-01T00:00:00.000Z", - "Samsung Chromebook 2 13\"": "2019-06-01T00:00:00.000Z", - "Samsung Chromebook Plus": "2023-08-01T00:00:00.000Z", - "Samsung Chromebook Plus (V2)": "2024-06-01T00:00:00.000Z", - "Samsung Chromebook Pro": "2022-11-01T00:00:00.000Z", - "Sector 5 E1 Rugged Chromebook": "2020-06-01T00:00:00.000Z", - "Sector 5 E3 Chromebook": "2023-11-01T00:00:00.000Z", - "Senkatel C1101 Chromebook": "2020-06-01T00:00:00.000Z", - "Toshiba Chromebook": "2019-06-01T00:00:00.000Z", - "Toshiba Chromebook 2": "2020-06-01T00:00:00.000Z", - "Toshiba Chromebook 2 (2015 Edition)": "2020-09-01T00:00:00.000Z", - "Viewsonic NMP660 Chromebox": "2024-06-01T00:00:00.000Z", - "Viglen Chromebook 11": "2020-06-01T00:00:00.000Z", - "Viglen Chromebook 360": "2021-08-01T00:00:00.000Z", + 'acer ac700': '2016-08-01T00:00:00.000Z', + 'acer c7 chromebook (c710)': '2017-10-01T00:00:00.000Z', + 'acer c7 chromebook': '2017-10-01T00:00:00.000Z', + 'acer c720 chromebook': '2019-06-01T00:00:00.000Z', + 'acer c740 chromebook': '2019-06-01T00:00:00.000Z', + 'acer chromebase 24': '2021-06-01T00:00:00.000Z', + 'acer chromebase': '2020-08-01T00:00:00.000Z', + 'acer chromebook 11 (c720, c720p)': '2019-06-01T00:00:00.000Z', + 'acer chromebook 11 (c732, c732t, c732l, c732lt)': '2023-11-01T00:00:00.000Z', + 'acer chromebook 11 (c740)': '2020-06-01T00:00:00.000Z', + 'acer chromebook 11 (c771, c771t)': '2022-11-01T00:00:00.000Z', + 'acer chromebook 11 (cb3-111, c730, c730e)': '2019-08-01T00:00:00.000Z', + 'acer chromebook 11 (cb3-131, c735)': '2021-01-01T00:00:00.000Z', + 'acer chromebook 11 (cb311-8h, cb311-8ht)': '2023-11-01T00:00:00.000Z', + 'acer chromebook 11 n7 (c731, c731t)': '2022-01-01T00:00:00.000Z', + 'acer chromebook 13 (cb713-1w)': '2024-06-01T00:00:00.000Z', + 'acer chromebook 13(cb5-311)': '2019-09-01T00:00:00.000Z', + 'acer chromebook 14 (cb3-431)': '2021-06-01T00:00:00.000Z', + 'acer chromebook 14 for work (cp5-471)': '2022-11-01T00:00:00.000Z', + 'acer chromebook 15 (c910 / cb5-571)': '2020-06-01T00:00:00.000Z', + 'acer chromebook 15 (cb3-531)': '2020-06-01T00:00:00.000Z', + 'acer chromebook 15 (cb3-532)': '2021-08-01T00:00:00.000Z', + 'acer chromebook 15 (cb315-1h,cb315-1ht)': '2023-11-01T00:00:00.000Z', + 'acer chromebook 15 (cb5-571, c910)': '2020-06-01T00:00:00.000Z', + 'acer chromebook 15 (cb515-1h,cb515-1ht)': '2023-11-01T00:00:00.000Z', + 'acer chromebook 311 (c721)': '2025-06-01T00:00:00.000Z', + 'acer chromebook 311 (c733, c733u, c733t)': '2025-06-01T00:00:00.000Z', + 'acer chromebook 311': '2025-06-01T00:00:00.000Z', + 'acer chromebook 315 (cb315-2h)': '2025-06-01T00:00:00.000Z', + 'acer chromebook 315': '2025-06-01T00:00:00.000Z', + 'acer chromebook 512 (c851, c851t)': '2025-06-01T00:00:00.000Z', + 'acer chromebook 514': '2023-11-01T00:00:00.000Z', + 'acer chromebook 714 (cb714-1w / cb714-1wt)': '2024-06-01T00:00:00.000Z', + 'acer chromebook 715 (cb715-1w / cb715-1wt)': '2024-06-01T00:00:00.000Z', + 'acer chromebook r11 (cb5-132t, c738t)': '2021-06-01T00:00:00.000Z', + 'acer chromebook r13 (cb5-312t)': '2021-09-01T00:00:00.000Z', + 'acer chromebook spin 11 (cp311-h1, cp311-1hn)': '2023-11-01T00:00:00.000Z', + 'acer chromebook spin 11 (r751t)': '2023-11-01T00:00:00.000Z', + 'acer chromebook spin 13 (cp713-1wn)': '2024-06-01T00:00:00.000Z', + 'acer chromebook spin 15 (cp315)': '2023-11-01T00:00:00.000Z', + 'acer chromebook spin 311 (r721t)': '2025-06-01T00:00:00.000Z', + 'acer chromebook spin 511 (r752t, r752tn)': '2025-06-01T00:00:00.000Z', + 'acer chromebook spin 511': '2025-06-01T00:00:00.000Z', + 'acer chromebook spin 512 (r851tn)': '2025-06-01T00:00:00.000Z', + 'acer chromebook tab 10': '2023-08-01T00:00:00.000Z', + 'acer chromebox cxi2 / cxv2': '2020-06-01T00:00:00.000Z', + 'acer chromebox cxi2': '2020-06-01T00:00:00.000Z', + 'acer chromebox cxi3': '2024-06-01T00:00:00.000Z', + 'acer chromebox': '2019-09-01T00:00:00.000Z', + 'aopen chromebase commercial': '2020-09-01T00:00:00.000Z', + 'aopen chromebase mini': '2022-02-01T00:00:00.000Z', + 'aopen chromebox commercial': '2020-09-01T00:00:00.000Z', + 'aopen chromebox mini': '2022-02-01T00:00:00.000Z', + 'asi chromebook': '2020-06-01T00:00:00.000Z', + 'asus chromebit cs10': '2020-11-01T00:00:00.000Z', + 'asus chromebook c200': '2019-06-01T00:00:00.000Z', + 'asus chromebook c200ma': '2019-06-01T00:00:00.000Z', + 'asus chromebook c201pa': '2020-06-01T00:00:00.000Z', + 'asus chromebook c201pa': '2020-06-01T00:00:00.000Z', + 'asus chromebook c202sa': '2021-06-01T00:00:00.000Z', + 'asus chromebook c204': '2025-06-01T00:00:00.000Z', + 'asus chromebook c204': '2025-06-01T00:00:00.000Z', + 'asus chromebook c213na': '2023-11-01T00:00:00.000Z', + 'asus chromebook c223': '2023-11-01T00:00:00.000Z', + 'asus chromebook c300': '2019-08-01T00:00:00.000Z', + 'asus chromebook c300ma': '2019-08-01T00:00:00.000Z', + 'asus chromebook c300sa / c301sa': '2021-06-01T00:00:00.000Z', + 'asus chromebook c403': '2023-11-01T00:00:00.000Z', + 'asus chromebook c423': '2023-11-01T00:00:00.000Z', + 'asus chromebook c523': '2023-11-01T00:00:00.000Z', + 'asus chromebook flip c100pa': '2020-07-01T00:00:00.000Z', + 'asus chromebook flip c101pa': '2023-08-01T00:00:00.000Z', + 'asus chromebook flip c213': '2023-11-01T00:00:00.000Z', + 'asus chromebook flip c214': '2025-06-01T00:00:00.000Z', + 'asus chromebook flip c302': '2022-11-01T00:00:00.000Z', + 'asus chromebook flip c434': '2024-06-01T00:00:00.000Z', + 'asus chromebook tablet ct100': '2023-08-01T00:00:00.000Z', + 'asus chromebox (cn60)': '2019-09-01T00:00:00.000Z', + 'asus chromebox 2 (cn62)': '2021-06-01T00:00:00.000Z', + 'asus chromebox 3 (cn65)': '2024-06-01T00:00:00.000Z', + 'asus chromebox 3': '2024-06-01T00:00:00.000Z', + 'asus chromebox cn60': '2019-09-01T00:00:00.000Z', + 'asus chromebox cn62': '2021-06-01T00:00:00.000Z', + 'bobicus chromebook 11': '2020-06-01T00:00:00.000Z', + 'chromebook 11 (c730 / cb3-111)': '2019-08-01T00:00:00.000Z', + 'chromebook 11 (c735)': '2021-01-01T00:00:00.000Z', + 'chromebook 15 (cb515 - 1ht / 1h)': '2023-11-01T00:00:00.000Z', + 'chromebook pcm-116e': '2020-06-01T00:00:00.000Z', + 'consumer chromebook': '2020-06-01T00:00:00.000Z', + 'cr-48': '2015-12-01T00:00:00.000Z', + 'crambo chromebook': '2020-06-01T00:00:00.000Z', + 'ctl chromebook j41 / j41t': '2023-11-01T00:00:00.000Z', + 'ctl chromebook nl7 / nl7t-360 / nl7tw-360': '2023-11-01T00:00:00.000Z', + 'ctl chromebook nl7': '2023-11-01T00:00:00.000Z', + 'ctl chromebook tab tx1': '2023-08-01T00:00:00.000Z', + 'ctl chromebook tablet tx1 for education': '2023-08-01T00:00:00.000Z', + 'ctl chromebox cbx1': '2024-06-01T00:00:00.000Z', + 'ctl j2 / j4 chromebook': '2020-06-01T00:00:00.000Z', + 'ctl j5 chromebook': '2021-08-01T00:00:00.000Z', + 'ctl n6 education chromebook': '2020-06-01T00:00:00.000Z', + 'ctl nl61 chromebook': '2021-08-01T00:00:00.000Z', + 'dell chromebook 11 (3120)': '2020-06-01T00:00:00.000Z', + 'dell chromebook 11 (3180)': '2022-05-01T00:00:00.000Z', + 'dell chromebook 11 (5190)': '2023-11-01T00:00:00.000Z', + 'dell chromebook 11 2-in-1 (3189)': '2022-05-01T00:00:00.000Z', + 'dell chromebook 11 2-in-1 (5190)': '2023-11-01T00:00:00.000Z', + 'dell chromebook 11': '2019-06-01T00:00:00.000Z', + 'dell chromebook 13 (3380)': '2022-11-01T00:00:00.000Z', + 'dell chromebook 13 (7310)': '2020-09-01T00:00:00.000Z', + 'dell chromebook 3100 2-in-1': '2025-06-01T00:00:00.000Z', + 'dell chromebook 3100': '2025-06-01T00:00:00.000Z', + 'dell chromebook 3400': '2025-06-01T00:00:00.000Z', + 'dell chromebox': '2019-09-01T00:00:00.000Z', + 'dell inspiron chromebook 14 2-in-1 (7486)': '2024-06-01T00:00:00.000Z', + 'edugear chromebook k': '2020-06-01T00:00:00.000Z', + 'edugear chromebook m': '2020-06-01T00:00:00.000Z', + 'edugear chromebook r': '2020-06-01T00:00:00.000Z', + 'edugear cmt chromebook': '2021-08-01T00:00:00.000Z', + 'edxis chromebook': '2020-06-01T00:00:00.000Z', + 'edxis education chromebook': '2020-06-01T00:00:00.000Z', + 'epik 11.6" chromebook elb1101': '2020-06-01T00:00:00.000Z', + 'google chromebook pixel (2015)': '2020-06-01T00:00:00.000Z', + 'google chromebook pixel': '2018-06-01T00:00:00.000Z', + 'google cr-48': '2015-12-01T00:00:00.000Z', + 'google pixel slate': '2024-06-01T00:00:00.000Z', + 'google pixelbook': '2024-06-01T00:00:00.000Z', + 'haier chromebook 11 c': '2021-08-01T00:00:00.000Z', + 'haier chromebook 11 g2': '2020-09-01T00:00:00.000Z', + 'haier chromebook 11': '2020-06-01T00:00:00.000Z', + 'haier chromebook 11e': '2020-06-01T00:00:00.000Z', + 'hexa chromebook pi': '2020-06-01T00:00:00.000Z', + 'hisense chromebook 11': '2020-06-01T00:00:00.000Z', + 'hp chromebook 11 1100-1199 / hp chromebook 11 g1': '2018-10-01T00:00:00.000Z', + 'hp chromebook 11 2000-2099 / hp chromebook 11 g2': '2019-06-01T00:00:00.000Z', + 'hp chromebook 11 2100-2199 / hp chromebook 11 g3': '2020-06-01T00:00:00.000Z', + 'hp chromebook 11 2200-2299 / hp chromebook 11 g4/g4 ee': '2020-06-01T00:00:00.000Z', + 'hp chromebook 11 g1': '2018-10-01T00:00:00.000Z', + 'hp chromebook 11 g2': '2019-06-01T00:00:00.000Z', + 'hp chromebook 11 g3': '2020-06-01T00:00:00.000Z', + 'hp chromebook 11 g4/g4 ee': '2020-06-01T00:00:00.000Z', + 'hp chromebook 11 g5 / hp chromebook 11-vxxx': '2021-07-01T00:00:00.000Z', + 'hp chromebook 11 g5 ee': '2022-01-01T00:00:00.000Z', + 'hp chromebook 11 g5': '2021-07-01T00:00:00.000Z', + 'hp chromebook 11 g6 ee': '2023-11-01T00:00:00.000Z', + 'hp chromebook 11 g7 ee': '2025-06-01T00:00:00.000Z', + 'hp chromebook 11a g6 ee': '2025-06-01T00:00:00.000Z', + 'hp chromebook 13 g1': '2022-11-01T00:00:00.000Z', + 'hp chromebook 14 / hp chromebook 14 g5': '2023-11-01T00:00:00.000Z', + 'hp chromebook 14 ak000-099 / hp chromebook 14 g4': '2021-09-01T00:00:00.000Z', + 'hp chromebook 14 db0000-db0999': '2025-06-01T00:00:00.000Z', + 'hp chromebook 14 g3': '2019-10-01T00:00:00.000Z', + 'hp chromebook 14 g4': '2021-09-01T00:00:00.000Z', + 'hp chromebook 14 g5': '2023-11-01T00:00:00.000Z', + 'hp chromebook 14 x000-x999 / hp chromebook 14 g3': '2019-10-01T00:00:00.000Z', + 'hp chromebook 14': '2019-06-01T00:00:00.000Z', + 'hp chromebook 14a g5': '2025-06-01T00:00:00.000Z', + 'hp chromebook 15 g1': '2024-06-01T00:00:00.000Z', + 'hp chromebook x2 ': '2024-06-01T00:00:00.000Z', + 'hp chromebook x360 11 g1 ee': '2023-11-01T00:00:00.000Z', + 'hp chromebook x360 11 g2 ee': '2025-06-01T00:00:00.000Z', + 'hp chromebook x360 14 g1': '2024-06-01T00:00:00.000Z', + 'hp chromebook x360 14': '2024-06-01T00:00:00.000Z', + 'hp chromebox cb1-(000-099) / hp chromebox g1/ hp chromebox for meetings': '2019-09-01T00:00:00.000Z', + 'hp chromebox g1': '2019-09-01T00:00:00.000Z', + 'hp chromebox g2': '2024-06-01T00:00:00.000Z', + 'hp pavilion chromebook 14': '2018-02-01T00:00:00.000Z', + 'jp sa couto chromebook': '2020-06-01T00:00:00.000Z', + 'lava xolo chromebook': '2020-06-01T00:00:00.000Z', + 'lenovo 100e chromebook 2nd gen mtk': '2025-06-01T00:00:00.000Z', + 'lenovo 100e chromebook 2nd gen': '2025-06-01T00:00:00.000Z', + 'lenovo 100e chromebook': '2023-11-01T00:00:00.000Z', + 'lenovo 100s chromebook': '2020-09-01T00:00:00.000Z', + 'lenovo 14e chromebook': '2025-06-01T00:00:00.000Z', + 'lenovo 300e chromebook 2nd gen mtk': '2025-06-01T00:00:00.000Z', + 'lenovo 300e chromebook 2nd gen': '2025-06-01T00:00:00.000Z', + 'lenovo 300e chromebook': '2025-06-01T00:00:00.000Z', + 'lenovo 500e chromebook 2nd gen': '2025-06-01T00:00:00.000Z', + 'lenovo 500e chromebook': '2023-11-01T00:00:00.000Z', + 'lenovo chromebook c330': '2022-06-01T00:00:00.000Z', + 'lenovo chromebook s330': '2022-06-01T00:00:00.000Z', + 'lenovo flex 11 chromebook': '2022-06-01T00:00:00.000Z', + 'lenovo ideapad c330 chromebook': '2022-06-01T00:00:00.000Z', + 'lenovo ideapad s330 chromebook': '2022-06-01T00:00:00.000Z', + 'lenovo n20 chromebook': '2019-06-01T00:00:00.000Z', + 'lenovo n21 chromebook': '2020-06-01T00:00:00.000Z', + 'lenovo n22 chromebook': '2021-06-01T00:00:00.000Z', + 'lenovo n23 chromebook': '2021-06-01T00:00:00.000Z', + 'lenovo n23 yoga chromebook': '2022-06-01T00:00:00.000Z', + 'lenovo n42 chromebook': '2021-06-01T00:00:00.000Z', + 'lenovo thinkcentre chromebox': '2020-06-01T00:00:00.000Z', + 'lenovo thinkpad 11e 3rd gen chromebook': '2021-06-01T00:00:00.000Z', + 'lenovo thinkpad 11e 4th gen chromebook': '2023-11-01T00:00:00.000Z', + 'lenovo thinkpad 11e chromebook (4th gen)/lenovo thinkpad yoga 11e chromebook (4th gen)': '2023-11-01T00:00:00.000Z', + 'lenovo thinkpad 11e chromebook': '2019-06-01T00:00:00.000Z', + 'lenovo thinkpad 13': '2022-11-01T00:00:00.000Z', + 'lenovo thinkpad x131e chromebook': '2018-06-01T00:00:00.000Z', + 'lenovo yoga c630 chromebook': '2024-06-01T00:00:00.000Z', + 'lg chromebase (22cb25s)': '2020-06-01T00:00:00.000Z', + 'lg chromebase (22cv241)': '2019-06-01T00:00:00.000Z', + 'lumos education chromebook': '2020-06-01T00:00:00.000Z', + 'm&a chromebook': '2020-06-01T00:00:00.000Z', + 'mecer chromebook': '2020-06-01T00:00:00.000Z', + 'mecer v2 chromebook': '2021-08-01T00:00:00.000Z', + 'medion chromebook akoya s2013 ': '2020-06-01T00:00:00.000Z', + 'medion chromebook s2015': '2020-06-01T00:00:00.000Z', + 'multilaser chromebook m11c': '2021-08-01T00:00:00.000Z', + 'ncomputing chromebook cx100': '2020-06-01T00:00:00.000Z', + 'ncomputing chromebook cx110': '2020-06-01T00:00:00.000Z', + 'nexian chromebook 11.6\"': '2020-06-01T00:00:00.000Z', + 'pcmerge chromebook al116': '2023-11-01T00:00:00.000Z', + 'pcmerge chromebookpcm-116e/pcm-116eb': '2020-06-01T00:00:00.000Z', + 'pcmerge chromebookpcm-116t-432b': '2021-08-01T00:00:00.000Z', + 'poin2 chromebook 11': '2020-06-01T00:00:00.000Z', + 'poin2 chromebook 11c': '2022-03-01T00:00:00.000Z', + 'poin2 chromebook 14': '2022-03-01T00:00:00.000Z', + 'positivo chromebook c216b': '2021-08-01T00:00:00.000Z', + 'positivo chromebook ch1190': '2020-06-01T00:00:00.000Z', + 'prowise 11.6" entry line chromebook': '2020-06-01T00:00:00.000Z', + 'prowise chromebook eduline': '2023-11-01T00:00:00.000Z', + 'prowise chromebook entryline': '2020-06-01T00:00:00.000Z', + 'prowise chromebook proline': '2021-08-01T00:00:00.000Z', + 'prowise proline chromebook': '2021-08-01T00:00:00.000Z', + 'rgs education chromebook': '2020-06-01T00:00:00.000Z', + 'samsung chromebook - xe303': '2018-07-01T00:00:00.000Z', + 'samsung chromebook 2 11\" - xe500c12': '2020-06-01T00:00:00.000Z', + 'samsung chromebook 2 11\"': '2019-06-01T00:00:00.000Z', + 'samsung chromebook 2 13\"': '2019-06-01T00:00:00.000Z', + 'samsung chromebook 3': '2021-06-01T00:00:00.000Z', + 'samsung chromebook plus (v2)': '2024-06-01T00:00:00.000Z', + 'samsung chromebook plus': '2023-08-01T00:00:00.000Z', + 'samsung chromebook pro': '2022-11-01T00:00:00.000Z', + 'samsung chromebook series 5 550': '2017-05-01T00:00:00.000Z', + 'samsung chromebook series 5': '2016-06-01T00:00:00.000Z', + 'samsung chromebook': '2018-07-01T00:00:00.000Z', + 'samsung chromebox series 3': '2018-03-01T00:00:00.000Z', + 'sector 5 e1 rugged chromebook': '2020-06-01T00:00:00.000Z', + 'sector 5 e3 chromebook': '2023-11-01T00:00:00.000Z', + 'senkatel c1101 chromebook': '2020-06-01T00:00:00.000Z', + 'thinkpad 11e chromebook 3rd gen (yoga/clamshell)': '2021-06-01T00:00:00.000Z', + 'thinkpad 13 chromebook': '2022-11-01T00:00:00.000Z', + 'toshiba chromebook 2 (2015 edition)': '2020-09-01T00:00:00.000Z', + 'toshiba chromebook 2': '2020-06-01T00:00:00.000Z', + 'toshiba chromebook': '2019-06-01T00:00:00.000Z', + 'true idc chromebook 11': '2020-06-01T00:00:00.000Z', + 'true idc chromebook': '2020-06-01T00:00:00.000Z', + 'videonet chromebook bl10': '2020-06-01T00:00:00.000Z', + 'videonet chromebook': '2020-06-01T00:00:00.000Z', + 'viewsonic nmp660 chromebox': '2024-06-01T00:00:00.000Z', + 'viglen chromebook 11': '2020-06-01T00:00:00.000Z', + 'viglen chromebook 11c': '2023-11-01T00:00:00.000Z', + 'viglen chromebook 360': '2021-08-01T00:00:00.000Z', + 'xolo chromebook': '2020-06-01T00:00:00.000Z', } COLLABORATIVE_ACL_CHOICES = {