"""
Custom configurations for various files.
"""
from epstein_files.documents.documents.categories import CONSTANT_CATEGORIES, Neutral
from epstein_files.documents.documents.doc_cfg import CommunicationCfg, DocCfg, EmailCfg, TextCfg, phone_bill_cfg
from epstein_files.documents.doj_files.full_text import EFTA00009622_TEXT
from epstein_files.documents.emails.constants import FLIGHT_IN_2012_PEOPLE, IRAN_DEAL_RECIPIENTS, TRIVERS_CCS
from epstein_files.util.helpers.string_helper import join_truthy, quote
from epstein_files.util.constant.names import *
from epstein_files.util.constant.strings import *
from epstein_files.util.logging import logger

MAX_CHARS_TO_PRINT = 4000
NO_TRUNCATE = -1
OTHER_FILES_PFX = 'OTHER_FILES_'
PARTICIPANTS_FIELD = 'Participants: field'
TRUNCATED_CHARS = int(MAX_CHARS_TO_PRINT / 3)
VALAR_FUND = f"{PETER_THIEL}'s {VALAR_VENTURES} fund"

HEADER_ABBREVIATIONS = {
    "AD": "Abu Dhabi",
    "Barak": "Ehud Barak (Former Israeli prime minister)",
    "Barrack": "Tom Barrack (Trump ally)",
    'BG, Bill': "Bill Gates",
    'bgC3': 'Bill Gates Ventures (renamed in 2018)',
    "Brock": 'Brock Pierce (crypto bro with a very sordid past)',
    "DB": "Deutsche Bank (maybe??)",
    "GCC": "Gulf Cooperation Council",
    "GRAT": "Grantor Retained Annuity Trust (tax shelter)",
    'HBJ, Jabor Y': "Sheikh Hamad bin Jassim (former Qatari prime minister)",
    'Jared': "Jared Kushner",
    'Jagland': 'Thorbjørn Jagland (former Norwegian prime minister)',
    'JEGE': "Epstein's airplane holding company",
    JEFFREY_WERNICK: 'right wing crypto bro, former COO of Parler',
    'Joi': f"Joi Ito ({MIT_MEDIA_LAB}, MIT Digital Currency Initiative)",
    "Hoffenberg": f"{STEVEN_HOFFENBERG} (Epstein's ponzi scheme partner)",
    'KSA': "Kingdom of Saudi Arabia",
    'Kurz': 'Sebastian Kurz (former Austrian Chancellor)',
    'Kwok': "Chinese criminal Miles Kwok AKA Miles Guo AKA Guo Wengui",
    'LSJ': "Epstein's private island holding company",
    'Madars': 'Madars Virza (co-founder of privacy crypto ZCash)',
    'Mapp': f'{KENNETH_E_MAPP} (Governor of {VIRGIN_ISLANDS})',
    'Masa': 'Masayoshi Son (Softbank)',
    'MBS': "Mohammed bin Salman Al Saud (Saudi ruler)",
    'MBZ': "Mohamed bin Zayed Al Nahyan (Emirates sheikh)",
    "Miro": MIROSLAV_LAJCAK,
    'MJ': "Mohammed Abdul Latif Jameel (chairman of Abdul Latif Jameel)",
    "Mooch": "Anthony 'The Mooch' Scaramucci (Skybridge crypto bro)",
    "NPA": 'non-prosecution agreement',
    "Terje": TERJE_ROD_LARSEN,
    "VI": f"U.S. {VIRGIN_ISLANDS}",
    "Woody": "Woody Allen",
    "Zug": "City in Switzerland (crypto hub)",
}


################################################################################################
############################################ TEXTS #############################################
################################################################################################

CONFIRMED_TEXTS_CONFIG = [
    TextCfg(id='031042', author=ANIL_AMBANI, author_reason=PARTICIPANTS_FIELD),
    TextCfg(id='027225', author=ANIL_AMBANI, author_reason="birthday mentioned in texts is confirmed as Ambani's"),
    TextCfg(id='031054', author=ANTHONY_SCARAMUCCI, author_reason="Scaramucci's phone number is at top of raw file"),
    TextCfg(id='027333', author=ANTHONY_SCARAMUCCI, author_reason="Scaramucci's phone number is in one of the messages"),
    TextCfg(id='031173', author=ARDA_BESKARDES, author_reason=PARTICIPANTS_FIELD),
    TextCfg(id='027401', author=EVA, author_reason=PARTICIPANTS_FIELD),
    TextCfg(id='027650', author=JOI_ITO, author_reason=PARTICIPANTS_FIELD),
    TextCfg(id='027777', author=LARRY_SUMMERS, author_reason=PARTICIPANTS_FIELD),
    TextCfg(id='027515', author=MIROSLAV_LAJCAK, author_reason='https://x.com/ImDrinknWyn/status/1990210266114789713'),
    TextCfg(
        id='027165',
        author=MELANIE_WALKER,
        author_reason='says "it\'s Melanie", also https://www.wired.com/story/jeffrey-epstein-claimed-intimate-knowledge-of-donald-trumps-views-in-texts-with-bill-gates-adviser/',
        is_interesting=True,
        comment='crypto health'
    ),
    TextCfg(id='027248', author=MELANIE_WALKER, author_reason='says "we met through Trump" which is confirmed by Melanie in 032803'),
    TextCfg(id='025429', author=STACEY_PLASKETT, author_reason='widely reported'),
    TextCfg(id='027128', author=SOON_YI_PREVIN, author_reason='https://x.com/ImDrinknWyn/status/1990227281101434923'),
    TextCfg(id='027217', author=SOON_YI_PREVIN, author_reason='refs marriage to Woody Allen'),
    TextCfg(id='027244', author=SOON_YI_PREVIN, author_reason='refs Woody Allen'),
    TextCfg(id='027257', author=SOON_YI_PREVIN, author_reason=f"Woody Allen in {PARTICIPANTS_FIELD}"),
    TextCfg(
        id='027460',
        author=STEVE_BANNON,
        author_reason='Discusses leaving scotland when Bannon was confirmed in Scotland, also NYT',
        is_interesting=True,
        comment='bannon and jabor',
    ),
    TextCfg(id='027307', author=STEVE_BANNON, author_reason='texts mention "Epstein Bannon Kurz"'),
    TextCfg(id='027278', author=TERJE_ROD_LARSEN, author_reason=PARTICIPANTS_FIELD, is_interesting=True),
    TextCfg(id='027255', author=TERJE_ROD_LARSEN, author_reason=PARTICIPANTS_FIELD),
]

UNCONFIRMED_TEXTS_CONFIG = [
    TextCfg(id='027762', author=ANDRZEJ_DUDA, author_uncertain=f"Duda in NY at that time, took train"),
    TextCfg(id='027774', author=ANDRZEJ_DUDA, author_uncertain=f"Duda in NY at that time, took train"),
    TextCfg(id='027221', author=ANIL_AMBANI),
    TextCfg(id='027396', author=ANTHONY_SCARAMUCCI, author_uncertain='says "I need to make peace with Bannon"'),
    TextCfg(id='025436', author=CELINA_DUBIN),
    TextCfg(id='027576', author=MELANIE_WALKER, author_uncertain='https://www.ahajournals.org/doi/full/10.1161/STROKEAHA.118.023700'),
    TextCfg(id='027141', author=MELANIE_WALKER),
    TextCfg(id='027232', author=MELANIE_WALKER),
    TextCfg(id='027133', author=MELANIE_WALKER),
    TextCfg(id='027184', author=MELANIE_WALKER),
    TextCfg(id='027214', author=MELANIE_WALKER),
    TextCfg(id='027148', author=MELANIE_WALKER),
    TextCfg(id='027440', author=MICHAEL_WOLFF, author_uncertain='AI says Trump book/journalism project'),
    TextCfg(id='027568', author=STEVE_BANNON),
    TextCfg(id='027695', author=STEVE_BANNON),
    TextCfg(id='027594', author=STEVE_BANNON),
    TextCfg(id='027549', author=STEVE_BANNON),
    TextCfg(id='027764', author=STEVE_BANNON),
    TextCfg(id='027585', author=STEVE_BANNON, author_uncertain='references Tokyo trip'),
    TextCfg(id='027720', author=STEVE_BANNON, author_uncertain='first 3 lines of 027722'),
    TextCfg(id='027434', author=STEVE_BANNON, author_uncertain='references Maher appearance'),
    TextCfg(id='027428', author=STEVE_BANNON, author_uncertain='references HBJ meeting on 9/28 from other Bannon/Epstein convo'),
    TextCfg(id='027374', author=STEVE_BANNON, author_uncertain='AI says China strategy and geopolitics'),
    TextCfg(id='027455', author=STEVE_BANNON, author_uncertain='AI says China strategy and geopolitics; Trump discussions'),
    TextCfg(id='027536', author=STEVE_BANNON, author_uncertain='AI says China strategy and geopolitics; Trump discussions'),
    TextCfg(id='025479', author=STEVE_BANNON, author_uncertain='AI says China strategy and geopolitics; Trump discussions'),
    TextCfg(id='025734', author=STEVE_BANNON, author_uncertain='AI says China strategy and geopolitics; Trump discussions'),
    TextCfg(id='027707', author=STEVE_BANNON, author_uncertain='AI says Italian politics; Trump discussions'),
    TextCfg(id='025400', author=STEVE_BANNON, author_uncertain='AI says Trump NYT article criticism; Hannity media strategy'),
    TextCfg(id='025408', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='025452', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027281', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027346', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027365', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027406', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027655', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027722', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027735', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027794', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='025368', author=STEVE_BANNON, author_uncertain='AI', is_interesting=True, comment='obama slander'),
    TextCfg(id='025707', author=STEVE_BANNON, author_uncertain='AI', is_interesting=True, comment='mentions thiel, dubai'),
    TextCfg(id='025363', author=STEVE_BANNON, author_uncertain='AI', is_interesting=True, comment='mooch discussion'),
    TextCfg(id='027445', author=STEVE_BANNON, author_uncertain='AI', is_interesting=True),
    TextCfg(id='027260', author=STEVE_BANNON, author_uncertain='AI', is_interesting=True),
    TextCfg(
        id='029744',
        author=STEVE_BANNON,
        author_uncertain='AI says Trump + NYT coverage',
        is_interesting=True,
        description='contains discussion of Chinese criminal Miles Guo AKA Miles Kwok'
    ),
    TextCfg(id='031045', author=STEVE_BANNON, author_uncertain='AI says Trump and New York Times coverage'),
    TextCfg(id='027275', is_interesting=True, comment='"Crypto- Kerry- Qatar -sessions"')
]

for cfg in UNCONFIRMED_TEXTS_CONFIG:
    cfg.author_uncertain = cfg.author_uncertain or True

TEXTS_CONFIG = CONFIRMED_TEXTS_CONFIG + UNCONFIRMED_TEXTS_CONFIG


########################################################################################################
################################################ EMAILS ################################################
########################################################################################################

# Atribution reasons
BOLOTOVA_REASON = 'Same signature style as 029020 ("--" followed by "Sincerely Renata Bolotova")'
DROKOVA_TIMING_REASON = 'timing, subject (interviews/articles), and sequential ID'
KATHY_REASON = 'from "Kathy" about dems, sent from iPad'
LARRY_REASON = 'Planes discussion signed "Larry"'
LINDA_STONE_ATTRIBUTION = '"iPhone word substitution" in signature, which is traced back to "Linda, thanks" in EFTA00961792'
PAULA_REASON = 'signature of "Sent via BlackBerry from T-Mobile"'
PRUSAKOVA_BERKELY = 'Epstein paid for Prusakova to go to Berkeley'
SNEAKY_DOG = '"sneaky dog"'
SINCERELY_SNEAKY = f'{SNEAKY_DOG} + "Sincerely"'

# Descriptions
IS_IT_ROGER_STONE = "is the 'roger' Epstein is trying to meet Roger Stone?"
KYARA_FUND = f"Epstein crypto fund {KYARA_INVESTMENT}"
MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT = f"draft of an unpublished article about Epstein by {MICHAEL_WOLFF} written ca. 2014/2015"
SEC_WHISTLEBLOWER = 'whistleblower emails to SEC'
VALAR_MEETING = f"meeting with {PETER_THIEL}'s {VALAR_VENTURES} fund"


EMAILS_CONFIG = [
    # TODO: 026294 and 026296 might also be Ittihadieh based on timing
    EmailCfg(id='032436', author=ALIREZA_ITTIHADIEH, author_reason='signature'),
    EmailCfg(id='032543', author=ANAS_ALRASHEED, author_reason='Later reply 033000 has quote'),
    EmailCfg(id='026167', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032571', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032573', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032575', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032577', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032579', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032582', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032585', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032588', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032591', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032595', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032599', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032611', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='023661', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032616', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032622', author=ANAS_ALRASHEED, author_reason='name visible in 033022 reply'),
    EmailCfg(id='032628', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='032629', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='032631', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026168', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026170', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026173', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026176', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026180', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026184', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026188', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026193', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026198', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026210', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='026204', author=ANAS_ALRASHEED, author_reason='name visible in 026180 reply'),
    EmailCfg(id='032660', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='032663', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='032667', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='032672', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='032676', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='026237', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='032682', author=ANAS_ALRASHEED, author_reason='name visible in 029113 reply'),
    EmailCfg(id='032542', author=ANAS_ALRASHEED, author_uncertain='discussion of Kuwait and timing'),
    EmailCfg(id='026078', author=ANAS_ALRASHEED, author_uncertain='discussion of Kuwait and timing'),
    EmailCfg(id='026080', author=ANAS_ALRASHEED, author_uncertain='discussion of Kuwait and timing'),
    EmailCfg(id='026083', author=ANAS_ALRASHEED, author_uncertain='discussion of Kuwait and timing'),
    EmailCfg(id='026086', author=ANAS_ALRASHEED, author_uncertain='discussion of Kuwait and timing'),
    EmailCfg(id='026090', author=ANAS_ALRASHEED, author_uncertain='discussion of Kuwait and timing'),
    EmailCfg(id='026064', author=ARIANE_DE_ROTHSCHILD, author_reason='signature'),
    EmailCfg(id='026069', author=ARIANE_DE_ROTHSCHILD, author_reason='signature'),
    EmailCfg(id='030741', author=ARIANE_DE_ROTHSCHILD, author_reason='signature'),
    EmailCfg(id='026018', author=ARIANE_DE_ROTHSCHILD, author_reason='signature'),
    EmailCfg(
        id='029504',
        author='Audrey/Aubrey Raimbault (???)',
        author_reason='based on "GMI" in signature, a company registered by "Aubrey Raimbault"',
    ),
    EmailCfg(
        id='033316',
        author=AZIZA_ALAHMADI,
        author_reason='"Regards, Aziza" at bottom',
        fwded_text_after='Transcript: Phone call between President',
    ),
    EmailCfg(id='033328', author=AZIZA_ALAHMADI, author_reason='"Regards, Aziza" at bottom'),
    EmailCfg(
        id='031215',
        author=BARBRO_C_EHNBOM,
        duplicate_ids=['026745'],
        dupe_type='redacted',
        comment="the same except for 'your Anna!'. author must be specified because email address is redacted in 026745 so it needs the config",
    ),
    EmailCfg(id='031206', duplicate_ids=['031227']),
    EmailCfg(id='031591', duplicate_ids=['031442', '031996']),
    EmailCfg(id='019446', author=CHRISTINA_GALBRAITH, author_reason='from "Christina media/PR"'),
    EmailCfg(
        id='026624',
        author=DARREN_INDYKE,
        date='2016-10-01 16:40:00',
        duplicate_ids=['031708'],
        recipients=[JEFFREY_EPSTEIN],
        subject='Donald Trump Rape Lawsuit Refiled With New Witness I Law News',
    ),
    EmailCfg(
        id='031278',
        actual_text='',
        author_reason='Quoted replies are in 019109',
        author=DARREN_INDYKE,
        comment='Hoffenberg',
        date='2016-08-17 11:26:00',
        description="heavily redacted email, quoted replies are from Steven Hoffenberg about James Patterson's book",
        recipients=["Charles Michael"],
        subject='FW: Privileged and Confidential - Fwd: JAMES PATTERSON NEW BOOK TELLING FEDS COVER UP OF BILLIONAIRE JEFF EPSTEIN CHILD RAPES RELEASE DATE OCT 10 2016 STEVEN HOFFENBERG IS ON THE BOOK WRITING TEAM !!!!',
        truncate_to=2500,
    ),
    EmailCfg(id='026290', author=DAVID_SCHOEN, author_reason='signature'),
    EmailCfg(id='031339', author=DAVID_SCHOEN, author_reason='signature'),
    EmailCfg(id='031492', author=DAVID_SCHOEN, author_reason='signature'),
    EmailCfg(id='031560', author=DAVID_SCHOEN, author_reason='signature'),
    EmailCfg(id='026287', author=DAVID_SCHOEN, author_reason='signature'),
    EmailCfg(id='033419', author=DAVID_SCHOEN, author_reason='signature'),
    EmailCfg(id='EFTA01781620', author=DAVID_SCHOEN, author_uncertain='"Sent from AOL Mobile Mail" in chain'),
    EmailCfg(
        id='EFTA02442672',
        author=DAVID_STERN,
        author_reason=f"{ASIA_GATEWAY} + 'D.' in signature",
        description="why is David Stern's name redacted?",
        is_interesting=True,
    ),
    EmailCfg(id='031460', author=EDWARD_JAY_EPSTEIN, author_reason='quoted reply has edwardjayepstein.com', is_fwded_article=True),
    EmailCfg(
        id='030475',
        author_reason='Next Management LLC legal signature',
        author=FAITH_KATES,
        duplicate_ids=['030575'],
        dupe_type='redacted',
    ),
    EmailCfg(id='026547', author=GERALD_BARTON, recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='029969', author=GWENDOLYN_BECK, author_reason='signature "Longevity & Successful Aging"'),
    EmailCfg(id='029968', author=GWENDOLYN_BECK, author_reason='signature "beckresearchlabs.com"', duplicate_ids=['031120']),
    EmailCfg(id='029970', author=GWENDOLYN_BECK, author_reason='signed "Longevity & Successful Aging"', truncate_to=400),
    EmailCfg(id='029960', author=GWENDOLYN_BECK, author_reason='signature "Beck Center for Longevity & Aging"', truncate_to=498),
    EmailCfg(id='029959', author=GWENDOLYN_BECK, author_reason='signature "Beck Center for Longevity & Aging"'),
    EmailCfg(id='033360', author=HENRY_HOLT, author_reason='in signature'),
    EmailCfg(id='033384', author=JACK_GOLDBERGER, author_uncertain='Might be Paul Prosperi?'),
    EmailCfg(id='026024', author=JEAN_HUGUEN, author_reason='signature'),
    EmailCfg(id='021823', author=JEAN_LUC_BRUNEL, author_reason='Reply'),
    EmailCfg(id='031624', author=JEFFREY_EPSTEIN),
    EmailCfg(id='018726', author=JEFFREY_EPSTEIN, date='2018-06-08 08:36:00'),
    EmailCfg(id='032283', author=JEFFREY_EPSTEIN, date='2016-09-14 08:04:00'),
    EmailCfg(id='026943', author=JEFFREY_EPSTEIN, date='2019-05-22 05:47:00'),
    EmailCfg(
        id='023208',
        author=JEFFREY_EPSTEIN,
        comment="Long discussion about leon black's finances",
        description="very long email chain about Leon Black's finances and things like Gratitude America",
        duplicate_ids=['023291'],
        fwded_text_after='Date: Tue, Oct 27',
        recipients=[BRAD_WECHSLER, MELANIE_SPINELLA],
        truncate_to=NO_TRUNCATE,
    ),
    EmailCfg(
        id='032214',
        actual_text='Agreed',
        author_reason='Quoted reply has signature',
        author=JEFFREY_EPSTEIN,
        recipients=[MIROSLAV_LAJCAK],
    ),
    EmailCfg(id='029582', author=JEFFREY_EPSTEIN, recipients=[RENATA_BOLOTOVA], author_reason=BOLOTOVA_REASON),
    EmailCfg(id='030997', author=JEFFREY_EPSTEIN, actual_text='call back'),
    EmailCfg(id='028770', author=JEFFREY_EPSTEIN, actual_text='call me now'),
    EmailCfg(id='031826', author=JEFFREY_EPSTEIN, actual_text='I have'),
    EmailCfg(id='030768', author=JEFFREY_EPSTEIN, actual_text='ok'),
    EmailCfg(id='022938', author=JEFFREY_EPSTEIN, actual_text='what do you suggest?'),
    EmailCfg(
        id='031791',
        author=JESSICA_CADWELL,
        author_reason='signature',
        truncate_to=NO_TRUNCATE,
        comment='First email in Jessica Cadwell chain about service of legal documents',
    ),
    EmailCfg(
        id='028850',
        description='Joi Ito reaching out to Epstein for an immediate phone call after news about illicit Russian money',
        duplicate_ids=['028851'],
        dupe_type='quoted',
    ),
    EmailCfg(
        id='028848',
        description='Joi Ito reaching out to Epstein for an immediate phone call after news about illicit Russian money',
        duplicate_ids=['028849'],
        dupe_type='quoted',
    ),
    EmailCfg(id='028507', author=JONATHAN_FARKAS, author_reason='reply signed "best Jonathan"'),
    EmailCfg(id='033282', author=JONATHAN_FARKAS, author_reason='reply signed "thanks Jonathan"', duplicate_ids=['033484']),
    EmailCfg(id='033582', author=JONATHAN_FARKAS, author_reason='Reply', duplicate_ids=['032389']),
    EmailCfg(id='033203', author=JONATHAN_FARKAS, author_reason='Reply', duplicate_ids=['033581']),
    EmailCfg(id='032052', author=JONATHAN_FARKAS, author_reason='Reply', duplicate_ids=['031732']),
    EmailCfg(id='033490', author=JONATHAN_FARKAS, author_reason='signature', duplicate_ids=['032531']),
    EmailCfg(id='032224', author=KATHRYN_RUEMMLER, recipients=[JEFFREY_EPSTEIN], author_reason='Reply'),
    EmailCfg(id='032386', author=KATHRYN_RUEMMLER, author_uncertain=KATHY_REASON),
    EmailCfg(id='032727', author=KATHRYN_RUEMMLER, author_uncertain=KATHY_REASON),
    EmailCfg(id='030478', author=LANDON_THOMAS),
    EmailCfg(id='029013', author=LARRY_SUMMERS, recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='029196', author=LAWRENCE_KRAUSS, recipients=[JEFFREY_EPSTEIN], actual_text='Talk in 40?'),
    EmailCfg(id='033593', author=LAWRANCE_VISOSKI, author_reason='signature', truncate_to=NO_TRUNCATE, comment='visoski email about planes'),
    EmailCfg(id='033370', author=LAWRANCE_VISOSKI, author_reason=LARRY_REASON),
    EmailCfg(id='033495', author=LAWRANCE_VISOSKI, author_reason=LARRY_REASON),
    EmailCfg(id='033487', author=LAWRANCE_VISOSKI, recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(
        id='029977',
        author=LAWRANCE_VISOSKI,
        recipients=[JEFFREY_EPSTEIN, DARREN_INDYKE, LESLEY_GROFF, RICHARD_KAHN] + FLIGHT_IN_2012_PEOPLE,
        author_reason=LARRY_REASON,
        duplicate_ids=['031129'],
    ),
    EmailCfg(id='027046', author=LAWRANCE_VISOSKI, duplicate_ids=['028789']),
    EmailCfg(id='033488', author=LAWRANCE_VISOSKI, duplicate_ids=['033154']),
    EmailCfg(id='033309', author=LINDA_STONE, author_reason='"Co-authored with iPhone autocorrect"'),
    EmailCfg(id='017581', author='Lisa Randall', author_reason='reply header'),
    EmailCfg(id='033246', author=MARIA_PRUSAKOVA, author_reason='Kind regards/Cordialement in signature'),
    EmailCfg(id='026609', author='Mark Green', author_reason='Actually a fwd, Mark Green is in signature'),
    EmailCfg(id='030472', author=MARTIN_WEINBERG, author_uncertain='Maybe. in reply'),
    EmailCfg(id='032563', author=MASHA_DROKOVA, author_reason='replied to in 033014'),
    EmailCfg(
        id='032564',
        author_reason='follow up to 032563 about huffpo article with link',
        author=MASHA_DROKOVA,
        description='an archived version of the HuffPost link is here: https://archive.is/hJxT3 '
    ),
    EmailCfg(id='031544', author=MASHA_DROKOVA, author_reason='follow up to 032563 about huffpo article with link'),
    EmailCfg(id='032605', author=MASHA_DROKOVA, author_reason="re: PR interview, 031544 says she'll be in NY at that time"),
    EmailCfg(id='032606', author=MASHA_DROKOVA, author_reason="re: PR interview, 031544 says she'll be in NY at that time"),
    EmailCfg(id='032607', author=MASHA_DROKOVA, author_reason="re: PR interview, 031544 says she'll be in NY at that time"),
    EmailCfg(id='032609', author=MASHA_DROKOVA, author_reason="re: PR interview, 031544 says she'll be in NY at that time"),
    EmailCfg(id='032604', author=MASHA_DROKOVA, author_uncertain=DROKOVA_TIMING_REASON),
    EmailCfg(id='032581', author=MASHA_DROKOVA, author_uncertain=DROKOVA_TIMING_REASON),
    EmailCfg(id='030235', author=MELANIE_WALKER, author_reason='In fwd'),
    EmailCfg(id='032343', author=MELANIE_WALKER, author_reason='Name seen in later reply 032346'),
    EmailCfg(id='032212', author=MIROSLAV_LAJCAK, author_reason='signature'),
    EmailCfg(id='021814', author=NADIA_MARCINKO, author_reason='reply'),
    EmailCfg(id='021808', author=NADIA_MARCINKO, author_reason='reply', truncate_to=NO_TRUNCATE),
    EmailCfg(id='021818', author=NADIA_MARCINKO, author_reason='reply'),
    EmailCfg(id='022214', author=NADIA_MARCINKO, author_reason='Reply header'),
    EmailCfg(id='021811', author=NADIA_MARCINKO, author_reason='signature and email address in the message'),
    EmailCfg(id='028487', author=NORMAN_D_RAU, author_reason='Fwded from "to" address', duplicate_ids=['026612']),
    EmailCfg(
        id='024923',
        comment='krassner',
        duplicate_ids=['031973'],
        has_uninteresting_ccs=True,
        recipients=["George Krassner", "Nick Kazan", "Mrisman02", "Rebecca Risman", "Linda W. Grossman"],
    ),
    EmailCfg(id='032457', author=PAUL_KRASSNER, recipients=[JEFFREY_EPSTEIN, "Nancy Cain"]),
    EmailCfg(id='029981', author=PAULA, author_reason='Name in reply + opera reference (Fisher now works in opera)'),
    EmailCfg(id='030482', author=PAULA, author_reason=PAULA_REASON),
    EmailCfg(id='033383', author=PAUL_PROSPERI, author_reason='Reply'),
    EmailCfg(
        id='012684',
        author=PAUL_PROSPERI,
        is_fwded_article=True,
        author_uncertain='one week after Epstein asked Prosperi for info on Kluge auction',
    ),
    EmailCfg(
        id='033561',
        author=PAUL_PROSPERI,
        duplicate_ids=['033157'],
        author_uncertain='Fwded mail sent to Prosperi. Might be Subotnick Stuart?',
    ),
    EmailCfg(id='031694', author=PEGGY_SIEGAL, author_uncertain='quoted'),
    EmailCfg(id='032219', author=PEGGY_SIEGAL, author_reason='Signed "Peggy"'),
    EmailCfg(id='029020', author=RENATA_BOLOTOVA, author_reason='signature'),
    EmailCfg(id='029605', author=RENATA_BOLOTOVA, author_reason=BOLOTOVA_REASON),
    EmailCfg(id='029606', author=RENATA_BOLOTOVA, author_reason=BOLOTOVA_REASON),
    EmailCfg(id='029604', author=RENATA_BOLOTOVA, author_reason='Continued in 239606 etc'),
    EmailCfg(
        id='033584',
        author=ROBERT_TRIVERS,
        recipients=[JEFFREY_EPSTEIN],
        author_reason='Refs paper by Trivers',
        duplicate_ids=['033169'],
    ),
    EmailCfg(id='026320', author=SEAN_BANNON, author_reason="From protonmail, Bannon wrote 'just sent from my protonmail' in 027067"),
    EmailCfg(id='029003', author=SOON_YI_PREVIN, author_reason="\"Sent from Soon-Yi's iPhone\""),
    EmailCfg(id='029005', author=SOON_YI_PREVIN, author_reason="\"Sent from Soon-Yi's iPhone\""),
    EmailCfg(id='029007', author=SOON_YI_PREVIN, author_reason="\"Sent from Soon-Yi's iPhone\""),
    EmailCfg(id='029010', author=SOON_YI_PREVIN, author_reason="\"Sent from Soon-Yi's iPhone\""),
    EmailCfg(id='032296', author=SOON_YI_PREVIN, author_reason="\"Sent from Soon-Yi's iPhone\""),
    EmailCfg(id='033292', author=SOON_YI_PREVIN, author_uncertain="mentions \"Woody's movie\""),
    EmailCfg(
        id='019109',
        author=STEVEN_HOFFENBERG,
        recipients=["Players2"],
        description='looks like a memo from Charles Michael containing copy/paste of email contents?',
        date='2016-08-11 09:36:01',
        subject='FW: Privileged and Confidential - Fwd: JAMES PATTERSON NEW BOOK TELLING FEDS COVER UP OF BILLIONAIRE JEFF EPSTEIN CHILD RAPES RELEASE DATE OCT 10 2016 STEVEN HOFFENBERG IS ON THE BOOK WRITING TEAM !!!!',
    ),
    EmailCfg(
        id='026620',
        author=TERRY_KAFKA,
        recipients=[JEFFREY_EPSTEIN, MARK_EPSTEIN, MICHAEL_BUCHHOLTZ] + IRAN_DEAL_RECIPIENTS,
        author_reason='ends with "Respectfully, terry"',
        duplicate_ids=['028482'],
        fwded_text_after='From: Mike Cohen',
        subject='Fw: The Iran Nuclear Deal',
    ),
    EmailCfg(id='029992', author=TERRY_KAFKA, author_reason='Quoted reply'),
    EmailCfg(id='029985', author=TERRY_KAFKA, author_reason='Quoted reply in 029992'),
    EmailCfg(id='020666', author=TERRY_KAFKA, author_reason="Ends with 'Terry'"),
    EmailCfg(id='033021', recipients=[ANAS_ALRASHEED], author_reason='visible in 033022'),
    EmailCfg(id='027063', recipients=[ANTHONY_BARRETT]),
    EmailCfg(id='030764', recipients=[ARIANE_DE_ROTHSCHILD], author_reason='Reply'),
    EmailCfg(id='026431', recipients=[ARIANE_DE_ROTHSCHILD], author_reason='Reply'),
    EmailCfg(id='032876', recipients=[CECILIA_STEEN], author_reason='unredacted in 032267'),
    EmailCfg(id='026466', recipients=[DIANE_ZIMAN], author_reason='Quoted reply'),
    EmailCfg(id='031607', recipients=[EDWARD_JAY_EPSTEIN], is_fwded_article=True, author_reason='quoted reply has edwardjayepstein.com'),
    EmailCfg(
        id='030525',
        recipients=[FAITH_KATES],
        author_reason='Reply in 030414 has Next Management LLC legal signature',
        duplicate_ids=['030581'],
    ),
    EmailCfg(
        id='025329',
        has_uninteresting_ccs=True,
        recipients=["George Krassner", "Nancy Cain", "Tom", "Marie Moneysmith", "Steven Gaydos", "Linda W. Grossman", "Holly Krassner Dawson", "Daniel Dawson", "Danny Goldberg", "Caryl Ratner", "Kevin Bright", "Michael Simmons", SAMUEL_LEFF, "Bob Fass", "Lynnie Tofte Fass", "Barb Cowles", "Lee Quarnstrom"],
    ),
    EmailCfg(
        id='033568',
        has_uninteresting_ccs=True,
        recipients=["George Krassner", "Daniel Dawson", "Danny Goldberg", "Tom", "Kevin Bright", "Walli Leff", "Michael Simmons", "Lee Quarnstrom", "Lanny Swerdlow", "Larry Sloman", "W&K", "Harry Shearer", "Jay Levin"],
        subject="Fwd: Daryl Cagle's Blog",
    ),
    EmailCfg(id='026426', recipients=[JEAN_HUGUEN], author_reason='Reply'),
    EmailCfg(id='022202', recipients=[JEAN_LUC_BRUNEL], author_reason='Follow up / reply', duplicate_ids=['029975']),
    EmailCfg(id='030347', recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='033274', recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='032780', recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='033386', recipients=[JEFFREY_EPSTEIN, None], duplicate_ids=['033599']),
    EmailCfg(id='029324', recipients=[JEFFREY_EPSTEIN, "Jojo Fontanilla", "Lyn Fontanilla"]),
    EmailCfg(id='013482', recipients=[JEFFREY_EPSTEIN], is_fwded_article=True),
    EmailCfg(
        id='029558',
        recipients=[JEFFREY_EPSTEIN, KATHERINE_KEATING],
        author_reason='BCC',
        fwded_text_after='Creativity is central',
    ),
    EmailCfg(id='033456', recipients=["Joel"], author_reason='Reply'),
    EmailCfg(id='033458', recipients=["Joel"], author_reason='Reply'),
    EmailCfg(id='033460', recipients=["Joel"], author_reason='Reply'),
    EmailCfg(id='025589', recipients=[GORDON_GETTY, JEFFREY_EPSTEIN] + TRIVERS_CCS, author_reason='Reply'),
    EmailCfg(
        id='021090',
        recipients=[JONATHAN_FARKAS],
        author_reason='Reply to a message signed "jonathan" same as other Farkas emails',
        is_fwded_article=True,
    ),
    EmailCfg(id='033073', recipients=[KATHRYN_RUEMMLER], uncertain_recipient='to "Kathy" about dems, sent from iPad'),
    EmailCfg(id='032939', recipients=[KATHRYN_RUEMMLER], uncertain_recipient='to "Kathy" about dems, sent from iPad'),
    EmailCfg(id='030522', recipients=[LANDON_THOMAS], author_reason='reply header', is_fwded_article=True),
    EmailCfg(id='031413', recipients=[LANDON_THOMAS], author_reason='reply header'),
    EmailCfg(id='033591', recipients=[LAWRANCE_VISOSKI], author_reason='Reply signature'),
    EmailCfg(id='027097', recipients=[LAWRANCE_VISOSKI], author_reason='Reply signature', duplicate_ids=['028787']),
    EmailCfg(id='033466', recipients=[LAWRANCE_VISOSKI], author_reason='Reply signature'),
    EmailCfg(id='022250', recipients=[LESLEY_GROFF], author_reason='Reply'),
    EmailCfg(id='030242', recipients=[MARIANA_IDZKOWSKA], duplicate_ids=['032048'], dupe_type='redacted'),
    EmailCfg(id='033027', recipients=[MASHA_DROKOVA], author_reason="re: PR interview, 031544 says she'll be in NY at that time"),
    EmailCfg(id='033025', recipients=[MASHA_DROKOVA], uncertain_recipient=DROKOVA_TIMING_REASON),
    EmailCfg(id='030368', recipients=[MELANIE_SPINELLA], author_reason='Actually a self fwd from jeffrey to jeffrey'),
    EmailCfg(id='030369', recipients=[MELANIE_SPINELLA], author_reason='Actually a self fwd from jeffrey to jeffrey'),
    EmailCfg(id='030371', recipients=[MELANIE_SPINELLA], author_reason='Actually a self fwd from jeffrey to jeffrey'),
    EmailCfg(id='022258', recipients=[NADIA_MARCINKO], author_reason='Reply header'),
    EmailCfg(id='022193', recipients=[NADIA_MARCINKO], author_reason='reply'),
    EmailCfg(id='022197', recipients=[NADIA_MARCINKO], author_reason='reply'),
    EmailCfg(id='022190', recipients=[NADIA_MARCINKO], author_reason='reply'),
    EmailCfg(id='030572', recipients=[PAULA], author_uncertain='quoted in 030482'),
    EmailCfg(id='030506', recipients=[PAULA], author_uncertain=PAULA_REASON,),
    EmailCfg(id='030507', recipients=[PAULA], author_uncertain=PAULA_REASON,),
    EmailCfg(id='030508', recipients=[PAULA], author_uncertain=PAULA_REASON,),
    EmailCfg(id='030509', recipients=[PAULA], author_uncertain=PAULA_REASON,),
    EmailCfg(id='030096', recipients=[PETER_MANDELSON], author_reason='reply header'),
    EmailCfg(id='032951', recipients=[RAAFAT_ALSABBAGH, None], author_reason='Redacted'),
    EmailCfg(id='029581', recipients=[RENATA_BOLOTOVA], author_reason=BOLOTOVA_REASON),
    EmailCfg(id='019334', recipients=[STEVE_BANNON], author_reason='quoted reply'),
    EmailCfg(id='021106', recipients=[STEVE_BANNON], author_reason='Reply'),
    EmailCfg(id='029344', actual_text='I thought of you when I read this article. Was this your idea? Alan', is_fwded_article=True),
    EmailCfg(id='032358', actual_text=REDACTED),
    EmailCfg(id='031036', description=f'{BARBRO_C_EHNBOM} related donation / Swedish girls discussion', is_interesting=True),
    EmailCfg(id='032946', description='discussion of obtaining a Moroccan visa for an unnamed woman', is_interesting=True),
    EmailCfg(id='031320', description='discussion of routing Gratitude foundation money through Peggy Siegal', is_interesting=True),
    EmailCfg(id='031152', description='discussion of notoriously corrupt Kazakh politician Rakhat Aliyev', is_interesting=True),
    EmailCfg(id='022219', description="discussion of attempts to clean up Epstein's Google search results", truncate_to=2404),
    EmailCfg(id='032671', description='connections to Fusion GPS who produced the Steele Dossier on Trump'),
    EmailCfg(id='033052', description='connections to Fusion GPS who produced the Steele Dossier on Trump'),
    EmailCfg(id='031472', description="discussion of publishing an audio recording related to the coup in Turkey"),
    EmailCfg(id='031333', description='Fort Knox conspiracy theory, looks like a Russian disinfo article', is_fwded_article=True),
    EmailCfg(id='031335', description='Fort Knox conspiracy theory, looks like a Russian disinfo article', is_fwded_article=True),
    EmailCfg(id='030648', description=IS_IT_ROGER_STONE),
    EmailCfg(id='030762', description=IS_IT_ROGER_STONE),
    EmailCfg(id='030649', description=IS_IT_ROGER_STONE),
    EmailCfg(id='026026', description=IS_IT_ROGER_STONE),
    EmailCfg(id='026030', description=IS_IT_ROGER_STONE),
    EmailCfg(id='026033', description=IS_IT_ROGER_STONE),
    EmailCfg(id='031011', description='jokes about Chicago corruption', duplicate_ids=['031090'], truncate_to=TRUNCATED_CHARS),
    EmailCfg(id='023627', description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT, is_fwded_article=True, is_interesting=True, truncate_to=16800),
    EmailCfg(id='030745', description="planning a public statement for Ghislaine", truncate_to=NO_TRUNCATE),
    EmailCfg(id='016693', description='signed "MM"'),
    EmailCfg(id='028524', description='Zach Braff op-ed on Woody Allen in NYT', is_fwded_article=True, is_interesting=False),
    EmailCfg(
        id='033178',
        author_reason=PRUSAKOVA_BERKELY,
        author=MARIA_PRUSAKOVA,
        description='Masha Prusso asks about Zubair Khan, discusses recruiting girls for Epstein',
        is_interesting=True,
    ),
    EmailCfg(
        id='030630',
        author_reason=PRUSAKOVA_BERKELY,
        author=MARIA_PRUSAKOVA,
        description='Masha Prusso asks about Zubair Khan',
        is_interesting=True,
    ),
    EmailCfg(
        id='032374',
        author_reason=PRUSAKOVA_BERKELY,
        author=MARIA_PRUSAKOVA,
        description='Masha Prusso asks about Zubair Khan',
        is_interesting=True,
    ),
    EmailCfg(id='032375', author_reason=PRUSAKOVA_BERKELY, author=MARIA_PRUSAKOVA, truncate_to=NO_TRUNCATE),
    EmailCfg(id='031428', duplicate_ids=['031388'], is_fwded_article=True),
    EmailCfg(id='033528', duplicate_ids=['033517'], is_fwded_article=True),
    EmailCfg(id='030238', duplicate_ids=['031130'], is_fwded_article=True),
    EmailCfg(id='031112', duplicate_ids=['030876'], is_fwded_article=True),
    EmailCfg(id='031423', duplicate_ids=['025361'], is_fwded_article=True),
    EmailCfg(id='026298', duplicate_ids=['026499'], is_fwded_article=True, comment='Written by someone else?'),
    EmailCfg(id='029692', duplicate_ids=['029779'], is_fwded_article=True, comment='WaPo article'),
    EmailCfg(id='022344', duplicate_ids=['028529'], is_fwded_article=True, comment='Bill Gates is most admired from Nikolic'),
    EmailCfg(id='018197', duplicate_ids=['028648'], is_fwded_article=True, comment='Ray Takeyh article fwd'),
    EmailCfg(id='028728', duplicate_ids=['027102'], is_fwded_article=True, comment='WSJ forward to Larry Summers'),
    EmailCfg(id='028781', duplicate_ids=['013460'], is_fwded_article=True, comment="Atlantic on Jim Yong Kim, Obama's World Bank Pick"),
    EmailCfg(id='025041', duplicate_ids=['028675'], is_fwded_article=True, comment='Obama agenda'),
    EmailCfg(id='031136', duplicate_ids=['028791'], is_fwded_article=True, comment="'Smart Money is Fleeing US Stocks'"),
    EmailCfg(id='031779', duplicate_ids=['026938'], is_fwded_article=True, comment='Sarah Silverman on AI'),
    EmailCfg(id='029849', duplicate_ids=['033482'], is_fwded_article=True, comment='Fareed Zakaria: Trump sells America short),'),
    EmailCfg(id='032023', duplicate_ids=['032012'], is_fwded_article=True, comment='American-Israeli Cooperative Enterprise Newsletter'),
    EmailCfg(id='021758', duplicate_ids=['030616'], is_fwded_article=True, comment="Radar Online article about Epstein's early prison release"),
    EmailCfg(id='033297', duplicate_ids=['033586'], is_fwded_article=True, comment='Sultan Sulayem article about Trump and Russia'),
    EmailCfg(id='032458', truncate_to=NO_TRUNCATE, description='discussion of acquiring pieces for Epstein\'s art collection'),
    EmailCfg(id='032464', truncate_to=NO_TRUNCATE, description='redacted discussion about art advisor Etienne Binant'),
    # TODO: just use a search string for truncation
    EmailCfg(id='032964', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032968', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032467', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032480', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032486', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032491', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032975', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='032496', truncate_to=700, description='redacted discussion about art advisor Etienne Binant'),
    EmailCfg(id='021231', is_fwded_article=True, comment='11 places with worse economy than US'),
    EmailCfg(id='021729', is_fwded_article=True, comment='Acosta rebuke'),
    EmailCfg(id='025643', is_fwded_article=True, comment='Alice Fisher stated to be in the mix of potential candidates for new FBI director.'),
    EmailCfg(id='029905', is_fwded_article=True, comment='Ann Coulter'),
    EmailCfg(id='031340', is_fwded_article=True, comment='article about Alex Jones threatening Robert Mueller'),
    EmailCfg(id='029021', is_fwded_article=True, comment='article about bannon sent by Alain Forget'),
    EmailCfg(id='026605', is_fwded_article=True, comment='article about Ruemmler turning down attorney general job by NEDRA PICKLER'),
    EmailCfg(id='031569', is_fwded_article=True, comment='article by Kathryn Alexeeff fwded to Peter Thiel'),
    EmailCfg(id='013405', is_fwded_article=True, comment='articles about epstein case'),
    EmailCfg(id='016218', is_fwded_article=True, comment='AT&T confirms it paid Trump lawyer Cohen for insights on Trump'),
    EmailCfg(id='030209', is_fwded_article=True, comment='Atlantic Council "Syria: Blackberry Diplomacy"'),
    EmailCfg(id='030372', is_fwded_article=True, comment='Bannon China Iran'),
    EmailCfg(id='031688', is_fwded_article=True, comment='Bill Siegel fwd of email about Hamas'),
    EmailCfg(id='023564', is_fwded_article=True, comment="Bloomberg: Leon Black's Tax-Overhaul Dilemma Could Alter Wall Street Model"),
    EmailCfg(id='024300', is_fwded_article=True, comment='Bookstore owner calls police after customer confronted Steve Bannon'),
    EmailCfg(id='016801', is_fwded_article=True, comment='Capital Market Outlook'),
    EmailCfg(id='033329', is_fwded_article=True, comment='Chinese economists'),
    EmailCfg(id='029625', is_fwded_article=True, comment='Conchita Sarnoff Daily Beast Articles - Epstein Sex Trafficking Investigation and Settlement'),
    EmailCfg(id='030519', is_fwded_article=True, comment='Daily Mail on Prince Andrew'),
    EmailCfg(id='029509', is_fwded_article=True, comment='Deepak Chopra LSD, Quantum Healing'),
    EmailCfg(id='033301', is_fwded_article=True, comment='description of Trump jet'),
    EmailCfg(id='030865', is_fwded_article=True, comment='Deutsche bank research'),
    EmailCfg(id='022624', is_fwded_article=True, comment='Disgusting: Clinton Snared In Pedophile Ring'),
    EmailCfg(id='030927', is_fwded_article=True, comment="don't talk to the FBI"),
    EmailCfg(id='022673', is_fwded_article=True, comment='Epstein + Clinton'),
    EmailCfg(id='014523', is_fwded_article=True, comment='finance research'),
    EmailCfg(id='014857', is_fwded_article=True, comment='finance research'),
    EmailCfg(id='029458', is_fwded_article=True, comment='finance research'),
    EmailCfg(id='026893', is_fwded_article=True, comment='finance research'),
    EmailCfg(id='033362', is_fwded_article=True, comment='finance research'),
    EmailCfg(id='029505', is_fwded_article=True, comment='Foreign Policy Middle Eastern Monarchs Look at the Trump'),
    EmailCfg(id='030868', is_fwded_article=True, comment="'He doesn't like this sh*t': Trump reportedly hates his job and his staff after 1 month"),
    EmailCfg(id='021764', is_fwded_article=True, comment='He Was 50 and They Were Girls'),
    EmailCfg(id='024384', is_fwded_article=True, comment='interview with Bill Siegal re: Islam'),
    EmailCfg(id='031774', is_fwded_article=True, comment='Krassner fwd of Palmer Report article'),
    EmailCfg(id='033345', is_fwded_article=True, comment='Krassner fwd of Palmer Report article'),
    EmailCfg(id='029903', is_fwded_article=True, comment='Krassner fwd of Ann Coulter article about Epstein'),
    EmailCfg(id='030266', is_fwded_article=True, comment='Krassner fwd of article about Dershowitz'),
    EmailCfg(id='023635', is_fwded_article=True, comment='Landon Thomas finance related'),
    EmailCfg(id='026637', is_fwded_article=True, comment='Landon Thomas finance related'),
    EmailCfg(id='030200', is_fwded_article=True, comment='Lawfare indicting a president'),
    EmailCfg(id='023001', is_fwded_article=True, comment='Miami Herald article timeline of the sex abuse case'),
    EmailCfg(id='021740', is_fwded_article=True, comment='Miami Herald article about Epstein prosecutor'),
    EmailCfg(id='023126', is_fwded_article=True, comment='Miami Herald on Alex Acosta'),
    EmailCfg(id='031399', is_fwded_article=True, comment="Miami U.S. Attorney's Office recuses itself from Jeffrey Epstein case"),
    EmailCfg(id='028508', is_fwded_article=True, comment='nanosatellites article'),
    EmailCfg(id='025231', is_fwded_article=True, comment='Newsmax: Laffer, Laffer: Obama Must Use Reaganomics to Save Economy The only way President Barack Obama can solve'),
    EmailCfg(id='031990', is_fwded_article=True, comment='Newsmax on Ken Starr'),
    EmailCfg(id='026580', is_fwded_article=True, comment='NPR: Antigua: Land Of Sun, Sand, And Super Cheap'),
    EmailCfg(id='030326', is_fwded_article=True, comment='NYP Congressional candidate compares Melania Trump to prostitute'),
    EmailCfg(id='031988', is_fwded_article=True, comment='NYT review of Inside Job'),
    EmailCfg(id='028536', is_fwded_article=True, comment='Palm Beach Post FBI Epstein files say he gave info. Does it explain sweetheart deal?'),
    EmailCfg(id='030983', is_fwded_article=True, comment='Power Line blog Alex Acosta and Jeffrey Epstein Plea Deal Analysis'),
    EmailCfg(id='019845', is_fwded_article=True, comment='Pro Publica article on Preet Bharara'),
    EmailCfg(id='014525', is_fwded_article=True, comment='really more of a mailing list from Paul Morris?'),
    EmailCfg(id='029859', is_fwded_article=True, comment='Palm Beach Post: Epstein paid three women $5.5 million to end lawsuits'),
    EmailCfg(id='030878', is_fwded_article=True, comment="Steve Bannon almost appeared in Michael Moore's 'Fahrenheit 11/9'"),
    EmailCfg(id='026551', is_fwded_article=True, comment='Sultan bin Sulayem "Ayatollah between the sheets"'),
    EmailCfg(id='031768', is_fwded_article=True, comment="Sultan bin Sulayem 'Horseface'"),
    EmailCfg(id='026829', is_fwded_article=True, comment='taxes'),
    EmailCfg(id='029901', is_fwded_article=True, comment='THE EDGE question'),
    EmailCfg(id='026924', is_fwded_article=True, comment='The Onion'),
    EmailCfg(id='031705', is_fwded_article=True, comment='Thomas Friedman why not in vegas?'),
    EmailCfg(id='029689', is_fwded_article=True, comment='Tunisia article to Larry Summers'),
    EmailCfg(id='030528', is_fwded_article=True, comment='Vicky Ward article'),
    EmailCfg(id='030460', is_fwded_article=True, comment='Vicky Ward article'),
    EmailCfg(id='020443', is_fwded_article=True, comment='WSJ Deplorables Bannon'),
    EmailCfg(id='026755', is_fwded_article=True, truncate_to=TRUNCATED_CHARS, comment='Epstein self fwd'),
    EmailCfg(id='026778', is_fwded_article=True, truncate_to=TRUNCATED_CHARS, comment='Kahn taxes'),
    EmailCfg(id='033311', is_fwded_article=True, truncate_to=TRUNCATED_CHARS, comment='Kahn taxes'),
    EmailCfg(id='029433', is_fwded_article=True, truncate_to=TRUNCATED_CHARS, comment='Kahn taxes'),
    EmailCfg(id='031764', is_fwded_article=True, truncate_to=3500, comment='broidy malaysia'),
    EmailCfg(id='032475', date='2017-02-15 13:31:25'),
    EmailCfg(id='030373', date='2018-10-03 01:49:27'),
    EmailCfg(id='032325', duplicate_ids=['026014'], dupe_type='quoted', is_interesting=True, comment='Zubair'),
    EmailCfg(id='026631', duplicate_ids=['026632'], dupe_type='quoted'),
    EmailCfg(id='028768', duplicate_ids=['026563'], dupe_type='redacted'),
    EmailCfg(id='027056', duplicate_ids=['028762'], dupe_type='redacted'),
    EmailCfg(id='032248', duplicate_ids=['032246'], dupe_type='redacted'),
    EmailCfg(id='030628', duplicate_ids=['023065'], dupe_type='redacted'),
    EmailCfg(id='017523', duplicate_ids=['031226'], dupe_type='redacted'),
    EmailCfg(id='031099', duplicate_ids=['031008'], dupe_type='redacted'),
    EmailCfg(id='033596', duplicate_ids=['033463'], dupe_type='redacted'),
    EmailCfg(id='030624', duplicate_ids=['023018'], dupe_type='redacted'),
    EmailCfg(id='030335', duplicate_ids=['030596'], dupe_type='redacted'),
    EmailCfg(id='029841', duplicate_ids=['012711'], dupe_type='redacted'),
    EmailCfg(id='030414', duplicate_ids=['030578'], dupe_type='redacted'),
    EmailCfg(id='031135', duplicate_ids=['030634'], dupe_type='redacted'),
    EmailCfg(id='030620', duplicate_ids=['023067']),
    EmailCfg(id='029835', duplicate_ids=['028968']),
    EmailCfg(id='033512', duplicate_ids=['033361']),
    EmailCfg(id='030299', duplicate_ids=['021794']),
    EmailCfg(id='033575', duplicate_ids=['012898']),
    EmailCfg(id='031980', duplicate_ids=['019409']),
    EmailCfg(id='033486', duplicate_ids=['033156']),
    EmailCfg(id='025790', duplicate_ids=['031994']),
    EmailCfg(id='028497', duplicate_ids=['026228']),
    EmailCfg(id='019412', duplicate_ids=['028621']),
    EmailCfg(id='027053', duplicate_ids=['028765']),
    EmailCfg(id='027049', duplicate_ids=['028773']),
    EmailCfg(id='033580', duplicate_ids=['033207']),
    EmailCfg(id='028506', duplicate_ids=['025547']),
    EmailCfg(id='023024', duplicate_ids=['030622']),
    EmailCfg(id='030618', duplicate_ids=['023026']),
    EmailCfg(id='028780', duplicate_ids=['026834']),
    EmailCfg(id='028775', duplicate_ids=['026835']),
    EmailCfg(id='033251', duplicate_ids=['033489']),
    EmailCfg(id='031118', duplicate_ids=['019465']),
    EmailCfg(id='031912', duplicate_ids=['032158']),
    EmailCfg(id='030587', duplicate_ids=['030514']),
    EmailCfg(id='031089', duplicate_ids=['018084']),
    EmailCfg(id='031088', duplicate_ids=['030885']),
    EmailCfg(id='030859', duplicate_ids=['031067']),
    EmailCfg(id='030635', duplicate_ids=['031134']),
    EmailCfg(id='030311', duplicate_ids=['021790']),
    EmailCfg(id='033508', duplicate_ids=['029880']),
    EmailCfg(id='030493', duplicate_ids=['030612']),
    EmailCfg(id='032051', duplicate_ids=['031771']),
    EmailCfg(id='031346', duplicate_ids=['031426']),
    EmailCfg(id='031345', duplicate_ids=['031427']),
    EmailCfg(id='031343', duplicate_ids=['031432']),
    EmailCfg(id='031020', duplicate_ids=['031084']),
    EmailCfg(id='033354', duplicate_ids=['033485']),
    EmailCfg(id='031999', duplicate_ids=['021241']),
    EmailCfg(id='030502', duplicate_ids=['030602']),
    EmailCfg(id='030574', duplicate_ids=['030617']),
    EmailCfg(id='031156', duplicate_ids=['025226']),
    EmailCfg(id='031018', duplicate_ids=['031086']),
    EmailCfg(id='031026', duplicate_ids=['031079']),
    EmailCfg(id='032011', duplicate_ids=['031787']),
    EmailCfg(id='030606', duplicate_ids=['030498']),
    EmailCfg(id='032005', duplicate_ids=['021235']),
    EmailCfg(id='028505', duplicate_ids=['026160']),
    EmailCfg(id='031126', duplicate_ids=['030837']),
    EmailCfg(id='029624', duplicate_ids=['029778']),
    EmailCfg(id='031338', duplicate_ids=['031422']),
    EmailCfg(id='033587', duplicate_ids=['033289']),
    EmailCfg(id='032107', duplicate_ids=['012722']),
    EmailCfg(id='030844', duplicate_ids=['031114']),
    EmailCfg(id='031031', duplicate_ids=['031074']),
    EmailCfg(id='027032', duplicate_ids=['028531']),
    EmailCfg(id='026777', duplicate_ids=['028493']),
    EmailCfg(id='029837', duplicate_ids=['029255']),
    EmailCfg(id='029299', duplicate_ids=['033594']),
    EmailCfg(id='030904', duplicate_ids=['031069']),
    EmailCfg(id='030006', duplicate_ids=['031165']),
    EmailCfg(id='025215', duplicate_ids=['031159']),
    EmailCfg(id='032068', duplicate_ids=['018158']),
    EmailCfg(id='031213', duplicate_ids=['031221']),
    EmailCfg(id='016595', duplicate_ids=['016690']),
    EmailCfg(id='029833', duplicate_ids=['028970']),
    EmailCfg(id='029839', duplicate_ids=['028958']),
    EmailCfg(id='029893', duplicate_ids=['033503']),
    EmailCfg(id='025878', duplicate_ids=['028486']),
    EmailCfg(id='032764', duplicate_ids=['033565']),
    EmailCfg(id='026618', duplicate_ids=['028485']),
    EmailCfg(id='030609', duplicate_ids=['030495']),
    EmailCfg(id='029831', duplicate_ids=['028972']),
    EmailCfg(id='033498', duplicate_ids=['029884']),
    EmailCfg(id='028620', duplicate_ids=['027094']),
    EmailCfg(id='032456', duplicate_ids=['033579']),
    EmailCfg(id='030315', duplicate_ids=['030255']),
    EmailCfg(id='030614', duplicate_ids=['030491']),
    EmailCfg(id='033585', duplicate_ids=['032279']),
    EmailCfg(id='031220', duplicate_ids=['031189']),
    EmailCfg(id='032779', duplicate_ids=['033563']),
    EmailCfg(id='033230', duplicate_ids=['033576', '033577']),
    EmailCfg(id='032125', duplicate_ids=['023971']),
    EmailCfg(id='031230', duplicate_ids=['031203']),
    EmailCfg(id='031773', duplicate_ids=['032050']),
    EmailCfg(id='021400', duplicate_ids=['031983']),
    EmailCfg(id='029752', duplicate_ids=['023550']),
    EmailCfg(id='030339', duplicate_ids=['030592']),
    EmailCfg(id='032250', duplicate_ids=['033589'], truncate_to=1000, comment='Wolff article'),
    EmailCfg(id='028752', duplicate_ids=['026569'], subject='Re: Program & Attendee list'),
    EmailCfg(id='026548', duplicate_ids=['033491', '033495'], comment='033495 is HTML garbage version'),
    EmailCfg(id='013415', fwded_text_after='Darren K. Indyke'),
    EmailCfg(id='024624', fwded_text_after='On Tue, May 14'),
    EmailCfg(id='025888', fwded_text_after='Jul 24, 2015', comment='sultan asking about cholesterol drug'),
    EmailCfg(id='026362', fwded_text_after='Jul 24, 2015', comment='sultan asking about cholesterol drug'),
    EmailCfg(id='016413', fwded_text_after='In a former warehouse'),
    EmailCfg(id='025548', fwded_text_after='Edward Jay Epstein'),
    EmailCfg(id='032806', fwded_text_after='• Sep 13, 2018'),
    EmailCfg(id='028943', fwded_text_after='-Lisa'),
    EmailCfg(id='029431', fwded_text_after='I am writing now'),
    EmailCfg(id='020437', fwded_text_after='Will Cohen Cooperate'),
    EmailCfg(id='026663', fwded_text_after='REGULATORY & COMPLIANCE ALERT'),
    EmailCfg(id='028921', fwded_text_after='Salacious new chapter'),
    EmailCfg(id='030324', fwded_text_after='For Federal Programs'),
    EmailCfg(id='022766', fwded_text_after='--- On Wed, 4/22/15'),
    EmailCfg(id='025606', fwded_text_after='> On May 6,'),
    EmailCfg(id='024251', fwded_text_after='Debate Schedule', truncate_to=TRUNCATED_CHARS, comment='Kahn taxes'),
    EmailCfg(id='022977', fwded_text_after='Top of Form', truncate_to=1800, comment='Krassner with huge attachments field'),
    EmailCfg(id='033420', fwded_text_after='Slowing economy could increase pressure on'),
    EmailCfg(id='019203', fwded_text_after='This end-of-the-year'),
    EmailCfg(id='022207', fwded_text_after='Web Images Videos Maps'),
    EmailCfg(id='033210', fwded_text_after='Trump appears with mobster-affiliated'),
    EmailCfg(id='030989', fwded_text_after='New book paints sordid picture of Trump real estate'),
    EmailCfg(id='029174', fwded_text_after='The US trade war against China'),
    EmailCfg(id='030015', fwded_text_after='Bill Clinton reportedly'),
    EmailCfg(id='026312', fwded_text_after='Steve Bannon trying to get on disgraced'),
    EmailCfg(id='031742', fwded_text_after="Trump's former campaign manager Paul Manafort"),
    EmailCfg(id='028925', fwded_text_after='> on Jan 4, 2015'),
    EmailCfg(id='029773', fwded_text_after='Omar Quadhafi', duplicate_ids=['012685']),
    EmailCfg(id='012197_4', fwded_text_after='Thanks -- Jay', is_fwded_article=False),
    EmailCfg(id='026449', description="comments about Trump's 'former bridge girl and toy'", is_interesting=True),
    EmailCfg(
        id='030727',
        description='Epstein requesting help for Russia, discussion of unknown dead Chinese shareholder',
        is_interesting=True
    ),
    EmailCfg(id='033377', description="Epstein says he knows Russian oligarch Oleg Deripaska", is_interesting=True),
    EmailCfg(id='029098', description=f"{MASHA_DROKOVA}'s skype contact is in Moscow", is_interesting=True),
    EmailCfg(id='032229', description='Michael Wolff offers ideas for entrapping Trump', is_interesting=True),
    EmailCfg(id='023454', description='Email invitation sent to tech CEOs and Epstein', is_interesting=True, truncate_to=1878),
    EmailCfg(id='032842', description='discussion of "stealing" a casino in Atlantic City', is_interesting=True),
    EmailCfg(id='028784', is_interesting=True, duplicate_ids=['026549'], comment='seminars: Money / Power'),
    EmailCfg(id='022396', is_interesting=True, comment='Ukraine friend'),
    EmailCfg(id='026505', is_interesting=True, comment='I know how dirty trump is'),
    EmailCfg(id='029679', is_interesting=True, comment="Trump's driver was the bag man"),
    EmailCfg(id='026258', is_interesting=True, comment='Bannon cripto coin issues'),
    EmailCfg(id='026260', is_interesting=True, comment='Bannon cripto coin issues'),
    EmailCfg(id='032359', is_interesting=True, comment='Jabor e-currency'),
    EmailCfg(id='031451', is_interesting=True, comment='"would you like photso of donald and girls in bikinis in my kitchen."'),
    EmailCfg(id='031596', is_interesting=True, comment='"would you like photso of donald and girls in bikinis in my kitchen."'),
    EmailCfg(id='031601', is_interesting=True, comment='Old gf i gave to donald', truncate_to=2000),
    EmailCfg(id='030725', is_interesting=True, comment='David Stern in Moscow'),
    EmailCfg(id='030714', is_interesting=True, comment='Bannon, Russian Dugan shout out'),
    EmailCfg(id='031659', is_interesting=True, comment='"i have met some very bad people „ none as bad as trump"'),
    EmailCfg(id='030245', is_interesting=True, comment='Epstein rationalizes his behavior in an open letter to the world'),
    EmailCfg(id='030781', is_interesting=True, comment='Bannon email about crypto coin issues'),
    EmailCfg(id='032906', is_interesting=True, comment='David Blaine email'),
    EmailCfg(id='029609', is_interesting=True, comment='Joi Ito'),
    EmailCfg(id='025233', is_interesting=True, comment='Reputation.com discussion'),
    EmailCfg(id='017827', is_interesting=True, comment='Bannon / Peggy Siegal email about netflix doc on Epstein'),
    EmailCfg(id='030222', is_interesting=True, comment='Ross Gow / Ghislaine correspondence'),
    EmailCfg(id='031326', is_interesting=True, comment='"dog that hasn\'t barked is trump"'),
    EmailCfg(id='029545', is_interesting=True, comment='Tyler Shears reputation'),
    EmailCfg(id='025812', is_interesting=True, comment='Tyler Shears reputation'),
    EmailCfg(id='033171', is_interesting=True, comment='Zubair'),
    EmailCfg(
        id='026028',
        description=f"Epstein introduces {LARRY_SUMMERS} to possibly corrupt Senegalese official Karim Wade",
        is_interesting=True,
    ),
    EmailCfg(
        id='029914',
        description='Epstein and Lord Mandelson discuss Russian investments',
        is_interesting=True,
        truncate_to=4500,
    ),
    EmailCfg(id='033453', is_interesting=True, description='possibly an email from one of the women who sued Trump'),
    EmailCfg(id='029342', is_interesting=True, truncate_to=2000, comment='Hakeem Jeffries'),
    EmailCfg(id='026036', is_interesting=True, truncate_to=6000, comment='Gino Yu blockchain mention'),
    EmailCfg(
        id='032319',
        dupe_type='quoted',
        duplicate_ids=['032283'],
        is_interesting=True,
        comment='Zubair',
    ),
    EmailCfg(id='026059', truncate_to=2650, comment='Rothschild'),
    EmailCfg(id='031619', truncate_to=652, comment='Reply to grab em by the pussy story'),
    EmailCfg(id='021096', truncate_to=700, comment='Sinofsky article quote'),
    EmailCfg(id='032865', truncate_to=445, comment='Barton reply'),
    EmailCfg(id='027126', truncate_to=1000, comment='Summers'),
    EmailCfg(id='030950', truncate_to=4500, comment='Ian Osborne'),
    EmailCfg(id='029684', truncate_to=402, comment='Maldives reply'),
    EmailCfg(id='017574', truncate_to=4000, comment='Lisa Randall invite'),
    EmailCfg(id='030589', truncate_to=1000, comment='Brett Jaffe Fwd'),
    EmailCfg(id='025655', truncate_to=400, comment='reply to article'),
    EmailCfg(id='026451', truncate_to=500, comment='reply to article'),
    EmailCfg(id='023717', truncate_to=489, comment='reply to article'),
    EmailCfg(id='029680', truncate_to=900, comment='Maldives'),
    EmailCfg(id='029534', truncate_to=900, comment='Maldives'),
    EmailCfg(id='028760', truncate_to=900, comment='Epstein in an argument with someone'),
    EmailCfg(id='028757', truncate_to=900, comment='Epstein in an argument with someone'),
    EmailCfg(id='027028', truncate_to=1000, comment='Tom Pritzer penny pritzker'),
    EmailCfg(id='031217', truncate_to=1800, duplicate_ids=['021761'], comment='1st email for dersh, has long article'),
    EmailCfg(id='018045', truncate_to=TRUNCATED_CHARS, comment='invite'),
    EmailCfg(id='028494', truncate_to=NO_TRUNCATE, duplicate_ids=['026234'], comment='in palm beach w/trump people'),
    EmailCfg(id='032643', truncate_to=NO_TRUNCATE, comment='Anas al Rasheed'),
    EmailCfg(id='027059', truncate_to=NO_TRUNCATE, comment='Jean Luc Brunel and Boris Nikolic'),
    EmailCfg(id='028589', truncate_to=NO_TRUNCATE, comment='Long thread with Reid Weingarten'),
    EmailCfg(id='029910', truncate_to=NO_TRUNCATE, comment='Tom Pritzer Aspen'),
    EmailCfg(id='025163', truncate_to=NO_TRUNCATE, comment='Tom Pritzer'),
    EmailCfg(id='022265', truncate_to=NO_TRUNCATE),
    EmailCfg(id='026243', truncate_to=NO_TRUNCATE),
    EmailCfg(id='014797_1', has_uninteresting_bccs=True),

    # DOJ files
    EmailCfg(id='EFTA00040142', author=ATT_COURT_APPEARANCE_TEAM, recipients=[USANYS]),
    EmailCfg(id='EFTA02229342', author=AUSTIN_HILL),
    EmailCfg(id='EFTA00039357', author=BUREAU_OF_PRISONS, recipients=['DOJ Inspector General']),
    EmailCfg(id='EFTA01947908', author=CHRISTINA_GALBRAITH, author_reason='"Christina" appears in EFTA01950559'),
    EmailCfg(id='EFTA01940349', author=CHRISTINA_GALBRAITH, author_uncertain='subject matter'),
    EmailCfg(id='EFTA01747822', author=DARREN_INDYKE, author_reason='reply'),
    EmailCfg(id='EFTA00039967', author='DOJ London', recipients=[USANYS]),
    EmailCfg(
        id='EFTA00039660',
        author='DOJ Chief Psychologist',
        description="report on Epstein's psychological state in jail",
        is_interesting=True,
        recipients=[USANYS],
    ),
    EmailCfg(id='EFTA01776893', author=DONALD_NORMAN, author_reason='"This is Donald"', duplicate_ids=['EFTA00915423']),
    EmailCfg(id='EFTA00656005', author=DONALD_NORMAN, author_reason='signed "Donald"', duplicate_ids=['EFTA02691296', 'EFTA01862178']),
    EmailCfg(id='EFTA02660820', author=FAWZI_SIAM, truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02349713', author=FAWZI_SIAM, truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02661442', author=FAWZI_SIAM, truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA02730483', author=FBI, date='2023-07-11T08:25:00'),  # TODO: actually reply timestamp
    EmailCfg(id='EFTA02731552', author=FBI, recipients=[USANYS], date='2021-05-26 16:12:00', uncertain_recipient='true'),
    EmailCfg(id='EFTA00039971', author=FBI, recipients=[USANYS], uncertain_recipient='true'),
    EmailCfg(id='EFTA00039985', author='Florence Hutner', recipients=[USANYS], author_reason='signature'),
    EmailCfg(
        id='EFTA00677752',
        author=GANBAT_CHULUUNKHUU,
        description=f'discussion of getting a job in sustainable energy in Mongolia for {REDACTED} ({RENATA_BOLOTOVA}?)'
    ),
    EmailCfg(id='EFTA02069096', author=GANBAT_CHULUUNKHUU),
    EmailCfg(id='EFTA02645857', author=GANBAT_CHULUUNKHUU),
    EmailCfg(id='EFTA02406725', author=GANBAT_CHULUUNKHUU),
    EmailCfg(id='EFTA01030561', author=GANBAT_CHULUUNKHUU, author_reason='signature'),
    EmailCfg(id='EFTA00845330', author=GREG_WYLER, author_reason='"Greg" + Wyler is on other emails with Stern and Epstein at that time'),
    EmailCfg(id='EFTA02640711', author=JABOR_Y, description='Jabor Y / HBJ home address', is_interesting=True),
    EmailCfg(
        id='EFTA00838218',
        author=JULIA_SANTOS,
        author_uncertain='https://x.com/FlippersUpNow/status/2021662725412110565',
        description='author apparently is daughter of an FSB officer',
    ),
    EmailCfg(id='EFTA02296929', author=KARYNA_SHULIAK, author_reason='Valentines Day congrats'),
    EmailCfg(
        id='EFTA00357525',
        author=LESLEY_GROFF,
        description='Nicole Junkermann meeting',
        duplicate_ids=['EFTA02089447'],
        author_uncertain=True,
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA00383023',
        author_reason='"Lesley" appears in body + Linda Stone signature',
        author=LESLEY_GROFF,
        description='heavily redacted',
        is_interesting=True,
        recipients=[LINDA_STONE],
    ),
    EmailCfg(
        id='EFTA02109391',
        author=LESLEY_GROFF,
        description=f"{AUSTIN_HILL} brought a woman named Ellaina Astra to Epstein's house",
        author_uncertain=True,
    ),
    EmailCfg(id='EFTA02065181', author=LESLEY_GROFF),
    EmailCfg(id='EFTA02062308', author=LESLEY_GROFF),
    EmailCfg(id='EFTA02246900', author=LESLEY_GROFF),
    EmailCfg(id='EFTA00461202', author=LESLEY_GROFF),
    EmailCfg(id='EFTA02246744', author=LESLEY_GROFF),
    EmailCfg(id='EFTA01731288', author=LESLEY_GROFF, author_reason='signature'),
    EmailCfg(id='EFTA02104454', author=LESLEY_GROFF, author_uncertain='Epstein scheduling'),
    EmailCfg(id='EFTA02067245', author=LESLEY_GROFF, description=VALAR_MEETING, is_interesting=True, author_uncertain=True),
    EmailCfg(id='EFTA02068490', author=LESLEY_GROFF, description=VALAR_MEETING, is_interesting=True, author_uncertain=True),
    EmailCfg(id='EFTA02067872', author=LESLEY_GROFF, description=VALAR_MEETING, is_interesting=True, author_uncertain=True),
    EmailCfg(id='EFTA02089459', author=LESLEY_GROFF, description='Nicole Junkermann meeting', is_interesting=True, author_uncertain=True),
    # These attributions are based mostly on the email text being about Epstein scheduling
    EmailCfg(id='EFTA00334935', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02246686', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00494858', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00357521', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02090028', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00357488', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00642571', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00357379', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00357957', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02229858', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00428084', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02174702', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02068381', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02067282', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02092005', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02095399', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00361741', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00361736', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00371755', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA02092108', author=LESLEY_GROFF, author_uncertain=True),
    EmailCfg(id='EFTA00424931', author=LESLEY_GROFF, author_uncertain=True, duplicate_ids=['EFTA02181004']),
    EmailCfg(id='EFTA02005819', author=LESLEY_GROFF, author_uncertain=True, duplicate_ids=['EFTA01890165']),
    EmailCfg(id='EFTA00357509', author=LESLEY_GROFF, author_uncertain=True, duplicate_ids=['EFTA02089323']),
    EmailCfg(id='EFTA00697417', author=LESLEY_GROFF, author_uncertain=True, is_interesting=True),
    EmailCfg(id='EFTA02069175', author=LESLEY_GROFF, recipients=[GANBAT_CHULUUNKHUU], author_uncertain=True),
    EmailCfg(id='EFTA02271414', author=LESLEY_GROFF, recipients=[GANBAT_CHULUUNKHUU], author_uncertain=True),
    EmailCfg(id='EFTA02113506', author=LESLEY_GROFF, recipients=[TYLER_SHEARS], author_uncertain=True),
    EmailCfg(id='EFTA00405795', author=LESLEY_GROFF, duplicate_ids=['EFTA02159829']),
    EmailCfg(id='EFTA00419742', author=LESLEY_GROFF, duplicate_ids=['EFTA02174857']),
    EmailCfg(
        id='EFTA02730473',
        author='Records Management (Sun Sentinel?)',
        is_interesting=False,
        recipients=['Records Management Division'],
    ),
    EmailCfg(
        id='EFTA01965506',
        author_reason='"iPhone word substitution" in signature, which is traced back to "Linda, thanks" in EFTA00961792',
        author=LINDA_STONE,
        description='Barry Silbert became the CEO of Digital Currency Group, the top crypto fund in the U.S.',
        is_interesting=True,
    ),
    EmailCfg(id='EFTA00381451', author=LINDA_STONE, author_reason='"Typos, misspellings courtesy of iPhone."', truncate_to=800),
    EmailCfg(id='EFTA00706814', author=LINDA_STONE, author_reason=LINDA_STONE_ATTRIBUTION),
    EmailCfg(id='EFTA00703417', author=LINDA_STONE, author_reason=LINDA_STONE_ATTRIBUTION),
    EmailCfg(id='EFTA00397956', author=LINDA_STONE, author_reason='unique email signature'),
    EmailCfg(id='EFTA02267133', author=LESLEY_GROFF, recipients=[MARIA_PRUSAKOVA], uncertain_recipient=f"{CRYPTO_PR_LAB} signature", truncate_to=NO_TRUNCATE),  # only uncertain bc it could be other crypto pr lab person
    EmailCfg(id='EFTA02349697', author=MARIA_PRUSAKOVA, author_reason='boyfriend Christian, same as 032374'),
    EmailCfg(id='EFTA00495349', author=MARIA_PRUSAKOVA, author_reason=CRYPTO_PR_LAB, description='Ed Boyle / Medici Bank'),
    EmailCfg(
        id='EFTA02312343',
        description=f"cyrillic about {RENATA_BOLOTOVA}'s visa issues, possibly marriage related?",
        is_interesting=True
    ),
    EmailCfg(
        id='EFTA00708783',
        author=RENATA_BOLOTOVA,
        duplicate_ids=['EFTA02696436', 'EFTA02550142', 'EFTA02397691'],
        author_uncertain=SNEAKY_DOG,
    ),
    EmailCfg(
        id='EFTA02018237',
        author=RENATA_BOLOTOVA,
        duplicate_ids=['EFTA00930786', 'EFTA01770897'],
        author_uncertain=SNEAKY_DOG,
    ),
    EmailCfg(
        id='EFTA02561760',
        author=RENATA_BOLOTOVA,
        author_reason=SINCERELY_SNEAKY,
        duplicate_ids=['EFTA00945344', 'EFTA02563292', 'EFTA00948275'],
    ),
    EmailCfg(
        id='EFTA02538649',
        author=RENATA_BOLOTOVA,
        author_reason=f'{SNEAKY_DOG} + {TERJE_ROD_LARSEN} mention',
        description=f"email about a future job at {TERJE_ROD_LARSEN}'s International Peace Institute",
    ),
    EmailCfg(
        id='EFTA02540487',
        author_reason=f'{SNEAKY_DOG} + {TERJE_ROD_LARSEN} mention',
        author=RENATA_BOLOTOVA,
        description=f"email about a future job at {TERJE_ROD_LARSEN}'s International Peace Institute",
    ),
    EmailCfg(
        id='EFTA00912012',
        author_reason='renbolotova in body',
        author=RENATA_BOLOTOVA,
        description='this file has been removed from the DOJ site',
    ),
    EmailCfg(
        id='EFTA00927927',
        description=f"reads like {RENATA_BOLOTOVA} talking about recruiting girls for Epstein",
        is_interesting=True,
    ),
    EmailCfg(id='EFTA02025944', author=RENATA_BOLOTOVA, recipients=[JEFFREY_EPSTEIN], date='2012-01-23 06:00:00'),
    EmailCfg(id='EFTA01985762', author=RENATA_BOLOTOVA, recipients=[JEFFREY_EPSTEIN], date='2012-01-24 09:35:00'),
    EmailCfg(id='EFTA00920177', author=RENATA_BOLOTOVA, author_reason='discussion of employment at Institute'),
    EmailCfg(id='EFTA00920010', author=RENATA_BOLOTOVA, author_reason='renbolotova@gmail in body'),
    EmailCfg(id='EFTA02455567', author=RENATA_BOLOTOVA, author_reason='"sneaky"', description='completely redacted email body'),
    EmailCfg(id='EFTA01773417', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA00935516', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02545360', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02547825', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02387781', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02696764', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02372848', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02376299', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02389443', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA00703980', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA00699453', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02404938', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA00671467', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY),
    EmailCfg(id='EFTA02719248', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY, duplicate_ids=['EFTA01803593']),
    EmailCfg(id='EFTA00639014', author=RENATA_BOLOTOVA, author_reason=SINCERELY_SNEAKY, duplicate_ids=['EFTA02347987']),
    EmailCfg(id='EFTA00995559', author=RENATA_BOLOTOVA, author_reason='poorly redacted signature'),
    EmailCfg(id='EFTA01923844', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA00686861', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA00870433', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01035614', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01840867', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01748575', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01903041', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01954115', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01987876', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA00667874', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01925240', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA02611134', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA02603940', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA02396796', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01801003', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA00816407', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA02395750', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA00667441', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01931339', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA00659818', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01757037', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG),
    EmailCfg(id='EFTA01961947', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG, recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='EFTA00676720', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG, duplicate_ids=['EFTA01961947']),
    EmailCfg(id='EFTA00826575', author=RENATA_BOLOTOVA, author_uncertain=SNEAKY_DOG, duplicate_ids=['EFTA02462211']),
    EmailCfg(id='EFTA00039796', author=SDNY, recipients=[USANYS]),
    EmailCfg(id='EFTA01926669', author=SERGEY_BELYAKOV),
    EmailCfg(id='EFTA00858688', author=SERGEY_BELYAKOV),
    EmailCfg(id='EFTA00704085', author=SERGEY_BELYAKOV, author_reason='response to EFTA00835324'),
    EmailCfg(id='EFTA00039663', author=STACEY_RICHMAN, recipients=[USANYS], author_reason='unredacted in EFTA00039662'),
    EmailCfg(
        id='EFTA02731689',
        author=USANYS,
        date='2023-06-09 20:14:00',
        author_uncertain=True,
        recipients=[USANYS],
        truncate_to=TRUNCATED_CHARS,
    ),
    EmailCfg(id='EFTA02731755', author=USANYS),
    EmailCfg(id='EFTA00039890', author=USANYS),
    EmailCfg(id='EFTA00039662', author=USANYS),
    EmailCfg(id='EFTA00040141', author=USANYS),
    EmailCfg(id='EFTA02731644', author=USANYS),
    EmailCfg(id='EFTA00040144', author=USANYS),
    EmailCfg(id='EFTA00039995', author=USANYS),
    EmailCfg(id='EFTA00039813', author=USANYS),
    EmailCfg(id='EFTA00039815', author=USANYS),
    EmailCfg(id='EFTA00039825', author=USANYS),
    EmailCfg(id='EFTA00039879', author=USANYS),
    EmailCfg(id='EFTA00039983', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA00039886', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731651', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731775', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731646', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731640', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731643', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731501', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731633', author=USANYS, author_uncertain=True),
    EmailCfg(id='EFTA02731733', author=USANYS, author_uncertain=True, date='2021-05-17 17:29:00'),
    EmailCfg(id='EFTA02731699', author=USANYS, author_uncertain=True, recipients=[FBI], date='2021-05-27 10:19:00'),
    EmailCfg(id='EFTA00040121', author=USANYS, recipients=[ATT_COURT_APPEARANCE_TEAM]),
    EmailCfg(id='EFTA02731630', author=USANYS, recipients=[FBI]),
    EmailCfg(id='EFTA02731737', author=USANYS, recipients=[FBI], date='2023-06-30T16:05:00', author_uncertain=True),
    EmailCfg(id='EFTA02731593', author=USANYS, recipients=['Manhattan DA']),
    EmailCfg(id='EFTA00039419', author=USANYS, recipients=['Manhattan DA']),
    EmailCfg(id='EFTA02731617', author=USANYS, recipients=[SDNY], date='2021-04-28T15:05:41'),
    EmailCfg(id='EFTA02731615', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731684', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731485', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731736', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731478', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA00039872', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA00039868', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731490', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731477', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731660', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA00039820', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731638', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731636', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731637', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731659', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731781', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731774', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731724', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731771', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731486', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731604', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731618', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731655', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731608', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731612', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731729', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731484', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731757', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731623', author=USANYS, recipients=[USANYS], author_uncertain=True),
    EmailCfg(id='EFTA02731754', author=USANYS, recipients=[USANYS], date='2024-03-06T23:24:00', author_uncertain=True),
    EmailCfg(id='EFTA02731732', author=USANYS, recipients=[USANYS], date='2024-03-06T12:21:00', author_uncertain=True),
    EmailCfg(id='EFTA02731528', author=USANYS, recipients=[USANYS], date='2021-05-06 09:39:15', author_uncertain=True),
    EmailCfg(id='EFTA02731475', author=USANYS, recipients=[USANYS], date='2023-05-31T20:53:00', author_uncertain=True),
    EmailCfg(id='EFTA02731697', author=USANYS, recipients=[USANYS], date='2021-06-07 17:33:00', author_uncertain=True),
    EmailCfg(id='EFTA02731583', author=USANYS, recipients=[USANYS], date='2022-01-21 17:28:00', author_uncertain=True),
    EmailCfg(id='EFTA02731587', author=USANYS, recipients=[USANYS], date='2022-01-21 17:28:00', author_uncertain=True),
    EmailCfg(id='EFTA02068282', recipients=[ANDREW_MCCORMACK]),
    EmailCfg(id='EFTA02518357', recipients=[CHRISTINA_GALBRAITH, RICHARD_KAHN], author_reason='"Christina" appears in email'),
    EmailCfg(id='EFTA00915426', recipients=[DONALD_NORMAN], author_reason='"This is Donald"'),
    EmailCfg(id='EFTA00916133', recipients=[DONALD_NORMAN], author_reason='signed "Donald"', duplicate_ids=['EFTA01862243']),
    EmailCfg(id='EFTA02662381', recipients=[FAWZI_SIAM]),
    EmailCfg(id='EFTA02646138', recipients=[GANBAT_CHULUUNKHUU]),
    EmailCfg(id='EFTA02624738', recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='EFTA02629770', recipients=[JEFFREY_EPSTEIN]),
    EmailCfg(id='EFTA02328335', recipients=[JEFFREY_EPSTEIN, KARYNA_SHULIAK, None]),
    EmailCfg(id='EFTA02622513', recipients=[JULIA_SANTOS], author_reason='https://x.com/FlippersUpNow/status/2021662725412110565'),
    EmailCfg(id='EFTA02187050', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00357515', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00357508', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00462608', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00357523', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA02089992', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA01051609', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA02089433', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA02041142', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA02238824', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA02246341', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00840591', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00369335', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA02227488', recipients=[LESLEY_GROFF]),
    EmailCfg(id='EFTA00368951', recipients=[LESLEY_GROFF], author_reason='can be seen in EFTA00368958'),
    EmailCfg(id='EFTA00313867', recipients=[LESLEY_GROFF], truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA00383027', recipients=[LINDA_STONE]),
    EmailCfg(id='EFTA02266524', recipients=[MARIA_PRUSAKOVA], author_reason=CRYPTO_PR_LAB, description='Medici Bank'),
    EmailCfg(id='EFTA02731632', recipients=[OFFICE_OF_THE_DEPUTY_ATTORNEY_GENERAL]),
    EmailCfg(id='EFTA01843319', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG),
    EmailCfg(id='EFTA01006355', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG),
    EmailCfg(id='EFTA02547678', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG),
    EmailCfg(id='EFTA02626300', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG),
    EmailCfg(id='EFTA00935996', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG),
    EmailCfg(id='EFTA01846434', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG),
    EmailCfg(id='EFTA00977447', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG, duplicate_ids=['EFTA02577917', 'EFTA01946045']),
    EmailCfg(id='EFTA00929871', recipients=[RENATA_BOLOTOVA], author_reason=SNEAKY_DOG, duplicate_ids=['EFTA01773449', 'EFTA02550388']),
    EmailCfg(id='EFTA00850130', recipients=[SERGEY_BELYAKOV]),
    EmailCfg(id='EFTA00835324', recipients=[SERGEY_BELYAKOV], description='assessment of Mycelium bitcoin wallet'),
    EmailCfg(id='EFTA00852324', recipients=[SERGEY_BELYAKOV, JEFFREY_EPSTEIN, 'Elena Bolyakina', PETER_THIEL]),
    EmailCfg(id='EFTA00857165', recipients=['Seth Lloyd'], author_reason='quoted reply line'),
    EmailCfg(id='EFTA00749241', recipients=[SULTAN_BIN_SULAYEM], author_reason='widely reported', is_interesting=True),
    EmailCfg(id='EFTA02731721', recipients=[USANYS]),
    EmailCfg(id='EFTA02731582', recipients=[USANYS]),
    EmailCfg(id='EFTA02731512', recipients=[USANYS]),
    EmailCfg(id='EFTA00039884', recipients=[USANYS]),
    EmailCfg(id='EFTA02731514', recipients=[USANYS], comment='journal upload followup'),
    EmailCfg(id='EFTA02731511', recipients=[USANYS], comment='journal upload followup'),
    EmailCfg(id='EFTA02731515', recipients=[USANYS], comment='journal upload followup'),
    EmailCfg(id='EFTA02731735', recipients=[USANYS], date='2024-03-04T05:04:00', uncertain_recipient='true'),
    EmailCfg(id='EFTA02731715', recipients=[USANYS], duplicate_ids=['EFTA02731762']),
    EmailCfg(id='EFTA02731480', recipients=[USANYS], uncertain_recipient='true'),
    EmailCfg(id='EFTA02731482', recipients=[USANYS], uncertain_recipient='true'),
    EmailCfg(id='EFTA02731713', recipients=[USANYS], uncertain_recipient='true'),
    EmailCfg(id='EFTA02731718', recipients=[USANYS], uncertain_recipient='true'),
    EmailCfg(id='EFTA02730481', date='2023-07-07T11:01:00'),  # TODO: actually reply timestamp
    EmailCfg(id='EFTA02731577', date='2024-10-16T00:00:00'),  # TODO: actually reply timestamp
    EmailCfg(id='EFTA02730468', date='2019-07-11T08:25:00'),  # TODO: This is just wrong
    EmailCfg(id='EFTA00039665', date='2021-05-21 03:14:00'),  # Slow file
    # Generated basd on OtherFile.extract_timestamp()
    EmailCfg(id='EFTA02731783', date='2022-01-21 17:28:00'),
    EmailCfg(id='EFTA02731578', date='2021-05-28 10:00:00'),
    EmailCfg(id='EFTA00039888', date='2019-05-14 16:49:00'),
    EmailCfg(id='EFTA00040145', date='2021-11-09 17:24:30'),
    EmailCfg(id='EFTA02730485', date='2021-12-03 00:00:00'),
    EmailCfg(
        id='EFTA02021096',
        description=f"discussion of the murder of Martine Vik Magnussen by {SHAHER_ABDULHAK_BESHER}'s son Farouk",
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01834864',
        description=f"forged email by Epstein complaining about {AL_SECKEL}'s Mindshift conference",
        is_interesting=True,
    ),
    EmailCfg(
        id='EFTA01007544',
        description=f'bitcoin dev {JEREMY_RUBIN} describes "grey area between pump and develop" when Epstein objects on ethical grounds',
        is_interesting=True,
    ),
    EmailCfg(id='EFTA02588748', description=f'discussion of crypto food stamps debit cards', is_interesting=True, truncate_to=800),
    EmailCfg(
        id='EFTA00384774',
        author_reason='unique email signature',
        author=LINDA_STONE,
        description='visiting for the death of Red Burns',
        is_interesting=True,
        recipients=[LESLEY_GROFF],
    ),
    EmailCfg(id='EFTA00901970', description=f"{AL_SECKEL}'s response to Epstein's forged email", is_interesting=True),
    EmailCfg(id='EFTA02372964', description='an "ICO" or "initial coin offering" was a very popular type of crypto scam at this time'),
    EmailCfg(id='EFTA00988395', description=f'"Andy Back" is probably Blockstream bitcoin dev {ADAM_BACK}', duplicate_ids=['EFTA01928856']),
    EmailCfg(id='EFTA00955063', description=f'{AUSTIN_HILL} discusses crypto funds engaged in fraudulent wash trading', is_interesting=True),
    EmailCfg(id='EFTA01051074', description=f'{BROCK_PIERCE} arranging meeting between Bannon and Epstein (in Doha?)'),
    EmailCfg(id='EFTA00658457', description=f'{BROCK_PIERCE} says they will not invest in Bitfury'),
    EmailCfg(id='EFTA00998595', description=f'{BROCK_PIERCE} and Epstein discuss structure of crypto investments'),
    EmailCfg(id='EFTA01000882', description=f"{BROCK_PIERCE} asks for Epstein's permission to disclose his name to Coinbase team", is_interesting=True),
    EmailCfg(id='EFTA00626220', description=f'discussion of a "sidecar fund" with {BROCK_PIERCE} / {CRYPTO_CURRENCY_PARTNERS_II}'),
    EmailCfg(id='EFTA01784901', description=f"discussion of checks {JEREMY_RUBIN} has cashed from Epstein", is_interesting=True),
    EmailCfg(id='EFTA01917402', description=f'discussion of Epstein investment in Blockstream funneled through {JOI_ITO}', is_interesting=True),
    EmailCfg(id='EFTA02483194', description=f"discussion of {GANBAT_CHULUUNKHUU}'s arrest", is_interesting=True),
    EmailCfg(id='EFTA00637023', description=f"discussion of getting around laws against laundering money in places like Myanmar and Mongolia"),
    EmailCfg(id='EFTA02601259', description=f"discussion of investments hidden through {JOI_ITO}"),
    EmailCfg(id='EFTA01004753', description=f"discussion of LayerOne crypto stuff"),
    EmailCfg(id='EFTA00495372', description=f'discussion of Medici Bank, a new successor to Noble Bank as a crypto bank', is_interesting=True),
    EmailCfg(id='EFTA02629771', description=f"discussion of {RENATA_BOLOTOVA}'s employment at IPI", is_interesting=True),
    EmailCfg(id='EFTA00964459', description=f'discussion of sharia compliant crypto token', is_interesting=True),
    EmailCfg(id='EFTA00901772', description=f'discussion of the sale of Epstein stake in Coinbase', is_interesting=True),
    EmailCfg(id='EFTA01750652', description=f"discussion of using blockchains in the repo markets"),
    EmailCfg(id='EFTA00671263', description="Eagle's View Capital Management September 2017 Performance Update"),
    EmailCfg(id='EFTA00836182', description=f'email to investors in {VALAR_FUND}'),
    EmailCfg(id='EFTA02494000', description=f"Epstein and {DAVID_STERN} discussing setting up a crypto exchange in Belarus", is_interesting=True),
    EmailCfg(id='EFTA02671523', description=f"Jones is former Google chief technology advocate / CEO of Epstein investment Wearality"),
    EmailCfg(id='EFTA01139067', description=f'Epstein tells Farkas he has not invested in {CRYPTO_CURRENCY_PARTNERS_II}', is_interesting=True),
    EmailCfg(id='EFTA00699275', description=f"'Fred' is probably Coinbase co-founder Fred Ehrsam"),
    EmailCfg(id='EFTA00830911', description='fundraising email for LedgerX which was later acquired by FTX for $298 million'),
    EmailCfg(id='EFTA00999549', description=f"{JOI_ITO} and {JEREMY_RUBIN} meet {LARRY_SUMMERS} to discuss bitcoin", is_interesting=True),
    EmailCfg(id='EFTA00104945', description=f"{LEON_BLACK} / Rothschild Group {DEUTSCHE_BANK} transactions", is_interesting=True, truncate_to=700),
    EmailCfg(id='EFTA01013266', description=f"{MARIA_PRUSAKOVA}'s {CRYPTO_PR_LAB} request for payment for Davos", is_interesting=True),
    EmailCfg(id='EFTA02285514', description=f"Medici Bank and {MARIA_PRUSAKOVA} meeting", is_interesting=True),
    EmailCfg(id='EFTA00900908', description="negotiation of repurchase of half of Epstein's stake in Coinbase"),
    EmailCfg(id='EFTA00754450', description='"PA" is probably Prince Andrew', duplicate_ids=['EFTA02418244']),
    EmailCfg(id='EFTA01003346', description=f"{PETER_THIEL} tells Epstein to invest in his fund", is_interesting=True),
    EmailCfg(id='EFTA00758140', description="possibly about Sarah Ferguson?"),
    EmailCfg(id='EFTA00039689', description=f"{SEC_WHISTLEBLOWER} re: Signature Bank, Hapoalim, Bioptix/RIOT, Barry Honig, etc.", truncate_to=NO_TRUNCATE),
    EmailCfg(id='EFTA00362171', description=f"{SEC_WHISTLEBLOWER}, rest is visible in EFTA00039689", truncate_to=102_000),
    EmailCfg(id='EFTA02505439', description=f'summary of {KYARA_INVESTMENT} shell companies with {JOI_ITO}'),
    EmailCfg(id='EFTA02517623', description=f"{VINCENZO_IOZZO} explains to Epstein how to deanonymize bitcoin", is_interesting=True),
    EmailCfg(id='EFTA00875181', duplicate_ids=['EFTA01901268']),
    EmailCfg(id='EFTA01852975', duplicate_ids=['EFTA02001764']),
    EmailCfg(id='EFTA00563586', duplicate_ids=['EFTA02323722']),
    EmailCfg(id='EFTA00039802', duplicate_ids=['EFTA00039809']),
    EmailCfg(id='EFTA01002234', duplicate_ids=['EFTA02597754']),
    EmailCfg(id='EFTA00039799', duplicate_ids=['EFTA00039806']),
    EmailCfg(id='EFTA01776613', duplicate_ids=['EFTA02691059']),
    EmailCfg(id='EFTA01776411', duplicate_ids=['EFTA02691069']),
    EmailCfg(id='EFTA02390441', duplicate_ids=['EFTA02403336']),
    EmailCfg(id='EFTA00869828', truncate_to=TRUNCATED_CHARS),
]


################################################################################################
####################################### OTHER FILES ############################################
################################################################################################

# strings
MEME = 'meme of'
RESUME_OF = 'professional resumé'
SCREENSHOT = 'screenshot of'
TRANSLATION = 'translation of'

# Legal cases
BRUNEL_V_EPSTEIN = f"{JEAN_LUC_BRUNEL} v. {JEFFREY_EPSTEIN} and Tyler McDonald d/b/a YI.org"
EDWARDS_V_DERSHOWITZ = f"{BRAD_EDWARDS} & {PAUL_G_CASSELL} v. {ALAN_DERSHOWITZ}"
EPSTEIN_V_ROTHSTEIN_EDWARDS = f"Epstein v. Scott Rothstein, {BRAD_EDWARDS}, & L.M."
GIUFFRE_V_DERSHOWITZ = f"{VIRGINIA_GIUFFRE} v. {ALAN_DERSHOWITZ}"
GIUFFRE_V_EPSTEIN = f"{VIRGINIA_GIUFFRE} v. {JEFFREY_EPSTEIN}"
GIUFFRE_V_MAXWELL = f"{VIRGINIA_GIUFFRE} v. {GHISLAINE_MAXWELL}"
JANE_DOE_V_EPSTEIN_TRUMP = f"Jane Doe v. Donald Trump and {JEFFREY_EPSTEIN}"
JANE_DOE_V_USA = 'Jane Doe #1 and Jane Doe #2 v. United States'
NEW_YORK_V_EPSTEIN = f"New York v. {JEFFREY_EPSTEIN}"

# Descriptions of non-email, non-text message files
ARTICLE_DRAFT = 'draft of an article about'
BOFA_WEALTH_MGMT = f'{BOFA} Wealth Management'
DAVID_BLAINE_VISA_LETTER = f"recommending genius visa for a Epstein's assistant {SVETLANA_POZHIDAEVA}"
DERSH_GIUFFRE_TWEET = f"about {VIRGINIA_GIUFFRE}"
DEUTSCHE_BANK_TAX_TOPICS = f'{DEUTSCHE_BANK} Wealth Management Tax Topics'
DIANA_DEGETTE_CAMPAIGN = "Colorado legislator Diana DeGette's campaign"
FBI_REPORT = f"report on Epstein investigation (redacted)"
FBI_SEIZED_PROPERTY = f"seized property inventory (redacted)"
FEMALE_HEALTH_COMPANY = 'Female Health Company (FHC)'
FIRE_AND_FURY = f"Fire And Fury"
HBS_APPLICATION = f"{HARVARD} Business School application letter"
HONEYCOMB_FUND = 'Honeycomb Asset Management (Spotify and Tencent investors)'
JASTA_SAUDI_LAWSUIT = f"{JASTA} lawsuit against Saudi Arabia by 9/11 victims"
JP_MORGAN_EYE_ON_THE_MARKET = f"Eye On The Market"
LAWRENCE_KRAUSS_ASU_ORIGINS = f"{LAWRENCE_KRAUSS}'s ASU Origins Project"
KEN_STARR_LETTER = f"letter to judge overseeing Epstein's criminal prosecution, mentions Alex Acosta"
LEXIS_NEXIS_CVRA_SEARCH = f"{LEXIS_NEXIS} search for case law around the {CVRA}"
LUTNICKS_CANTOR = f"Howard Lutnick's {CANTOR}"
OBAMA_JOKE = 'joke about Obama'
PATTERSON_BOOK_SCANS = f'pages of "Filthy Rich: The Shocking True Story of {JEFFREY_EPSTEIN}"'
REAL_DEAL_ARTICLE = 'article by Keith Larsen'
SHIMON_POST_ARTICLE = f'selection of articles about the mideast'
SKYPE_CONVERSATION = 'Skype conversation with'
STRANGE_BEDFELLOWS = "'Strange Bedfellows' list of invitees f. Johnny Depp, Woody Allen, Obama, and more"
SWEDISH_LIFE_SCIENCES_SUMMIT = f"{BARBRO_C_EHNBOM}'s Swedish American Life Science Summit (SALSS)"
TRUMP_DISCLOSURES = f"Donald Trump financial disclosures from U.S. Office of Government Ethics"
UBS_CIO_REPORT = 'CIO Monthly Extended report'
WOMEN_EMPOWERMENT = f"Women Empowerment (WE) conference"

OTHER_FILES_BOOK = [
    DocCfg(id='017088', author=ALAN_DERSHOWITZ, description=f'"Taking the Stand: My Life in the Law" (draft)', date='2012-04-02'),  # Slow file
    DocCfg(id='013501', author='Arnold J. Mandell', description=f'The Nearness Of Grace: A Personal Science Of Spiritual Transformation', date='2005-01-01'),
    DocCfg(id='012899', author='Ben Goertzel', description=f'Engineering General Intelligence: A Path to Advanced AGI Via Embodied Learning and Cognitive Synergy', date='2013-09-19'),
    DocCfg(id='018438', author='Clarisse Thorn', description=f'The S&M Feminist', date='2012-05-14'),
    DocCfg(id='019477', author=EDWARD_JAY_EPSTEIN, description=f'How America Lost Its Secrets: Edward Snowden, the Man, and the Theft'),
    DocCfg(id='020153', author=EDWARD_JAY_EPSTEIN, description=f'The Snowden Affair: A Spy Story In Six Parts'),
    DocCfg(id='011472', author=EHUD_BARAK, description=f'"Night Flight" (draft)', date='2006-07-12', duplicate_ids=['027849']),  # date from _extract_timestamp()
    DocCfg(id='010912', author=GORDON_GETTY, description=f'"Free Growth and Other Surprises" (draft)', date='2018-10-18'),
    DocCfg(id='010477', author=JAMES_PATTERSON, description=PATTERSON_BOOK_SCANS, date='2016-10-10'),
    DocCfg(id='010486', author=JAMES_PATTERSON, description=PATTERSON_BOOK_SCANS, date='2016-10-10'),
    DocCfg(id='021958', author=JAMES_PATTERSON, description=PATTERSON_BOOK_SCANS, date='2016-10-10'),
    DocCfg(id='022058', author=JAMES_PATTERSON, description=PATTERSON_BOOK_SCANS, date='2016-10-10'),
    DocCfg(id='022118', author=JAMES_PATTERSON, description=PATTERSON_BOOK_SCANS, date='2016-10-10'),
    DocCfg(id='019111', author=JAMES_PATTERSON, description=PATTERSON_BOOK_SCANS, date='2016-10-10'),
    DocCfg(id='015675', author='James Tagg', description=f'Are the Androids Dreaming Yet? Amazing Brain Human Communication, Creativity & Free Will', date='2015-06-01'),  # Slow file
    DocCfg(id='016804', author=JOHN_BROCKMAN, description='Deep Thinking: Twenty-Five Ways of Looking at AI', date='2019-02-19', duplicate_ids=['016221']),
    DocCfg(id='018232', author='Joshua Cooper Ramo', description=f'The Seventh Sense: Power, Fortune & Survival in the Age of Networks', date='2015-03-11'),
    DocCfg(id='012747', author='Marc D. Hauser', description=f'Evilicious: Explaining Our Taste For Excessive Harm'),
    DocCfg(id='032724', author=MICHAEL_WOLFF, description=f'cover of "{FIRE_AND_FURY}"', date='2018-01-05'),
    DocCfg(id='021120', author=MICHAEL_WOLFF, description=f'chapter of "Siege: Trump Under Fire"'),
    DocCfg(id='019874', author=MICHAEL_WOLFF, description=FIRE_AND_FURY, date='2018-01-05'),
    DocCfg(id='015032', author=PAUL_KRASSNER, description=f"60 Years of Investigative Satire: The Best of {PAUL_KRASSNER}"),
    DocCfg(id='023731', author=ROGER_SCHANK, description=f'Teaching Minds How Cognitive Science Can Save Our Schools'),
    DocCfg(id='021247', author='The Chicago Social Brain Network', description=f'Invisible Forces And Powerful Beliefs: Gravity, Gods, And Minds', date='2010-10-04'),
    DocCfg(id='013796', author='Tim Ferriss', description=f'The 4-Hour Workweek'),
    DocCfg(id='021145', author=VIRGINIA_GIUFFRE, description=f'"The Billionaire\'s Playboy Club" (draft?)'),
    DocCfg(id='031533', description=f'pages from a book about the Baylor University sexual assault scandal and Sam Ukwuachu'),
    # DOJ files
    DocCfg(id='EFTA00008020', replace_text_with='"Massage for Dummies"'),
    DocCfg(id='EFTA00008320', replace_text_with='"Massage for Dummies (???)"'),
    DocCfg(id='EFTA00008220', replace_text_with='"Massage book: Chapter 11: Putting the Moves Together"'),
    DocCfg(id='EFTA00008120', replace_text_with='"Part II: The Art of Receiving a Massage"'),
]

OTHER_FILES_ARTICLE = [
    DocCfg(id='030013', author='Aviation International News', description=f'article', date='2012-07-01'),
    DocCfg(id='013275', author=BLOOMBERG, description=f"article on notable 2013 obituaries", date='2013-12-26'),
    DocCfg(id='026543', author=BLOOMBERG, description=f"BNA article about taxes"),
    DocCfg(id='014865', author='Boston Globe', description=f"article about {ALAN_DERSHOWITZ}"),
    DocCfg(id='033231', author='Business Standard', description=f"article about Trump's visit with India's Modi"),
    DocCfg(id='023572', author=CHINA_DAILY, description=f"article on China's Belt & Road Initiative"),
    DocCfg(id='023571', author=CHINA_DAILY, description=f"article on terrorism, Macau, trade initiatives", date='2016-09-18'),
    DocCfg(id='023570', author=CHINA_DAILY, description=f"article on Belt & Road in Central/South America, Xi philosophy", date='2017-05-14'),
    DocCfg(id='025115', author=CHINA_DAILY, description=f"article on China and the US working together", date='2017-05-14'),
    DocCfg(id='012704', author='Daily Business Review', description=f"article about {JANE_DOE_V_USA} and {CVRA}", date='2011-04-21'),
    DocCfg(id='025292', author=DAILY_MAIL, description=f"article on Bill Clinton being named in a lawsuit"),
    DocCfg(id='019468', author=DAILY_MAIL, description=f"article on Epstein and Clinton"),
    DocCfg(id='022970', author=DAILY_MAIL, description=f"article on Epstein and Prince Andrew"),
    DocCfg(id='031186', author=DAILY_MAIL, description=f'article on allegations of rape of 13 year old against Trump', date='2016-11-02'),
    DocCfg(id='013437', author=DAILY_TELEGRAPH, description=f"article about Epstein's diary", date='2011-03-05'),
    DocCfg(id='023287', author=DAILY_TELEGRAPH, description=f"article about a play based on the Oslo Accords", date='2017-09-15'),
    DocCfg(id='019206', author=EDWARD_JAY_EPSTEIN, description=f"WSJ article about Edward Snowden", date='2016-12-30'),
    DocCfg(id='023567', author='Financial Times', description=f"article about quantitative easing"),
    DocCfg(id='026761', author='Forbes', description=f"article about {BARBRO_C_EHNBOM} 'Swedish American Group Focuses On Cancer'"),
    DocCfg(id='031716', author='Fortune Magazine', description=f'article by {TOM_BARRACK}', date='2016-10-22'),
    DocCfg(id='019444', author='Frontlines magazine', description=f"article 'Biologists Dig Deeper'", date='2008-01-01'),
    DocCfg(id='023720', author='Future Science', description=f'article: "Is Shame Necessary?" by {JENNIFER_JACQUET}'),
    DocCfg(id='021094', author='Globe and Mail', description=f"article about Gerd Heinrich"),
    DocCfg(id='013268', author='JetGala', description=f"article about airplane interior designer {ERIC_ROTH}"),
    DocCfg(id='029539', author=LA_TIMES, description=f"Alan Trounson interview on California stem cell research and CIRM"),
    DocCfg(id='029865', author=LA_TIMES, description=f"front page article about {DEEPAK_CHOPRA} and young Iranians", date='2016-11-05'),
    DocCfg(id='026598', author=LA_TIMES, description=f"op-ed about why America needs a Ministry of Culture"),
    DocCfg(id='027024', author=LA_TIMES, description=f"Scientists Create Human Embryos to Make Stem Cells", date='2013-05-15'),
    DocCfg(id='022811', author='Law.com', description='Sarah Ransome Identifies Herself in Epstein Sex Trafficking Case', date='2018-01-09'),
    DocCfg(id='031776', author='Law360', description=f"article about Michael Avenatti by Andrew Strickler"),
    DocCfg(id='023102', author='Litigation Daily', description=f"article about {REID_WEINGARTEN}", date='2015-09-04'),
    DocCfg(id='029340', author='MarketWatch', description=f'article about estate taxes, particularly Epstein\'s favoured GRATs'),
    DocCfg(id='022707', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='022727', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='022746', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='022844', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='022863', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='022894', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='022952', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='024229', author=MICHAEL_WOLFF, description=MICHAEL_WOLFF_EPSTEIN_ARTICLE_DRAFT),
    DocCfg(id='031198', author='Morning News USA', description=f"article about identify of Jane Doe in {JANE_DOE_V_EPSTEIN_TRUMP}"),
    DocCfg(id='015462', author='Nautilus Education', description=f'magazine (?) issue'),

    DocCfg(id='031972', author=NYT, description=f"article about #MeToo allegations against {LAWRENCE_KRAUSS}", date='2018-03-07'),
    DocCfg(id='032435', author=NYT, description=f'article about Chinese butlers'),
    DocCfg(id='029452', author=NYT, description=f"article about {PETER_THIEL}"),
    DocCfg(id='025328', author=NYT, description=f"article about radio host Bob Fass and Robert Durst"),
    DocCfg(id='033479', author=NYT, description=f"article about Rex Tillerson", date='2010-03-14'),
    DocCfg(id='028481', author=NYT, description=f'article about {STEVE_BANNON}', date='2018-03-09'),
    DocCfg(id='033181', author=NYT, description=f"article about Trump's tax avoidance", date='2016-10-31'),
    DocCfg(id='023097', author=NYT, description=f"column about The Aristocrats by Frank Rich 'The Greatest Dirty Joke Ever Told'"),
    DocCfg(id='033365', author=NYT, description=f'column about trade war with China by Kevin Rudd'),
    DocCfg(id='019439', author=NYT, description=f"column about the Clintons and money by Maureen Dowd", date='2013-08-17'),
    DocCfg(id='EFTA00040076', author=NYT, description=f"article about Epstein's death", date='2019-07-08'),
    DocCfg(id='029925', author='New Yorker', description=f"article about the placebo effect by Michael Specter"),
    DocCfg(id='013435', author=PALM_BEACH_DAILY_NEWS, description=f"article about Epstein's address book", date='2011-03-11'),
    DocCfg(id='013440', author=PALM_BEACH_DAILY_NEWS, description=f"article about Epstein's gag order", date='2011-07-13'),
    DocCfg(id='029238', author=PALM_BEACH_DAILY_NEWS, description=f"article about Epstein's plea deal"),
    DocCfg(id='021775', author=PALM_BEACH_POST, description="article about 'He Was 50. And They Were Girls'", attached_to_email_id='021764'),
    DocCfg(id='022989', author=PALM_BEACH_POST, description="article about alleged rape of 13 year old by Trump"),
    DocCfg(id='022987', author=PALM_BEACH_POST, description="article about just a headline on Trump and Epstein"),
    DocCfg(id='015028', author=PALM_BEACH_POST, description="article about reopening Epstein's criminal case"),
    DocCfg(id='022990', author=PALM_BEACH_POST, description="article about Trump and Epstein"),
    DocCfg(id='031753', author=PAUL_KRASSNER, description=f'essay for Playboy in the 1980s', date='1985-01-01'),
    DocCfg(id='023638', author=PAUL_KRASSNER, description=f'magazine interview'),
    DocCfg(id='024374', author=PAUL_KRASSNER, description=f"Remembering Cavalier Magazine"),
    DocCfg(id='030187', author=PAUL_KRASSNER, description=f'"Remembering Lenny Bruce While We\'re Thinking About Trump" (draft?)'),
    DocCfg(id='019088', author=PAUL_KRASSNER, description=f'"Are Rape Jokes Funny?" (draft)', date='2012-07-28'),
    DocCfg(id='012740', author=PEGGY_SIEGAL, description=f"article about Venice Film Festival"),
    DocCfg(id='013442', author=PEGGY_SIEGAL, description=f"draft about Oscars", date='2011-02-27'),
    DocCfg(id='012700', author=PEGGY_SIEGAL, description=f"film events diary", date='2011-02-27'),
    DocCfg(id='012690', author=PEGGY_SIEGAL, description=f"film events diary early draft of 012700", date='2011-02-27'),
    DocCfg(id='013450', author=PEGGY_SIEGAL, description=f"Oscar Diary in Avenue Magazine", date='2011-02-27'),
    DocCfg(id='010715', author=PEGGY_SIEGAL, description=f"Oscar Diary April", date='2012-02-27'),
    DocCfg(id='019849', author=PEGGY_SIEGAL, description=f"Oscar Diary April", date='2017-02-27', duplicate_ids=['019864']),
    DocCfg(id='026851', author='Politifact', description=f"lying politicians chart", date='2016-07-26'),
    DocCfg(id='033253', author=ROBERT_LAWRENCE_KUHN, description=f'{BBC} article about Rohingya in Myanmar', attached_to_email_id='033252'),
    DocCfg(id='026887', author=ROBERT_LAWRENCE_KUHN, description=f'{BBC} "New Tariffs - Trade War"'),
    DocCfg(id='026877', author=ROBERT_LAWRENCE_KUHN, description=f'{CNN} "New Tariffs - Trade War"'),
    DocCfg(id='026868', author=ROBERT_LAWRENCE_KUHN, description=f'{CNN} "Quest Means Business New China Tariffs — Trade War"', date='2018-09-18'),
    DocCfg(id='023707', author=ROBERT_LAWRENCE_KUHN, description=f'{CNN} "Quest Means Business U.S. and China Agree to Pause Trade War"', date='2018-12-03'),
    DocCfg(id='029176', author=ROBERT_LAWRENCE_KUHN, description=f'{CNN} "U.S. China Tariffs - Trade War"', attached_to_email_id='029174'),
    DocCfg(id='032638', author=ROBERT_LAWRENCE_KUHN, description=f'{CNN} "Xi Jinping and the New Politburo Committee"', attached_to_email_id='032637'),
    DocCfg(id='023666', author=ROBERT_LAWRENCE_KUHN, description=f"sizzle reel / television appearances", date='2018-09-30', attached_to_email_id='033252'),
    DocCfg(id='016996', author='SciencExpress', description=f'article "Quantitative Analysis of Culture Using Millions of Digitized Books" by Jean-Baptiste Michel'),
    DocCfg(id='025104', author='SCMP', description=f"article about China and globalisation"),
    DocCfg(id='030030', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-03-29'),
    DocCfg(id='025610', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-04-03'),
    DocCfg(id='023458', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-04-17'),
    DocCfg(id='023487', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-04-18'),
    DocCfg(id='030531', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-05-16'),
    DocCfg(id='024958', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-05-08'),
    DocCfg(id='030060', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-05-13'),
    DocCfg(id='031834', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-05-16'),
    DocCfg(id='023517', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-05-26'),
    DocCfg(id='030268', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-05-29'),
    DocCfg(id='029628', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-06-04'),
    DocCfg(id='018085', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-06-07'),
    DocCfg(id='030156', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-06-22'),
    DocCfg(id='031876', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-06-14'),
    DocCfg(id='032171', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-06-26'),
    DocCfg(id='029932', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-07-03'),
    DocCfg(id='031913', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-08-24'),
    DocCfg(id='024592', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-08-25'),
    DocCfg(id='024997', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-09-08'),
    DocCfg(id='031941', author=SHIMON_POST, description=SHIMON_POST_ARTICLE, date='2011-11-17'),
    DocCfg(id='030829', author='South Florida Sun Sentinel', description=f'article about {BRAD_EDWARDS} and {JEFFREY_EPSTEIN}'),
    DocCfg(id='021092', author='Tatler', description=f'single page of article about {GHISLAINE_MAXWELL} shredding documents'),
    DocCfg(id='030333', author='The Independent', description=f'article about Prince Andrew, Epstein, and Epstein\'s butler who stole his address book'),
    DocCfg(id='010754', author='U.S. News', description=f"article about Yitzhak Rabin"),
    DocCfg(id='014498', author=VI_DAILY_NEWS, description='article', date='2016-12-13'),
    DocCfg(id='031171', author=VI_DAILY_NEWS, description='article', date='2019-02-06'),
    DocCfg(id='023048', author=VI_DAILY_NEWS, description='article', date='2019-02-27'),
    DocCfg(id='023046', author=VI_DAILY_NEWS, description='article', date='2019-02-27'),
    DocCfg(id='031170', author=VI_DAILY_NEWS, description='article', date='2019-03-06'),
    DocCfg(id='016506', author=VI_DAILY_NEWS, description='article', date='2019-02-28'),
    DocCfg(id='018862', author=VI_DAILY_NEWS, description='articles about Sen. Alvin Williams Jr. Fraud case, arson', date='2012-11-09'),
    DocCfg(id='016507', author=VI_DAILY_NEWS, description=f'"Perversion of Justice" by {JULIE_K_BROWN}', date='2018-12-19'),
    DocCfg(id='019212', author=WAPO, description=f'and Times Tribune articles about Bannon, Trump, and healthcare execs'),
    DocCfg(id='033379', author=WAPO, description=f'"How Washington Pivoted From Finger-Wagging to Appeasement" (about Viktor Orban)', date='2018-05-25'),
    DocCfg(
        id='031396',
        author=WAPO,
        description=f"DOJ discipline office with limited reach to probe handling of controversial sex abuse case",
        date='2019-02-06',
        duplicate_ids=['031415'],
    ),
    DocCfg(id='030199', description=f'article about Trump rape allegations in {JANE_DOE_V_EPSTEIN_TRUMP}', date='2017-11-16'),
    DocCfg(id='031725', description=f"article about Gloria Allred and Trump allegations", date='2016-10-10'),
    DocCfg(id='026648', description=f'article about {JASTA} lawsuit against Saudi Arabia by 9/11 victims (Russian propaganda?)', date='2017-05-13'),
    DocCfg(id='032159', description=f"article about microfinance and cell phones in Zimbabwe, Strive Masiyiwa (Econet Wireless)"),
    DocCfg(id='030825', description=f'{ARTICLE_DRAFT} Syria'),
    DocCfg(id='027051', description=f"German article about the 2013 Lifeball / AIDS Gala", date='2013-01-01', attached_to_email_id='027049'),
    DocCfg(id='033480', description=f"John Bolton press clipping", date='2018-04-06', duplicate_ids=['033481']),
    DocCfg(id='013403', description=f"{LEXIS_NEXIS} result from The Evening Standard about Bernie Madoff", date='2009-12-24'),
    DocCfg(id='021093', description=f"page of unknown article about Epstein and Maxwell"),
    DocCfg(id='031191', description=f"single page of unknown article about Epstein and Trump's relationship in 1997"),
    DocCfg(id='026520', description=f'Spanish article about {SULTAN_BIN_SULAYEM}', date='2013-09-27'),
    DocCfg(
        id='031736',
        author='Abdulnaser Salamah',
        description=f'{TRANSLATION} Arabic article "Trump; Prince of Believers (Caliph)!"',
        date='2017-05-13',
    ),
    DocCfg(id='025094', description=f'{TRANSLATION} Spanish article about Cuba', date='2015-11-08'),
    DocCfg(id='031794', description=f"very short French magazine clipping"),
]

OTHER_FILES_LEGAL = [
    DocCfg(id='017789', author=ALAN_DERSHOWITZ, description=f'letter to {HARVARD} Crimson complaining he was defamed'),
    DocCfg(id='011908', author=BRUNEL_V_EPSTEIN, description=f"court filing"),
    DocCfg(id='017603', author=DAVID_SCHOEN, description=LEXIS_NEXIS_CVRA_SEARCH, date='2019-02-28'),
    DocCfg(id='017635', author=DAVID_SCHOEN, description=LEXIS_NEXIS_CVRA_SEARCH, date='2019-02-28'),
    DocCfg(id='016509', author=DAVID_SCHOEN, description=LEXIS_NEXIS_CVRA_SEARCH, date='2019-02-28'),
    DocCfg(id='017714', author=DAVID_SCHOEN, description=LEXIS_NEXIS_CVRA_SEARCH, date='2019-02-28'),
    DocCfg(id='021824', author=EDWARDS_V_DERSHOWITZ, description=f"deposition of {PAUL_G_CASSELL}"),
    DocCfg(
        id='010757',
        author=EDWARDS_V_DERSHOWITZ,
        description=f"plaintiff response to Dershowitz Motion to Determine Confidentiality of Court Records",
        date='2015-11-23',
    ),
    DocCfg(
        id='010887',
        author=EDWARDS_V_DERSHOWITZ,
        description=f"Dershowitz Motion for Clarification of Confidentiality Order",
        date='2016-01-29',
    ),
    DocCfg(
        id='015590',
        author=EDWARDS_V_DERSHOWITZ,
        description=f"Dershowitz Redacted Motion to Modify Confidentiality Order",
        date='2016-02-03',
    ),
    DocCfg(
        id='015650',
        author=EDWARDS_V_DERSHOWITZ,
        description=f"Giuffre Response to Dershowitz Motion for Clarification of Confidentiality Order",
        date='2016-02-08',
    ),
    DocCfg(id='010566', author=EPSTEIN_V_ROTHSTEIN_EDWARDS, description=f"Statement of Undisputed Facts", date='2010-11-04'),
    DocCfg(id='012707', author=EPSTEIN_V_ROTHSTEIN_EDWARDS, description=f"Master Contact List - Privilege Log", date='2011-03-22'),
    DocCfg(id='012103', author=EPSTEIN_V_ROTHSTEIN_EDWARDS, description=f"Telephone Interview with {VIRGINIA_GIUFFRE}", date='2011-05-17'),
    DocCfg(id='017488', author=EPSTEIN_V_ROTHSTEIN_EDWARDS, description=f"Deposition of Scott Rothstein", date='2012-06-22'),
    DocCfg(id='029315', author=EPSTEIN_V_ROTHSTEIN_EDWARDS, description=f"Plaintiff Motion for Summary Judgment by {JACK_SCAROLA}", date='2013-09-13'),
    DocCfg(id='013304', author=EPSTEIN_V_ROTHSTEIN_EDWARDS, description=f"Plaintiff Response to Epstein's Motion for Summary Judgment", date='2014-04-17'),
    DocCfg(id='019352', author=FBI, description=FBI_REPORT,),
    DocCfg(id='021434', author=FBI, description=FBI_REPORT,),
    DocCfg(id='018872', author=FBI, description=FBI_SEIZED_PROPERTY,),
    DocCfg(id='021569', author=FBI, description=FBI_SEIZED_PROPERTY,),
    DocCfg(id='017792', author=GIUFFRE_V_DERSHOWITZ, description=f"article about {ALAN_DERSHOWITZ}'s appearance on Wolf Blitzer"),
    DocCfg(id='017767', author=GIUFFRE_V_DERSHOWITZ, description=f"article about {ALAN_DERSHOWITZ} working with {JEFFREY_EPSTEIN}"),
    DocCfg(id='017796', author=GIUFFRE_V_DERSHOWITZ, description=f"article about {ALAN_DERSHOWITZ}"),
    DocCfg(id='017935', author=GIUFFRE_V_DERSHOWITZ, description=f"defamation complaint", date='2019-04-16'),
    DocCfg(id='017824', author=GIUFFRE_V_DERSHOWITZ, description=f"{MIAMI_HERALD} article by {JULIE_K_BROWN}"),
    DocCfg(
        id='017818',
        author=GIUFFRE_V_DERSHOWITZ,
        description=f"{MIAMI_HERALD} article about accusations against {ALAN_DERSHOWITZ} by {JULIE_K_BROWN}",
        date='2018-12-27',
    ),
    DocCfg(id='017800', author=GIUFFRE_V_DERSHOWITZ, description=f'{MIAMI_HERALD} "Perversion of Justice" by {JULIE_K_BROWN}'),
    DocCfg(id='022237', author=GIUFFRE_V_DERSHOWITZ, description=f"partial court filing with fact checking questions?"),
    DocCfg(id='016197', author=GIUFFRE_V_DERSHOWITZ, description=f"response to Florida Bar complaint by {ALAN_DERSHOWITZ} about David Boies from {PAUL_G_CASSELL}"),
    DocCfg(id='017771', author=GIUFFRE_V_DERSHOWITZ, description=f'Vanity Fair article "The Talented Mr. Epstein" by Vicky Ward', date='2011-06-27'),
    DocCfg(id='014118', author=GIUFFRE_V_EPSTEIN, description=f"Declaration in Support of Motion to Compel Production of Documents", date='2016-10-21'),
    DocCfg(id='014652', author=GIUFFRE_V_MAXWELL, description=f"Complaint", date='2015-04-22'),
    DocCfg(id='015529', author=GIUFFRE_V_MAXWELL, description=f"Defamation Complaint", date='2015-09-21'),
    DocCfg(
        id='014797',
        author=GIUFFRE_V_MAXWELL,
        date='2017-03-17',
        description=f"Declaration of Laura A. Menninger in Opposition to Plaintiff's Motion",
    ),
    DocCfg(id='011304', author=GIUFFRE_V_MAXWELL, description=f"Oral Argument Transcript", date='2017-03-17'),
    DocCfg(
        id='014788',
        author=GIUFFRE_V_MAXWELL,
        date='2017-03-17',
        description=f"Maxwell Response to Plaintiff's Omnibus Motion in Limine",
        duplicate_ids=['011463'],
    ),
    DocCfg(
        id='019297',
        author=GIUFFRE_V_MAXWELL,
        description=f'letter from {ALAN_DERSHOWITZ} lawyer Andrew G. Celli',
        date='2018-02-07'
    ),
    DocCfg(
        id='010560',
        author='Gloria Allred',
        description=f"letter to {SCOTT_J_LINK} alleging abuse of a girl from Kansas",
        date='2019-06-19',
    ),
    DocCfg(
        id='025937',
        author=JANE_DOE_V_EPSTEIN_TRUMP,
        description=f'Affidavit of Tiffany Doe describing Jane Doe being raped by Epstein and Trump',
        date='2016-06-20',
    ),
    DocCfg(id='025939', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f'Affidavit of Jane Doe describing being raped by Epstein', date='2016-06-20'),
    DocCfg(id='013489', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f'Affidavit of {BRAD_EDWARDS}', date='2010-07-20'),
    DocCfg(id='029398', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f'article in Law.com'),
    DocCfg(id='026854', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f"Civil Docket"),
    DocCfg(id='026384', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f"Complaint for rape and sexual abuse", date='2016-06-20', attached_to_email_id='029837'),
    DocCfg(id='013463', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f'Deposition of Scott Rothstein', date='2010-03-23'),
    DocCfg(id='029257', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f'allegations and identity of plaintiff Katie Johnson', date='2016-04-26'),
    DocCfg(id='032321', author=JANE_DOE_V_EPSTEIN_TRUMP, description=f"Notice of Initial Conference", date='2016-10-04'),
    DocCfg(id='010735', author=JANE_DOE_V_USA, description=f"Dershowitz Reply in Support of Motion for Limited Intervention", date='2015-02-02'),
    DocCfg(id='014084', author=JANE_DOE_V_USA, description=f"Jane Doe Response to Dershowitz's Motion for Limited Intervention", date='2015-03-24'),
    DocCfg(id='023361', author=JASTA_SAUDI_LAWSUIT, description=f"legal text and court documents", date='2012-01-20'),
    DocCfg(id='017830', author=JASTA_SAUDI_LAWSUIT, description=f"legal text and court documents"),
    DocCfg(id='017904', author=JASTA_SAUDI_LAWSUIT, description=f"Westlaw search results", date='2019-01-01'),
    DocCfg(id='014037', author='Journal of Criminal Law and Criminology', description=f"article on {CVRA}"),
    DocCfg(id='025353', author=KEN_STARR, description=KEN_STARR_LETTER, date='2008-05-19', duplicate_ids=['010723', '019224'], dupe_type='redacted'),
    DocCfg(id='025704', author=KEN_STARR, description=KEN_STARR_LETTER, date='2008-05-27', duplicate_ids=['010732', '019221'], dupe_type='redacted'),
    DocCfg(id='012130', author=KEN_STARR, description=KEN_STARR_LETTER, date='2008-06-19', duplicate_ids=['012135']),
    DocCfg(id='031447', author=MARTIN_WEINBERG, description=f"letter from to Melanie Ann Pustay & Sean O'Neill re: Epstein FOIA request"),
    DocCfg(
        id='028965',
        author=MARTIN_WEINBERG,
        description=f"letter from to ABC / Good Morning America threatening libel lawsuit",
        duplicate_ids=['028928']
    ),
    DocCfg(
        id='026793',
        author='Mintz Fraade',
        description=f"letter from {STEVEN_HOFFENBERG}'s lawyers offering to take over Epstein's business and resolve his legal issues",
        date='2018-03-23',
    ),
    DocCfg(
        id='020662',
        author='Mishcon de Reya',
        description=f"libel threat letter from {ALAN_DERSHOWITZ}'s British lawyers to Daily Mail",
    ),
    DocCfg(
        id='029416',
        author="National Enquirer / Radar Online v. FBI",
        description=f"FOIA lawsuit filing",
        date='2017-05-25',
        duplicate_ids=['029405']
    ),
    DocCfg(
        id='016420',
        author=NEW_YORK_V_EPSTEIN,
        description=f"New York Post Motion to Unseal Appellate Briefs",
        date='2019-01-11',
    ),
    DocCfg(id='028540', author='SCOTUS', description=f"decision in Budha Ismail Jam et al. v. INTERNATIONAL FINANCE CORP"),
    DocCfg(id='012197', author='SDFL', description=f"response to {JAY_LEFKOWITZ} on Epstein Plea Agreement Compliance"),
    DocCfg(id='022277', description=f"text of National Labour Relations Board (NLRB) law", is_interesting=False),

    # DOJ files
    DocCfg(id='EFTA02731082', author=DOJ, description="memo about investigation into Epstein's co-conspirators", is_interesting=True),
    DocCfg(id='EFTA00005569', author=PALM_BEACH_POLICE, replace_text_with='photo lineup featuring Epstein', date='2005-03-17'),
    DocCfg(id='EFTA00007893', author=PALM_BEACH_POLICE, description=f"receipts, notes, bank statements of {GHISLAINE_MAXWELL}"),
    DocCfg(id='EFTA02730274', description='evidence inventory that appears to have since been deleted from the DOJ website'),
    DocCfg(id='EFTA00001884', description='photo of letter from Virgin Islands DOJ to Epstein', date='2019-03-14'),
    DocCfg(id='EFTA00007157', description='victim list and police log'),
    DocCfg(id='EFTA00005586', replace_text_with='completely redacted 69 pages labeled "Grand Jury - NY"'),
]

OTHER_FILES_CONFERENCE = [
    DocCfg(id='014315', author=BOFA_MERRILL, description=f'2016 Future of Financials Conference', attached_to_email_id='014312'),
    DocCfg(id='026825', author=DEUTSCHE_BANK, description=f"Asset & Wealth Management featured speaker bios"),  # Really "Deutsche Asset" which may not be Deutsche Bank?
    DocCfg(id='023123', author=LAWRENCE_KRAUSS_ASU_ORIGINS, description=f"{STRANGE_BEDFELLOWS} (old draft)"),
    DocCfg(id='023120', author=LAWRENCE_KRAUSS_ASU_ORIGINS, description=STRANGE_BEDFELLOWS, duplicate_ids=['023121'], dupe_type='earlier'),
    DocCfg(id='031359', author=NOBEL_CHARITABLE_TRUST, description=f'"Earth Environment Convention" about ESG investing'),
    DocCfg(id='031354', author=NOBEL_CHARITABLE_TRUST, description=f'"Thinking About the Environment and Technology" report 2011'),
    DocCfg(id='019300', author=SVETLANA_POZHIDAEVA, description=f'{WOMEN_EMPOWERMENT} f. {KATHRYN_RUEMMLER}', date='2019-04-05'),
    DocCfg(id='022267', author=SVETLANA_POZHIDAEVA, description=f'{WOMEN_EMPOWERMENT} founder essay about growing the seminar business'),
    DocCfg(id='022407', author=SVETLANA_POZHIDAEVA, description=f'{WOMEN_EMPOWERMENT} seminar pitch deck'),
    DocCfg(id='017524', author=SWEDISH_LIFE_SCIENCES_SUMMIT, description=f"2012 program", date='2012-08-18', attached_to_email_id='031226'),
    DocCfg(id='026747', author=SWEDISH_LIFE_SCIENCES_SUMMIT, description=f"2017 program", date='2017-08-23', attached_to_email_id='031215'),
    DocCfg(id='014951', author='TED Talks', description=f"2017 program", date='2017-04-20'),
    DocCfg(
        id='024185',
        author=UN_GENERAL_ASSEMBLY,
        description=f'schedule including "Presidents Private Dinner - Jeffrey Epstine (sic)"',
        date='2012-09-21',
        is_interesting=True,
    ),
    DocCfg(id='024179', author=UN_GENERAL_ASSEMBLY, description=f'president and first lady schedule', date='2012-09-21'),
    DocCfg(
        id='029427',
        description=f"seems related to an IRL meeting about Chinese attempts to absorb Mongolia",
        is_interesting=True,
    ),
    DocCfg(
        id='025797',
        date='2013-05-29',
        description=f"someone's notes from Aspen Strategy Group",
        is_interesting=True,
    ),
    DocCfg(
        id='017060',
        description=f'World Economic Forum (WEF) Annual Meeting 2011 List of Participants',
        date='2011-01-18',
    ),
    DocCfg(id='017526', description=f'Intellectual Jazz conference brochure f. {DAVID_BLAINE}'),
]

# All authors of documents in this category will be marked uninteresting
OTHER_FILES_FINANCE = [
    DocCfg(id='024631', author='Ackrell Capital', description=f"Cannabis Investment Report 2018", is_interesting=True),
    DocCfg(id='016111', author=BOFA_MERRILL, description=f"GEMs Paper #26 Saudi Arabia: beyond oil but not so fast", date='2016-06-30'),
    DocCfg(id='010609', author=BOFA_MERRILL, description=f"Liquid Insight Trump's effect on MXN", date='2016-09-22'),
    DocCfg(id='025978', author=BOFA_MERRILL, description=f"Understanding when risk parity risk Increases", date='2016-08-09'),
    DocCfg(id='014404', author=BOFA_MERRILL, description=f'Japan Investment Strategy Report', date='2016-11-18'),
    DocCfg(id='014410', author=BOFA_MERRILL, description=f'Japan Investment Strategy Report', date='2016-11-18'),
    DocCfg(id='014424', author=BOFA_MERRILL, description=f"Japan Macro Watch", date='2016-11-14'),
    DocCfg(id='014731', author=BOFA_MERRILL, description=f"Global Rates, FX & EM 2017 Year Ahead", date='2016-11-16'),
    DocCfg(id='014432', author=BOFA_MERRILL, description=f"Global Cross Asset Strategy - Year Ahead The Trump inflection", date='2016-11-30'),
    DocCfg(id='014460', author=BOFA_MERRILL, description=f"European Equity Strategy 2017", date='2016-12-01'),
    DocCfg(id='014972', author=BOFA_MERRILL, description=f"Global Equity Volatility Insights", date='2017-06-20'),
    DocCfg(id='014622', author=BOFA_MERRILL, description=f"Top 10 US Ideas Quarterly", date='2017-01-03'),
    DocCfg(id='023069', author=BOFA_MERRILL, description=f"Equity Strategy Focus Point Death and Taxes", date='2017-01-29'),
    DocCfg(id='014721', author=BOFA_MERRILL, description=f"Cause and Effect Fade the Trump Risk Premium", date='2017-02-13'),
    DocCfg(id='014887', author=BOFA_MERRILL, description=f"Internet / e-Commerce", date='2017-04-06'),
    DocCfg(id='014873', author=BOFA_MERRILL, description=f"Hess Corp", date='2017-04-11'),
    DocCfg(id='023575', author=BOFA_MERRILL, description=f"Global Equity Volatility Insights", date='2017-06-01'),
    DocCfg(id='014518', author=BOFA_WEALTH_MGMT, description=f'tax alert', date='2016-05-02'),
    DocCfg(id='029438', author=BOFA_WEALTH_MGMT, description=f'tax report', date='2018-01-02'),
    DocCfg(id='026668', author="Boothbay Fund Management", description=f"2016-Q4 earnings report signed by Ari Glass"),
    DocCfg(id='024302', author='Carvana', description=f"form 14A SEC filing proxy statement", date='2019-04-23'),
    DocCfg(id='029305', author='CCH Tax', description=f"Briefing on end of Defense of Marriage Act", date='2013-06-27'),
    DocCfg(id='026794', author=DEUTSCHE_BANK, description=f"Global Political and Regulatory Risk in 2015/2016"),
    DocCfg(id='022361', author=DEUTSCHE_BANK_TAX_TOPICS, date='2013-05-01', attached_to_email_id='022359'),
    DocCfg(id='022325', author=DEUTSCHE_BANK_TAX_TOPICS, date='2013-12-20'),
    DocCfg(id='022330', author=DEUTSCHE_BANK_TAX_TOPICS, date='2013-12-20', description='table of contents'),
    DocCfg(id='019440', author=DEUTSCHE_BANK_TAX_TOPICS, date='2014-01-29'),
    DocCfg(id='024202', author=ELECTRON_CAPITAL_PARTNERS, description=f"Global Utility White Paper", date='2013-03-08'),
    DocCfg(id='022372', author='Ernst & Young', date='2016-11-09', description=f'2016 election report'),
    DocCfg(id='014532', author=GOLDMAN_INVESTMENT_MGMT, description=f"Outlook - Half Full", date='2017-01-01'),
    DocCfg(
        id='026909',
        attached_to_email_id='026893',
        author=GOLDMAN_INVESTMENT_MGMT,
        description=f"The Unsteady Undertow Commands the Seas (Temporarily)",
        date='2018-10-14',
    ),
    DocCfg(id='026944', author=GOLDMAN_INVESTMENT_MGMT, description=f"Risk of a US-Iran Military Conflict", date='2019-05-23'),
    DocCfg(id='018804', author='Integra Realty Resources', description=f"appraisal of going concern for IGY American Yacht Harbor Marina in {VIRGIN_ISLANDS}"),
    DocCfg(id='026679', author='Invesco', description=f"Global Sovereign Asset Management Study 2017"),
    DocCfg(
        id='033220',
        author='Joseph G. Carson',
        description=f"short economic report on defense spending under Trump",
        is_interesting=True,
    ),
    DocCfg(id='026572', author=JP_MORGAN, description=f"Global Asset Allocation report", date='2012-11-09'),
    DocCfg(id='030848', author=JP_MORGAN, description=f"Global Asset Allocation report", date='2013-03-28'),
    DocCfg(id='030840', author=JP_MORGAN, description=f"Market Thoughts"),
    DocCfg(id='022350', author=JP_MORGAN, description=f"tax efficiency of Intentionally Defective Grantor Trusts (IDGT)"),
    DocCfg(id='025242', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2012-04-09'),
    DocCfg(id='030010', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, attached_to_email_id='030006', date='2011-06-14'),
    DocCfg(id='030808', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2011-07-11'),
    DocCfg(id='025221', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2011-07-25'),
    DocCfg(id='025229', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2011-08-04'),
    DocCfg(id='030814', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2011-11-21'),
    DocCfg(id='024132', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2012-03-15'),
    DocCfg(id='024194', author=JP_MORGAN, description=JP_MORGAN_EYE_ON_THE_MARKET, date='2012-10-22'),
    DocCfg(id='025296', author='Laffer Associates', description=f'report predicting Trump win', date='2016-07-06'),
    DocCfg(
        id='020824',
        author='Mary Meeker',
        date='2011-02-01',
        description=f"USA Inc: A Basic Summary of America's Financial Statements compiled",
    ),
    DocCfg(id='025551', author='Morgan Stanley', description=f'report about alternative asset managers', date='2018-01-30'),
    DocCfg(id='019856', author='Sadis Goldberg LLP', description=f"report on SCOTUS ruling about insider trading", is_interesting=True),
    DocCfg(id='025763', author='S&P', description=f"Economic Research: How Increasing Income Inequality Is Dampening U.S. Growth", date='2014-08-05'),
    DocCfg(id='024135', author=UBS, description=UBS_CIO_REPORT, date='2012-06-29'),
    DocCfg(id='025247', author=UBS, description=UBS_CIO_REPORT, date='2012-10-25'),
    DocCfg(id='026584', description="article about tax implications of disregarded entities", date='2009-07-01', is_interesting=True),
    DocCfg(id='024817', description="Cowen's CBD / Cannabis report", date='2019-02-25', is_interesting=True),
    DocCfg(
        id='012048',
        category=Neutral.PRESSER,
        description=f"Rockefeller Partners with Gregory J. Fleming to Create Independent Financial Services Firm and other articles",
        is_interesting=False,
    ),
]

# Epstein money. This category makes is_interesting = True
OTHER_FILES_MONEY = [
    # private placement memoranda
    DocCfg(
        id='024432',
        date='2006-09-27',
        description=f"Michael Milken's Knowledge Universe Education (KUE) $1,000,000 corporate share placement notice (SEC filing?)"
    ),
    DocCfg(id='024003', description=f"New Leaf Ventures ($375 million biotech fund) private placement memorandum"),
    # DOJ files
    # DocCfg(id='EFTA01359553', description='Southern Financial LLC wire transfers'), # now inferred
    DocCfg(id='EFTA01285411', description=f"bank statement for Epstein's {SOUTHERN_TRUST_COMPANY} showing $82 million balance"),
    DocCfg(id='EFTA01087311', description=f'{LEON_BLACK} Family Partners cash projections'),
    DocCfg(id='EFTA00007781', description='paychecks signed by Epstein deposited at Colonial Bank', date='2005-08-12'),
    DocCfg(id='EFTA00811866', description="list of Epstein's bank accounts"),
    DocCfg(id='EFTA01273102', description=f"payment from Epstein to {RENATA_BOLOTOVA}'s father's account at Sberbank"),
    DocCfg(id='EFTA00000476', replace_text_with='photo of JEFFREY EPSTEIN CASH DISBURSEMENTS for the month 2006-09'),
]


def blaine_letter(id: str, date: str, suffix: str = '') -> CommunicationCfg:
    return CommunicationCfg(id=id, date=date, description=join_truthy(DAVID_BLAINE_VISA_LETTER, suffix), recipients=['Immigration'])


# This category makes is_interesting default to True
OTHER_FILES_LETTER = [
    CommunicationCfg(
        id='026011',
        author='Gennady Mashtalyar',
        date='2016-06-24',  # date is based on Brexit reference but he could be backtesting,
        description=f"about algorithmic trading",
    ),
    CommunicationCfg(id='026134', recipients=['George'], description=f'about opportunities to buy banks in Ukraine'),
    CommunicationCfg(id='EFTA02731023', author='Senator Ron Wyden', recipients=[LEON_BLACK], is_interesting=False),
    blaine_letter(id='019086', date='2015-05-27', suffix='naming various Putin puppet regimes'),
    blaine_letter(id='019474', date='2015-05-29'),
    blaine_letter(id='019476', date='2015-06-01'),
]

OTHER_FILES_PROPERTY = [
    DocCfg(
        id='026759',
        author='Great Bay Condominium Owners Association',
        category=Neutral.PRESSER,
        description=f'Hurricane Irma damage',
        date='2017-09-13',
        is_interesting=False,
    ),
    DocCfg(id='016602', author=PALM_BEACH_CODE_ENFORCEMENT, description='board minutes', date='2008-04-17'),
    DocCfg(id='016554', author=PALM_BEACH_CODE_ENFORCEMENT, description='board minutes', date='2008-07-17', duplicate_ids=['016616', '016574']),
    DocCfg(id='016636', author=PALM_BEACH_WATER_COMMITTEE, description=f"Meeting on January 29, 2009"),
    DocCfg(id='022417', author='Park Partners NYC', description=f"letter to partners in real estate project with architectural plans"),
    DocCfg(id='027068', author=THE_REAL_DEAL, description=f"{REAL_DEAL_ARTICLE} Palm House Hotel Bankruptcy and EB-5 Visa Fraud Allegations"),
    DocCfg(id='029520', author=THE_REAL_DEAL, description=f"{REAL_DEAL_ARTICLE} 'Lost Paradise at the Palm House'", date='2019-06-17'),
    DocCfg(id='016597', author='Trump Properties LLC', description=f'appeal of some decision about Mar-a-Lago by {PALM_BEACH} authorities'),
    DocCfg(id='018743', description=f"Las Vegas property listing"),
    DocCfg(id='016695', description=f"{PALM_BEACH_PROPERTY_INFO} (?)"),
    DocCfg(id='016697', description=f"{PALM_BEACH_PROPERTY_INFO} (?) that mentions Trump"),
    DocCfg(id='016599', description=f"{PALM_BEACH_TSV} consumption (water?)"),
    DocCfg(id='016600', description=f"{PALM_BEACH_TSV} consumption (water?)"),
    DocCfg(id='016601', description=f"{PALM_BEACH_TSV} consumption (water?)"),
    DocCfg(id='016694', description=f"{PALM_BEACH_TSV} consumption (water?)"),
    DocCfg(id='016552', description=f"{PALM_BEACH_TSV} info"),
    DocCfg(id='016698', description=f"{PALM_BEACH_TSV} info (broken?)"),
    DocCfg(id='016696', description=f"{PALM_BEACH_TSV} info (water quality?"),
    DocCfg(
        id='018727',
        description=f"{VIRGIN_ISLANDS} property deal pitch deck, building will be leased to the U.S. govt GSA",
        date='2014-06-01',
    ),
]

OTHER_FILES_REPUTATION = [
    DocCfg(id='030426', author=OSBORNE_LLP, description=f"reputation repair proposal (cites Michael Milken)", date='2011-06-14'),
    DocCfg(id='026582', description=f"Epstein's internet search results at start of reputation repair campaign, maybe from {OSBORNE_LLP}"),
    DocCfg(id='030573', description=f"Epstein's unflattering Google search results, maybe screenshot by {AL_SECKEL} or {OSBORNE_LLP}"),
    DocCfg(id='030875', description=f"Epstein's Wikipedia page"),
    DocCfg(id='026583', description=f"Google search results for '{JEFFREY_EPSTEIN}' with analysis ({OSBORNE_LLP}?)"),
    DocCfg(id='029350', description=f"Microsoft Bing search results for Epstein with sex offender at top, maybe from {TYLER_SHEARS}?"),
    # DOJ files
    DocCfg(id='EFTA01810372', author=TYLER_SHEARS, description=f'invoice for reputation management work', is_interesting=True),
]

OTHER_FILES_SOCIAL = [
    DocCfg(id='028815', author=INSIGHTS_POD, description=f"business plan", date='2016-08-20', attached_to_email_id='033171'),
    DocCfg(id='011170', author=INSIGHTS_POD, description=f'case study of social media vibe analysis using tweets from #Brexit', date='2016-06-23', attached_to_email_id='033171'),
    DocCfg(id='032324', author=INSIGHTS_POD, description=f"social media election sentiment analysis", date='2016-11-05', attached_to_email_id='032323'),
    DocCfg(id='032281', author=INSIGHTS_POD, description=f"social media election sentiment report", date='2016-10-25', attached_to_email_id='032280'),
    DocCfg(id='028988', author=INSIGHTS_POD, description=f"pitch deck", date='2016-08-20', attached_to_email_id='033171'),
    DocCfg(id='026627', author=INSIGHTS_POD, description=f"report on impact of presidential debate", attached_to_email_id='026626'),
    DocCfg(id='022213', description=f"{SCREENSHOT} Facebook group called 'Shit Pilots Say' disparaging a 'global girl'"),
]

OTHER_FILES_TWEET = [
    DocCfg(id='023050', author=ALAN_DERSHOWITZ, description=DERSH_GIUFFRE_TWEET),
    DocCfg(id='017787', author=ALAN_DERSHOWITZ, description=DERSH_GIUFFRE_TWEET),
    DocCfg(id='033433', author=ALAN_DERSHOWITZ, description=f"{DERSH_GIUFFRE_TWEET} / David Boies", date='2019-03-02'),
    DocCfg(id='033432', author=ALAN_DERSHOWITZ, description=f"{DERSH_GIUFFRE_TWEET} / David Boies", date='2019-05-02'),
    DocCfg(id='031546', author=DONALD_TRUMP, description=f"about Russian collusion", date='2018-01-06'),
    DocCfg(id='030884', author='Ed Krassenstein'),
    DocCfg(id='033236', description=f'selection about Ivanka Trump in Arabic', date='2017-05-20'),
]

OTHER_FILES_POLITICS = [
    DocCfg(id='030258', author=ALAN_DERSHOWITZ, description=f'{ARTICLE_DRAFT} Mueller probe, almost same as 030248'),
    DocCfg(id='030248', author=ALAN_DERSHOWITZ, description=f'{ARTICLE_DRAFT} Mueller probe, almost same as 030258'),
    DocCfg(id='029165', author=ALAN_DERSHOWITZ, description=f'{ARTICLE_DRAFT} Mueller probe, almost same as 030258'),
    DocCfg(id='029918', author=DIANA_DEGETTE_CAMPAIGN, description=f"bio", date='2012-09-27'),
    DocCfg(id='031184', author=DIANA_DEGETTE_CAMPAIGN, description=f"invitation to fundraiser hosted by {BARBRO_C_EHNBOM}", date='2012-09-27'),
    DocCfg(id='026248', author='Don McGahn', description=f'letter from Trump lawyer to Devin Nunes (R-CA) about FISA courts and Trump'),
    DocCfg(id='027009', author=EHUD_BARAK, description=f"speech to AIPAC", date='2013-03-03'),
    DocCfg(
        id='019233',
        author='Freedom House',
        date='2017-06-02',
        description=f"'Breaking Down Democracy: Goals, Strategies, and Methods of Modern Authoritarians'",
    ),
    DocCfg(id='026856', author='Kevin Rudd', description=f'speech "Xi Jinping, China And The Global Order"', date='2018-06-26'),
    DocCfg(id='026827', author='Scowcroft Group', description=f'report on ISIS', date='2015-11-14'),
    DocCfg(id='024294', author=STACEY_PLASKETT, description=f"campaign flier", date='2016-10-01'),
    DocCfg(
        id='023133',
        author=f"{TERJE_ROD_LARSEN}, Nur Laiq, Fabrice Aidan",
        date='2014-12-09',
        description=f'The Search for Peace in the Arab-Israeli Conflict',
    ),
    DocCfg(id='033468', description=f'{ARTICLE_DRAFT} Rod Rosenstein', date='2018-09-24'),
    DocCfg(id='025849', author=US_ORG, description=quote('Building a Bridge Between FOIA Requesters & Agencies'),
    ),
    # CommunicationCfg(id='031670', author="General Mike Flynn's lawyers", recipients=['Sen. Mark Warner & Richard Burr'], description=f"about subpoena"),
    DocCfg(id='031670', description=f"letter from General Mike Flynn's lawyers to senators Mark Warner & Richard Burr about subpoena"),
    DocCfg(
        id='029357',
        date='2015-01-15',  # TODO: this is just a guess
        description=f"possibly book extract about Israel's challenges entering 2015",
        duplicate_ids=['028887'],
    ),
    DocCfg(id='010617', description=TRUMP_DISCLOSURES, date='2017-01-20', is_interesting=True, attached_to_email_id='033091'),
    DocCfg(id='016699', description=TRUMP_DISCLOSURES, date='2017-01-20', is_interesting=True, attached_to_email_id='033091'),
]

OTHER_FILES_ACADEMIA = [
    DocCfg(id='027004', author=JOSCHA_BACH, description=f"The Computational Structure of Mental Representation", date='2013-02-26'),
    DocCfg(
        id='014697',
        author=LAWRENCE_KRAUSS_ASU_ORIGINS,
        description=f'report: "Challenges of AI: Envisioning and Addressing Adverse Outcomes"',
        duplicate_ids=['011284']
    ),
    DocCfg(id='026731', author='Lord Martin Rees', description=f"speech at first inaugural Cornell Carl Sagan Lecture"),
    DocCfg(id='015501', author=f"{MOSHE_HOFFMAN}, Erez Yoeli, and Carlos David Navarrete", description=f"Game Theory and Morality"),
    DocCfg(
        id='026521',
        author=f"{MOSHE_HOFFMAN}, Erez Yoeli, and {MARTIN_NOWAK}",
        description=f"Cooperating Without Looking: Game Theory Model of Trust and Reciprocal Cooperation"
    ),
    DocCfg(id='022405', author=NOAM_CHOMSKY, description=f"letter attesting to Epstein's good character"),
    DocCfg(id='025143', author=ROBERT_TRIVERS, description=f"Africa, Parasites, Intelligence", date='2018-06-25'),
    DocCfg(id='029155', author=ROBERT_TRIVERS, description=f'response sent to the Gruterites ({GORDON_GETTY} fans)', date='2018-03-19'),
    DocCfg(
        id='033323',
        author=f"{ROBERT_TRIVERS} and Nathan H. Lents",
        description=f"'Does Trump Fit the Evolutionary Role of Narcissistic Sociopath?' (draft)",
        date='2018-12-07',
    ),
    DocCfg(id='023416', description=HARVARD_POETRY),
    DocCfg(id='023435', description=HARVARD_POETRY),
    DocCfg(id='023450', description=HARVARD_POETRY),
    DocCfg(id='023452', description=HARVARD_POETRY),
    DocCfg(id='029517', description=HARVARD_POETRY),
    DocCfg(id='029543', description=HARVARD_POETRY),
    DocCfg(id='029589', description=HARVARD_POETRY),
    DocCfg(id='029603', description=HARVARD_POETRY),
    DocCfg(id='029298', description=HARVARD_POETRY),
    DocCfg(id='029592', description=HARVARD_POETRY),
    DocCfg(id='019396', description=f'{HARVARD} Economics 1545 Professor Kenneth Rogoff syllabus'),
    DocCfg(id='022445', description=f"Inference: International Review of Science Feedback & Comments", date='2018-11-01'),
    DocCfg(
        id='029355',
        description=f'{SCREENSHOT} quote in book about {LARRY_SUMMERS}',
        dupe_type='quoted',
        duplicate_ids=['029356'],  # 029356 is zoomed in corner
        is_interesting=False,
    ),
]

# resumes and application letters
OTHER_FILES_RESUMÉ = [
    DocCfg(
        id='029304',
        attached_to_email_id='029299',
        author=DONALD_TRUMP,
        description=f"recommendation letter for recently departed {TRUMP_ORG} lawyer {MICHAEL_J_BOCCIO}",
    ),
    DocCfg(id='022367', author='Jack J. Grynberg', description=RESUME_OF, date='2014-07-01'),
    DocCfg(
        id='029302',
        attached_to_email_id='029299',
        author=MICHAEL_J_BOCCIO,
        description=f"{RESUME_OF} (former lawyer at the {TRUMP_ORG})",
        date='2011-08-07',
    ),
    DocCfg(
        id='029301',
        attached_to_email_id='029299',
        author=MICHAEL_J_BOCCIO,
        description=f"letter from former lawyer at the {TRUMP_ORG}",
        date='2011-08-07',
    ),
    DocCfg(id='029102', author=NERIO_ALESSANDRI, description=HBS_APPLICATION),
    DocCfg(id='029104', author=NERIO_ALESSANDRI, description=HBS_APPLICATION),
    DocCfg(id='015671', author='Robin Solomon', description=RESUME_OF, date='2015-06-02'),  # She left Mount Sinai at some point in 2015,
    DocCfg(id='015672', author='Robin Solomon', description=RESUME_OF, date='2015-06-02'),  # She left Mount Sinai at some point in 2015,
    DocCfg(id='029623', description=f'bio of Kathleen Harrington, Founding Partner, C/H Global Strategies'),
]

OTHER_FILES_ARTS = [
    DocCfg(id='018703', author=ANDRES_SERRANO, description=f"artist statement about Trump objects"),
    DocCfg(id='023438', author=BROCKMAN_INC, description=f"announcement of auction of 'Noise' by Daniel Kahneman, Olivier Sibony, and Cass Sunstein"),
    DocCfg(
        id='025147',
        author=BROCKMAN_INC,
        date='2016-10-23',
        description=f'Frankfurt Book Fair hot list includes book about Silk Road / Ross Ulbricht',
        is_interesting=True,
    ),
    DocCfg(id='030769', author='Independent Filmmaker Project (IFP)', description=f"2017 Gotham Awards invitation"),
    DocCfg(
        id='025205',
        author='Mercury Films',
        date='2010-02-01',
        description=f'partner profiles of Jennifer Baichwal, Nicholas de Pencier, Kermit Blackwood, Travis Rummel',
        duplicate_ids=['025210']
    ),
    DocCfg(
        id='028281',
        author='Wolfe Von Lenkiewicz & Victoria Golembiovskaya',
        date='2010-10-13',
        description=f'art show flier for "The House Of The Nobleman"',
    ),
]

OTHER_FILES_FLIGHT_LOG = [
    DocCfg(id='022780'),
    DocCfg(id='022816'),
]

OTHER_FILES_MISC = [
    DocCfg(id='029326', category=Neutral.PRESSER, author=EPSTEIN_FOUNDATION, date='2013-02-15'),
    DocCfg(id='026565', category=Neutral.PRESSER, author=EPSTEIN_FOUNDATION, comment=f'maybe a draft of 029326', date='2013-02-15'),
    DocCfg(id='022494', author='DOJ', description=f'Foreign Corrupt Practices Act (FCPA) Resource Guide'),
    DocCfg(id='023096', author=EPSTEIN_FOUNDATION, description=f'blog post', date='2012-11-15'),
    DocCfg(id='027071', author=FEMALE_HEALTH_COMPANY, description=f"brochure requesting donations for female condoms in Uganda"),
    DocCfg(id='027074', author=FEMALE_HEALTH_COMPANY, description=f"pitch deck (USAID was a customer)"),
    DocCfg(id='032735', author=GORDON_GETTY, description=f"on Trump", date='2018-03-20'),  # Dated based on concurrent emails from Getty
    DocCfg(id='025540', author=JEFFREY_EPSTEIN, description=f"rough draft of his side of the story"),
    DocCfg(id='026634', author='Michael Carrier', description=f'comments about an Apollo linked fund "DE Fund VIII"'),
    DocCfg(id='031425', author=SCOTT_J_LINK, description=f'completely redacted email', is_interesting=False),
    DocCfg(id='020447', author='Working Group on Chinese Influence Activities in the US', description=f'Promoting Constructive Vigilance'),
    DocCfg(id='024117', description=f"anti-money laundering (AML) & terrorist financing (CFT) U.S. law FAQ"),
    DocCfg(id='012718', description=f"{CVRA} congressional record", date='2011-06-17'),
    DocCfg(id='019448', description=f"Haitian business investment proposal called Jacmel", attached_to_email_id='019446'),
    DocCfg(id='023644', description=f"interview with Mohammed bin Salman", date='2016-04-25', is_interesting=False),
    DocCfg(
        id='030142',
        author=f"{KATHRYN_RUEMMLER} & {KEN_STARR}",
        date='2016-09-01',
        description=f"mostly empty {JASTA} (Justice Against Sponsors of Terrorism Act) doc referencing suit against Saudis",
    ),
    DocCfg(
        id='033338',
        category=Neutral.PRESSER,
        date='2000-06-07',
        description=f"end of {DONALD_TRUMP} & {NICHOLAS_RIBIS} working relationship at Trump's casino",
        is_interesting=True,
    ),
    DocCfg(id='029328', description=f"Rafanelli Events promotional deck", is_interesting=False),
    DocCfg(id='029475', description=f'{VIRGIN_ISLANDS} Twin City Mobile Integrated Health Services (TCMIH) proposal/request for donation', is_interesting=False),
    DocCfg(id='029448', description=f"weird short essay titled 'President Obama and Self-Deception'"),

    # DOJ files
    DocCfg(id='EFTA00039025', author=BUREAU_OF_PRISONS, description=f"report on death of Jeffrey Epstein", is_interesting=True),
    DocCfg(id='EFTA00039227', author=BUREAU_OF_PRISONS, replace_text_with='Inmate Discipline Program Statement'),
    DocCfg(id='EFTA00039295', author=BUREAU_OF_PRISONS, replace_text_with='Inmate Telephone Privileges Program Statement'),
    DocCfg(id='EFTA00039312', author=BUREAU_OF_PRISONS, replace_text_with='Program Statement / Memo about BOP Pharmacy Program'),
    DocCfg(id='EFTA00039351', author=BUREAU_OF_PRISONS, replace_text_with='Program Statement / Memo about BOP Pharmacy Program'),
    DocCfg(id='EFTA00039156', author=BUREAU_OF_PRISONS, replace_text_with='Standards of Employee Conduct'),
    DocCfg(id='EFTA00005783', description='heavily redacted handwritten note, 30+ completely redacted pages', date='2019-08-29'),
    # Urramoor
    DocCfg(
        id='EFTA01107738',
        description=f"creation of {CANTOR_URRAMOOR} with Mr. T's (Prince Andrew?) Urramoor and {LUTNICKS_CANTOR}",
        is_interesting=True,
    ),
    DocCfg(
        id='EFTA01141453',
        description=f"referral agreement between Mr. T's (Prince Andrew?) Urramoor and {LUTNICKS_CANTOR}",
        is_interesting=True,
    ),
    # Replacement text
    DocCfg(
        id='EFTA00009622',
        date='2006-07-19',
        description='handwritten notes from a victim interview transcribed by Claude AI',
        is_interesting=True,
        replace_text_with=EFTA00009622_TEXT,
    ),
    DocCfg(
        id='EFTA00004477',
        is_interesting=True,
        replace_text_with='Epstein 50th birthday photo book 12 "THAIS, MOSCOW GIRLS, AFRICA, HAWAII, [REDACTED] [REDACTED], Zorro, [REDACTED] [REDACTED] [REDACTED], CRACK WHOLE PROPOSAL, BALI/THAILAND/ASIA, RUSSIA, [REDACTED], [REDACTED], NUDES, YOGAL GIRLS',
    ),
    DocCfg(id='EFTA00004070', replace_text_with="photos of Epstein with handwritten caption that didn't OCR well"),
    DocCfg(id='EFTA02731260', replace_text_with='notebook full of handwritten love letters with terrible OCR text'),
    DocCfg(id='EFTA00006100', replace_text_with='Palm Beach Police fax machine activity log 2005-12-28 to 2006-01-04'),
    # Attachments
    DocCfg(id='EFTA00590685', attached_to_email_id='EFTA00830911'),
    # Dates
    DocCfg(id='EFTA02025218', date='2011-09-09'),
]

OTHER_FILES_PHONE_BILL = [
    phone_bill_cfg('EFTA00007070', 'MetroPCS', '2006'),
    phone_bill_cfg('EFTA00006770', 'MetroPCS', '2006-02-01 to 2006-06-16'),
    phone_bill_cfg('EFTA00006870', 'MetroPCS', '2006-02-09 to 2006-07'),
    phone_bill_cfg('EFTA00006970', 'MetroPCS', '2006-04-15 to 2006-07-16'),
    phone_bill_cfg('EFTA00007501', 'T-Mobile', '2005'),
    phone_bill_cfg('EFTA00006487', 'T-Mobile', '2006'),
    phone_bill_cfg('EFTA00006387', 'T-Mobile', '2006-06-15 to 2006-07-23'),
    phone_bill_cfg('EFTA00006587', 'T-Mobile', '2006-09-04 to 2016-10-15'),
    phone_bill_cfg('EFTA00006687', 'T-Mobile', '2006-10-31 to 2006-12-25'),
    phone_bill_cfg('EFTA00007401', 'T-Mobile', '2004-08-25 to 2005-07-13'),
    # These two are subpoena response letters w/attached phone bill)
    phone_bill_cfg('EFTA00007301', 'T-Mobile', 'Blackberry phone logs for 2005', date='2007-03-23'),
    phone_bill_cfg('EFTA00007253', 'T-Mobile', date='2007-03-23'),
]

# This category is automatically 'interesting', see OtherFile class
OTHER_FILES_CRYPTO = [
    DocCfg(id='024256', author=JOI_ITO, description=f"Internet & Society: The Technologies and Politics of Control"),
    DocCfg(id='031743', description=f'a few pages describing the internet as a "New Nation State" (Network State?)'),
    DocCfg(id='024271', description=f"{BLOCKCHAIN_CAPITAL} and {BROCK_PIERCE} pitch deck", date='2015-10-01'),
    DocCfg(
        id='025663',
        author=GOLDMAN_INVESTMENT_MGMT,
        description=f"An Overview of the Current State of Cryptocurrencies and Blockchain",
        date='2017-11-15',
        duplicate_ids=['EFTA00793120'],
    ),

    # DOJ files
    DocCfg(id='EFTA00803491', author=HONEYCOMB_FUND, description="deck", is_interesting=True),
    DocCfg(id='EFTA00803459', author=HONEYCOMB_FUND, description="January 2019 report", is_interesting=True),
    DocCfg(id='EFTA00603445', author=HONEYCOMB_FUND, description="July 2017 report", is_interesting=True),
    DocCfg(id='EFTA00803464', author=HONEYCOMB_FUND, description="July 2018 report", is_interesting=True),
    DocCfg(id='EFTA00810239', author=VALAR_FUND, description='pitch deck'),
    DocCfg(id='EFTA00591045', author=VALAR_FUND, description='brochure'),
    DocCfg(id='EFTA00810510', author=VALAR_FUND, description='Fall 2016 Update'),
    DocCfg(id='EFTA00810474', author=VALAR_FUND, description='Fall 2018 Update'),
    DocCfg(
        id='EFTA01612888',
        author='Kevin Peterson, Bammohan Deeduvanu, Pradip Kanjamala, and Kelly Boles',
        description='A Blockchain-Based Approach to Health Information Exchange Networks',
    ),
    DocCfg(id='EFTA00797613', description='Alphabit crypto fund pitch deck', attached_to_email_id='EFTA00955063'),
    DocCfg(id='EFTA00811666', description='asset valuations of Epstein\'s holdings, includes "Coinbase via grat"', date='2018-01-31'),
    DocCfg(id='EFTA01088644', author=BLOCKCHAIN_CAPITAL, description="pitch deck", date='2015-10-01'),
    DocCfg(id='EFTA00604942', author=BLOCKCHAIN_CAPITAL, description="Investor Update", date='2015-10-01'),
    # Coinbase
    DocCfg(
        id='EFTA01082451',
        author=BLOCKCHAIN_CAPITAL,
        date='2014-11-10',
        description=f'/ {COINBASE} nondisclosure agreement possibly regarding Epstein investment',
        is_interesting=True,
        truncate_to=2000,
    ),
    DocCfg(id='EFTA01092555', author=COINBASE, description='certificate of incorporation', date='2013-12-12', truncate_to=TRUNCATED_CHARS),
    DocCfg(id='EFTA01120975', author=COINBASE, description='Series B stock purchase', date='2013-12-12', truncate_to=MAX_CHARS_TO_PRINT),
    DocCfg(id='EFTA01121035', author=COINBASE, description='Series C preferred stock purchase', date='2014-10-24'),
    # CCP (Brock Pierce / Blockchain Capital)
    DocCfg(id='EFTA01089535', author=CRYPTO_CURRENCY_PARTNERS_II, description=f"investor report", date='2014-10-01'),
    DocCfg(id='EFTA01089506', author=CRYPTO_CURRENCY_PARTNERS_II, description=f"investor report", date='2014-11-01'),
    DocCfg(id='EFTA01089500', author=CRYPTO_CURRENCY_PARTNERS_II, description=f"investor report", date='2015-01-01'),
    DocCfg(id='EFTA01089526', author=CRYPTO_CURRENCY_PARTNERS_II, description=f"investor report", date='2014-08-01'),
    DocCfg(id='EFTA00621239', author=CRYPTO_CURRENCY_PARTNERS_II, description=f"investor report", date='2014-10-01'),
    DocCfg(id='EFTA01093509', author=CRYPTO_CURRENCY_PARTNERS_II, description=f"partnership draft", truncate_to=MAX_CHARS_TO_PRINT * 2),
    # Crypto PR Lab
    DocCfg(id='EFTA00295126', author=CRYPTO_PR_LAB, description="accounting statement"),
    DocCfg(id='EFTA01299820', author=CRYPTO_PR_LAB, description="bank transfer", date='2018-12-18'),
    DocCfg(id='EFTA00309271', author=CRYPTO_PR_LAB, description='financial statement'),
    DocCfg(id='EFTA01613759', author=CRYPTO_PR_LAB, description="letter of intent of acquisitionfrom Transform Group"),
    DocCfg(id='EFTA01613762', author=CRYPTO_PR_LAB, description=f"WhatsApp convo with {MARIA_PRUSAKOVA}"),
    DocCfg(id='EFTA01612721', author=CRYPTO_PR_LAB, description=f"WhatsApp convo with {MARIA_PRUSAKOVA}"),
    # ZCash
    DocCfg(id='EFTA00811130', author=PERKINS_COIE, description='tax opinion on ZCash tokens'),
    DocCfg(id='EFTA00603348', description=f"Electric Coin Company created the untraceable crypto ZCash funded by {LARRY_SUMMERS}'s DCG"),
    DocCfg(id='EFTA00803405', description=f"Honeycomb Asset Management fund brochure", truncate_to=MAX_CHARS_TO_PRINT),
    # Joi Ito / Kyara
    DocCfg(id='EFTA00805860', description=f"{JOI_ITO}'s Neoteny 3 fund investor update / portfolio"),
    DocCfg(id='EFTA01118268', description=f"{JOI_ITO}'s Neoteny 3 fund investor update", date='2015-06-30'),
    DocCfg(id='EFTA01116280', description=f"{KYARA_FUND} I LLC (Physical Graph Corporation) operating agreement with edits"),
    DocCfg(id='EFTA01108775', description=f"{KYARA_FUND} I LLC (Physical Graph Corporation) operating agreement"),
    DocCfg(id='EFTA00605699', description=f"{KYARA_FUND} II LLC incorporation papers"),
    DocCfg(id='EFTA01186455', description=f"{KYARA_FUND} II LLC operating agreement"),
    DocCfg(id='EFTA00584696', description=f"{KYARA_FUND} III LLC operating agreement"),
    DocCfg(id='EFTA01734786', description='LedgerX Series B pitch deck'),
    DocCfg(id='EFTA02725909', description='memo to NYDFS for NYC Bitcoin Exchange, Balaji Srinivisan & Andrew Farkas on board'),
    # Medici / Noble
    DocCfg(id='EFTA01613731', description='Medici Bank conversation on Whatsapp'),
    DocCfg(id='EFTA00805569', description='Mercantile Global Holdings, San Juan Mercantile Bank & Trust, Noble Bank + Signature Bank + BitGo'),
    DocCfg(id='EFTA01088079', description="someone's thoughts on bitcoin"),
    DocCfg(id='EFTA00128987', description='suspicious activity report (SAR) about Kushner co. crypto payments to suspicious Russian person'),
    # Valar
    DocCfg(id='EFTA01121910', author=VALAR_VENTURES, description="contract", truncate_to=MAX_CHARS_TO_PRINT),
    DocCfg(id='EFTA00808277', author=VALAR_VENTURES, description="contract", truncate_to=MAX_CHARS_TO_PRINT),
    DocCfg(id='EFTA01088484', author=VALAR_VENTURES, description="contract", truncate_to=MAX_CHARS_TO_PRINT),
    DocCfg(id='EFTA00591691', author=VALAR_VENTURES, description="contract", truncate_to=MAX_CHARS_TO_PRINT),
    DocCfg(id='EFTA00810362', author=VALAR_VENTURES, description="investor questionnaire", truncate_to=MAX_CHARS_TO_PRINT),
    DocCfg(id='EFTA00605996', description='Wedbush BUY rating on Digital Currency Group GBTC', is_interesting=False),
]

OTHER_FILES_SKYPE_LOG = [
    DocCfg(id='032206', author=LAWRENCE_KRAUSS),
    DocCfg(id='032208', author=LAWRENCE_KRAUSS),
    DocCfg(id='032209', author=LAWRENCE_KRAUSS),
    DocCfg(id='032210', author='linkspirit', is_interesting=True),
    DocCfg(id='018224', author=f'linkspirit (French?) and {LAWRENCE_KRAUSS}', is_interesting=True),  # we don't know who linkspirit is yet
    DocCfg(id='EFTA01217787', author=f'{TYLER_SHEARS} & Hanna Traff at Spotify', is_interesting=True),
    DocCfg(id='EFTA01217703', author=f'actress Athena Zelcovich, {JOSCHA_BACH}, and {LAWRENCE_KRAUSS}'),
    DocCfg(id='EFTA01217736', author=f'actress Athena Zelcovich, {TYLER_SHEARS}'),
]

OTHER_FILES_TEXT_MSG = [
    DocCfg(id='EFTA01618381', author=RENATA_BOLOTOVA, description=f'iMessage screenshots', author_uncertain='sneaky'),
    DocCfg(id='EFTA01622387', author=RENATA_BOLOTOVA, description=f'iMessage screenshots', author_uncertain='sneaky'),
    DocCfg(id='EFTA01618494', author=RENATA_BOLOTOVA, description=f'iMessage screenshots', author_uncertain='sneaky'),
    DocCfg(
        id='EFTA01620764',
        author=MELANIE_WALKER,
        description=f'conversation about Bill Gates being drunk all the time',
        author_uncertain=True,
        is_interesting=True,
    ),
    DocCfg(id='033434', description=f"{SCREENSHOT} iMessage chat labeled 'Edwards'"),
]

OTHER_FILES_JUNK = [
    DocCfg(id='026678', description=f"fragment of image metadata {QUESTION_MARKS}", date='2017-06-29'),
    DocCfg(id='022986', description=f"fragment of a screenshot {QUESTION_MARKS}"),
    DocCfg(id='033478', description=f'{MEME} Kim Jong Un reading {FIRE_AND_FURY}', date='2018-01-05', duplicate_ids=['032713']),
    DocCfg(id='033177', description=f"{MEME} Trump with text 'WOULD YOU TRUST THIS MAN WITH YOUR DAUGHTER?'"),
    DocCfg(id='029564', description=OBAMA_JOKE, date='2013-07-26'),
    DocCfg(id='029353', description=OBAMA_JOKE, date='2013-07-26'),
    DocCfg(id='029352', description=OBAMA_JOKE, date='2013-07-26'),
    DocCfg(id='029351', description=OBAMA_JOKE, date='2013-07-26'),
    DocCfg(id='029354', description=OBAMA_JOKE, date='2013-07-26'),
    DocCfg(id='031293'),
    # Completely redacted DOJ emails, no timestamp at all
    DocCfg(id='EFTA02731726'),
    DocCfg(id='EFTA02731728'),
]

# Build OtherFile / DojFile config list by combining OTHER_FILES_[BLAH] variables
ALL_OTHER_FILES_CONFIGS: list[DocCfg] = []

for category in CONSTANT_CATEGORIES:
    var_name = f"{OTHER_FILES_PFX}{category.upper()}"

    if var_name not in locals():
        logger.warning(f"Document config variable '{var_name}' is not defined!")
        continue

    for cfg in locals()[var_name]:
        cfg.set_category(cfg.category or category)  # Set category to OTHER_FILES_ var name suffix
        ALL_OTHER_FILES_CONFIGS.append(cfg)

ALL_CONFIGS = EMAILS_CONFIG + ALL_OTHER_FILES_CONFIGS + TEXTS_CONFIG
CONFIGS_BY_ID = {cfg.id: cfg for cfg in ALL_CONFIGS}

# Add synthetic Cfg objects for duplicate docs with same props as the DocCfg they are a duplicate of
for cfg in ALL_CONFIGS:
    for dupe_cfg in cfg.duplicate_cfgs():
        CONFIGS_BY_ID[dupe_cfg.id] = dupe_cfg


def check_no_overlapping_configs():
    encountered_file_ids = set()

    for cfg in CONFIGS_BY_ID.values():
        if cfg.duplicate_of_id:
            assert cfg.duplicate_of_id != cfg.id, f"Bad config! {cfg}"

        if cfg.id in encountered_file_ids:
            raise RuntimeError(f"{cfg.id} configured twice!")

        encountered_file_ids.add(cfg.id)


check_no_overlapping_configs()


# TODO: These have UNKNOWN recipient so they currently get printed but we should configure it so they don't
UNINTERESTING_EMAIL_IDS = [
    'EFTA00039894',
    'EFTA00039878',
]
