# DO NOT EDIT: file generated by build/mkupdates/listpromotable
# active ruleset list, automatically generated from https://ruleqa.spamassassin.org/
# with results from: last-net: net-axb-coi-bulk net-axb-generic net-axb-ham-misc net-darxus net-ena-week0 net-ena-week1 net-ena-week2 net-ena-week3 net-ena-week4 net-giovanni-ham net-giovanni-spam net-giovanni-spammy net-grenier net-jbrooks net-mmiroslaw-mails-ham net-mmiroslaw-mails-spam net-npiazzi net-pds net-sihde net-spamsponge net-thendrikx; day 1: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 2: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 3: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 4: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 5: axb-coi-bulk axb-generic axb-ham-misc darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx

# tflags publish
AC_BR_BONANZA

# tflags publish
AC_DIV_BONANZA

# tflags publish
AC_FROM_MANY_DOTS

# tflags publish
AC_HTML_NONSENSE_TAGS

# tflags publish
AC_POST_EXTRAS

# tflags publish
AC_SPAMMY_URI_PATTERNS1

# tflags publish
AC_SPAMMY_URI_PATTERNS10

# tflags publish
AC_SPAMMY_URI_PATTERNS11

# tflags publish
AC_SPAMMY_URI_PATTERNS12

# tflags publish
AC_SPAMMY_URI_PATTERNS2

# tflags publish
AC_SPAMMY_URI_PATTERNS3

# tflags publish
AC_SPAMMY_URI_PATTERNS4

# tflags publish
AC_SPAMMY_URI_PATTERNS8

# tflags publish
AC_SPAMMY_URI_PATTERNS9

# tflags publish
ADMAIL

# good enough
ADMITS_SPAM

# tflags publish
ADVANCE_FEE_2_NEW_FORM

# tflags publish
ADVANCE_FEE_2_NEW_MONEY

# tflags publish
ADVANCE_FEE_3_NEW

# tflags publish
ADVANCE_FEE_3_NEW_FORM

# tflags publish
ADVANCE_FEE_3_NEW_MONEY

# tflags publish
ADVANCE_FEE_4_NEW

# good enough
ADVANCE_FEE_4_NEW_MONEY

# good enough
ADVANCE_FEE_5_NEW

# tflags publish
AD_PREFS

# tflags publish
ALIBABA_IMG_NOT_RCVD_ALI

# tflags userconf
ALL_TRUSTED

# tflags publish
AMAZON_IMG_NOT_RCVD_AMZN

# tflags publish
APP_DEVELOPMENT_FREEM

# tflags publish
APP_DEVELOPMENT_NORDNS

# good enough
AXB_XMAILER_MIMEOLE_OL_024C2

# tflags learn
BAYES_00

# tflags learn
BAYES_05

# tflags learn
BAYES_20

# tflags learn
BAYES_40

# tflags learn
BAYES_50

# tflags learn
BAYES_60

# tflags learn
BAYES_80

# tflags learn
BAYES_95

# tflags learn
BAYES_99

# tflags learn
BAYES_999

# tflags publish
BITCOIN_BOMB

# tflags publish
BITCOIN_DEADLINE

# tflags publish
BITCOIN_EXTORT_01

# tflags publish
BITCOIN_EXTORT_02

# good enough
BITCOIN_MALF_HTML

# tflags net
BITCOIN_MALWARE

# tflags publish
BITCOIN_PAY_ME

# tflags publish
BITCOIN_SPAM_01

# tflags publish
BITCOIN_SPAM_02

# tflags publish
BITCOIN_SPAM_03

# tflags publish
BITCOIN_SPAM_04

# tflags net
BITCOIN_SPAM_05

# tflags publish
BITCOIN_SPAM_06

# tflags publish
BITCOIN_SPAM_07

# tflags publish
BITCOIN_SPAM_08

# tflags publish
BITCOIN_SPAM_09

# tflags publish
BITCOIN_SPAM_10

# tflags publish
BITCOIN_SPAM_11

# tflags publish
BITCOIN_SPAM_12

# tflags net
BITCOIN_SPF_ONLYALL

# good enough
BITCOIN_XPRIO

# tflags publish
BITCOIN_YOUR_INFO

# tflags net
BODY_EMPTY

# tflags net
BODY_URI_ONLY

# tflags publish
BOGUS_MIME_VERSION

# tflags publish
BOGUS_MSM_HDRS

# tflags publish
BOMB_FREEM

# tflags publish
BOMB_MONEY

# tflags net
BTC_ORG

# tflags publish
BULK_RE_SUSP_NTLD

# tflags publish
CANT_SEE_AD

# tflags userconf
CHARSET_FARAWAY

# tflags userconf
CHARSET_FARAWAY_HEADER

# good enough
CK_HELO_DYNAMIC_SPLIT_IP

# good enough
CK_HELO_GENERIC

# tflags publish
CN_B2B_SPAMMER

# tflags publish
COMMENT_GIBBERISH

# tflags net
COMPENSATION

# tflags publish
CORRUPT_FROM_LINE_IN_HDRS

# tflags publish
CTE_8BIT_MISMATCH

# good enough
CTYPE_NULL

# tflags publish
DAY_I_EARNED

# tflags net
DIGEST_MULTIPLE

# tflags net
DKIMWL_BL

# tflags net
DKIMWL_BLOCKED

# tflags net
DKIMWL_WL_HIGH

# tflags net
DKIMWL_WL_MED

# tflags net
DKIMWL_WL_MEDHI

# tflags net
DKIM_ADSP_ALL

# tflags net
DKIM_ADSP_CUSTOM_HIGH

# tflags net
DKIM_ADSP_CUSTOM_LOW

# tflags net
DKIM_ADSP_CUSTOM_MED

# tflags net
DKIM_ADSP_DISCARD

# tflags net
DKIM_ADSP_NXDOMAIN

# tflags net
DKIM_INVALID

# tflags net
DKIM_SIGNED

# tflags net
DKIM_VALID

# tflags net
DKIM_VALID_AU

# tflags net
DKIM_VALID_EF

# tflags publish
DOS_ANAL_SPAM_MAILER

# tflags net
DOS_DEREK_AUG08

# good enough
DOS_OE_TO_MX

# good enough
DOS_OUTLOOK_TO_MX

# tflags publish
DOTGOV_IMAGE

# good enough
DSN_NO_MIMEVERSION

# tflags publish
DX_TEXT_02

# tflags publish
DX_TEXT_03

# tflags publish
EBAY_IMG_NOT_RCVD_EBAY

# tflags publish
ENCRYPTED_MESSAGE

# tflags net
END_FUTURE_EMAILS

# tflags net
ENV_AND_HDR_SPF_MATCH

# tflags publish
FBI_MONEY

# tflags publish
FBI_SPOOF

# tflags publish
FILL_THIS_FORM

# good enough
FILL_THIS_FORM_LONG

# tflags publish
FONT_INVIS_DIRECT

# tflags publish
FONT_INVIS_DOTGOV

# tflags publish
FONT_INVIS_LONG_LINE

# tflags publish
FONT_INVIS_MSGID

# tflags publish
FONT_INVIS_POSTEXTRAS

# good enough
FORGED_RELAY_MUA_TO_MX

# tflags net
FORGED_SPF_HELO

# tflags net
FORM_FRAUD

# tflags net
FORM_FRAUD_3

# tflags publish
FORM_FRAUD_5

# tflags net
FORM_LOW_CONTRAST

# tflags publish
FOUND_YOU

# tflags userconf
FRAGMENTED_MESSAGE

# tflags publish
FREEMAIL_FORGED_FROMDOMAIN

# tflags publish
FREEM_FRNUM_UNICD_EMPTY

# tflags publish
FRNAME_IN_MSG_XPRIO_NO_SUB

# good enough
FROM_2_EMAILS_SHORT

# tflags publish
FROM_ADDR_WS

# tflags net
FROM_BANK_NOAUTH

# tflags userconf
FROM_DOMAIN_NOVOWEL

# tflags net
FROM_FMBLA_NDBLOCKED

# tflags net
FROM_FMBLA_NEWDOM

# tflags net
FROM_FMBLA_NEWDOM14

# tflags net
FROM_FMBLA_NEWDOM28

# tflags net
FROM_GOV_DKIM_AU

# tflags net
FROM_GOV_REPLYTO_FREEMAIL

# tflags net
FROM_GOV_SPOOF

# tflags publish
FROM_IN_TO_AND_SUBJ

# tflags userconf
FROM_LOCAL_NOVOWEL

# good enough
FROM_MISSPACED

# good enough
FROM_MISSP_DYNIP

# good enough
FROM_MISSP_EH_MATCH

# good enough
FROM_MISSP_FREEMAIL

# good enough
FROM_MISSP_MSFT

# tflags net
FROM_MISSP_REPLYTO

# tflags net
FROM_MISSP_SPF_FAIL

# good enough
FROM_MISSP_TO_UNDISC

# good enough
FROM_MISSP_USER

# good enough
FROM_MISSP_XPRIO

# good enough
FROM_NAME_EQ_TO_G_DRIVE

# tflags net
FROM_NEWDOM_BTC

# tflags publish
FROM_NTLD_LINKBAIT

# tflags publish
FROM_NTLD_REPLY_FREEMAIL

# tflags net
FROM_NUMBERO_NEWDOMAIN

# tflags net
FROM_PAYPAL_SPOOF

# tflags publish
FROM_SUSPICIOUS_NTLD

# tflags publish
FROM_SUSPICIOUS_NTLD_FP

# good enough
FROM_UNBAL1

# good enough
FROM_URI

# tflags publish
FROM_WORDY

# tflags publish
FROM_WORDY_SHORT

# good enough
FROM_WSP_TRAIL

# good enough
FROM_WWW

# tflags net
FSL_BULK_SIG

# good enough
FSL_CTYPE_WIN1251

# tflags publish
FSL_NEW_HELO_USER

# good enough
FSL_THIS_IS_ADV

# tflags publish
FUZZY_ANDROID

# tflags publish
FUZZY_BITCOIN

# tflags publish
FUZZY_BROWSER

# tflags publish
FUZZY_BTC_WALLET

# tflags publish
FUZZY_CLICK_HERE

# tflags publish
FUZZY_DR_OZ

# tflags publish
FUZZY_IMPORTANT

# tflags publish
FUZZY_MONERO

# tflags publish
FUZZY_PRIVACY

# tflags publish
FUZZY_PROMOTION

# tflags publish
FUZZY_SAVINGS

# tflags publish
FUZZY_SECURITY

# tflags publish
FUZZY_UNSUBSCRIBE

# tflags publish
FUZZY_WALLET

# tflags publish
GAPPY_SALES_LEADS_FREEM

# good enough
GB_BITCOIN_CP

# good enough
GB_BITCOIN_NH

# tflags publish
GB_FORGED_MUA_POSTFIX

# tflags publish
GB_FREEMAIL_DISPTO

# tflags publish
GB_FREEMAIL_DISPTO_NOTFREEM

# tflags publish
GB_GOOGLE_OBFUR

# good enough
GB_GOOGLE_OBFUS

# tflags publish
GB_LINKED_IMG_NOT_RCVD_LINK

# tflags publish
GB_WP_FILELINK

# tflags publish
GOOGLE_DOCS_PHISH

# tflags publish
GOOGLE_DOCS_PHISH_MANY

# tflags publish
GOOGLE_DRIVE_REPLY_BAD_NTLD

# tflags publish
GOOG_MALWARE_DNLD

# tflags publish
GOOG_REDIR_SHORT

# tflags userconf
GTUBE

# tflags net
HDRS_LCASE

# good enough
HDRS_LCASE_IMGONLY

# tflags net
HDRS_MISSP

# tflags publish
HDR_ORDER_FTSDMCXX_DIRECT

# tflags publish
HDR_ORDER_FTSDMCXX_NORDNS

# tflags publish
HEADER_FROM_DIFFERENT_DOMAINS

# tflags userconf
HEAD_LONG

# good enough
HELO_LOCALHOST

# good enough
HELO_MISC_IP

# tflags publish
HELO_NO_DOMAIN

# tflags publish
HEXHASH_WORD

# tflags publish
HK_CTE_RAW

# good enough
HK_NAME_DRUGS

# good enough
HK_NAME_MR_MRS

# tflags publish
HK_RANDOM_ENVFROM

# tflags publish
HK_RANDOM_FROM

# tflags publish
HK_RANDOM_REPLYTO

# tflags publish
HK_RCVD_IP_MULTICAST

# tflags publish
HK_SCAM

# tflags publish
HOSTED_IMG_DIRECT_MX

# tflags publish
HOSTED_IMG_DQ_UNSUB

# tflags publish
HOSTED_IMG_FREEM

# tflags publish
HOSTED_IMG_MULTI

# tflags userconf
HTML_CHARSET_FARAWAY

# tflags publish
HTML_ENTITY_ASCII

# tflags publish
HTML_ENTITY_ASCII_TINY

# tflags publish
HTML_OFF_PAGE

# tflags publish
HTML_SHRT_CMNT_OBFU_MANY

# tflags net
HTML_SINGLET_MANY

# tflags net
HTML_TEXT_INVISIBLE_FONT

# tflags publish
HTML_TEXT_INVISIBLE_STYLE

# tflags publish
IMG_ONLY_FM_DOM_INFO

# good enough
KB_FORGED_MOZ4

# tflags net
KHOP_FAKE_EBAY

# tflags net
KHOP_HELO_FCRDNS

# good enough
LH_URI_DOM_IN_PATH

# good enough
LIST_PARTIAL_SHORT_MSG

# tflags publish
LIST_PRTL_PUMPDUMP

# tflags publish
LIST_PRTL_SAME_USER

# tflags publish
LONG_HEX_URI

# tflags publish
LONG_IMG_URI

# tflags publish
LONG_INVISIBLE_TEXT

# tflags publish
LOTS_OF_MONEY

# tflags publish
LUCRATIVE

# tflags publish
MALF_HTML_B64

# tflags publish
MALWARE_NORDNS

# tflags publish
MALWARE_PASSWORD

# tflags net
MANY_HDRS_LCASE

# tflags publish
MANY_SPAN_IN_TEXT

# tflags net
MAY_BE_FORGED

# tflags publish
MILLION_HUNDRED

# tflags publish
MIMEOLE_DIRECT_TO_MX

# tflags userconf
MIME_CHARSET_FARAWAY

# tflags publish
MIME_NO_TEXT

# tflags userconf
MISSING_HB_SEP

# tflags publish
MIXED_ES

# tflags publish
MONERO_DEADLINE

# tflags publish
MONERO_EXTORT_01

# tflags publish
MONERO_MALWARE

# tflags publish
MONERO_PAY_ME

# good enough
MONEY_FORM_SHORT

# tflags publish
MONEY_FRAUD_3

# tflags publish
MONEY_FRAUD_5

# tflags publish
MONEY_FRAUD_8

# good enough
MONEY_FROM_MISSP

# tflags publish
MSM_PRIO_REPTO

# good enough
MSOE_MID_WRONG_CASE

# tflags publish
NEWEGG_IMG_NOT_RCVD_NEGG

# good enough
NICE_REPLY_A

# tflags net
NML_ADSP_CUSTOM_HIGH

# tflags net
NML_ADSP_CUSTOM_LOW

# tflags net
NML_ADSP_CUSTOM_MED

# tflags net
NORDNS_LOW_CONTRAST

# tflags net
NO_DNS_FOR_FROM

# tflags publish
NO_FM_NAME_IP_HOSTN

# tflags userconf
NO_RECEIVED

# tflags userconf
NO_RELAYS

# good enough
NSL_RCVD_FROM_USER

# good enough
NSL_RCVD_HELO_USER

# tflags publish
OBFU_BITCOIN

# tflags publish
OBFU_JVSCR_ESC

# tflags publish
OBFU_TEXT_ATTACH

# good enough
OFFER_ONLY_AMERICA

# good enough
PDS_BTC_ID

# good enough
PDS_BTC_MSGID

# good enough
PDS_EMPTYSUBJ_URISHRT

# good enough
PDS_FREEMAIL_REPLYTO_URISHRT

# good enough
PDS_FRNOM_TODOM_NAKED_TO

# tflags net
PDS_FROM_2_EMAILS

# good enough
PDS_FROM_NAME_TO_DOMAIN

# tflags net
PDS_HELO_SPF_FAIL

# good enough
PDS_NAKED_TO_NUMERO

# good enough
PDS_SHORTFWD_URISHRT

# good enough
PDS_TINYSUBJ_URISHRT

# good enough
PDS_TONAME_EQ_TOLOCAL_FREEM_FORGE

# good enough
PDS_TONAME_EQ_TOLOCAL_HDRS_LCASE

# good enough
PDS_TONAME_EQ_TOLOCAL_SHORT

# good enough
PDS_TONAME_EQ_TOLOCAL_VSHORT

# good enough
PDS_TO_EQ_FROM_NAME

# good enough
PHOTO_EDITING_DIRECT

# tflags publish
PHP_NOVER_MUA

# tflags publish
PHP_ORIG_SCRIPT

# tflags publish
PHP_SCRIPT_MUA

# tflags publish
PP_MIME_FAKE_ASCII_TEXT

# tflags publish
PP_TOO_MUCH_UNICODE02

# tflags publish
PP_TOO_MUCH_UNICODE05

# tflags publish
PUMPDUMP

# tflags publish
PUMPDUMP_MULTI

# tflags publish
PUMPDUMP_TIP

# tflags net
PYZOR_CHECK

# tflags publish
RAND_HEADER_MANY

# good enough
RATWARE_NO_RDNS

# tflags net
RAZOR2_CF_RANGE_51_100

# tflags net
RAZOR2_CHECK

# tflags publish
RCVD_DBL_DQ

# tflags publish
RCVD_DOTEDU_SHORT

# good enough
RCVD_DOTEDU_SUSP

# tflags publish
RCVD_DOTEDU_SUSP_URI

# tflags net
RCVD_IN_BL_SPAMCOP_NET

# tflags net
RCVD_IN_DNSWL_BLOCKED

# tflags net
RCVD_IN_DNSWL_HI

# tflags net
RCVD_IN_DNSWL_LOW

# tflags net
RCVD_IN_DNSWL_MED

# tflags net
RCVD_IN_DNSWL_NONE

# tflags net
RCVD_IN_IADB_DK

# tflags net
RCVD_IN_IADB_DOPTIN

# tflags net
RCVD_IN_IADB_DOPTIN_GT50

# tflags net
RCVD_IN_IADB_DOPTIN_LT50

# tflags net
RCVD_IN_IADB_EDDB

# tflags net
RCVD_IN_IADB_EPIA

# tflags net
RCVD_IN_IADB_GOODMAIL

# tflags net
RCVD_IN_IADB_LISTED

# tflags net
RCVD_IN_IADB_LOOSE

# tflags net
RCVD_IN_IADB_MI_CPEAR

# tflags net
RCVD_IN_IADB_MI_CPR_30

# tflags net
RCVD_IN_IADB_MI_CPR_MAT

# tflags net
RCVD_IN_IADB_ML_DOPTIN

# tflags net
RCVD_IN_IADB_NOCONTROL

# tflags net
RCVD_IN_IADB_OOO

# tflags net
RCVD_IN_IADB_OPTIN

# tflags net
RCVD_IN_IADB_OPTIN_GT50

# tflags net
RCVD_IN_IADB_OPTIN_LT50

# tflags net
RCVD_IN_IADB_OPTOUTONLY

# tflags net
RCVD_IN_IADB_RDNS

# tflags net
RCVD_IN_IADB_SENDERID

# tflags net
RCVD_IN_IADB_SPF

# tflags net
RCVD_IN_IADB_UNVERIFIED_1

# tflags net
RCVD_IN_IADB_UNVERIFIED_2

# tflags net
RCVD_IN_IADB_UT_CPEAR

# tflags net
RCVD_IN_IADB_UT_CPR_30

# tflags net
RCVD_IN_IADB_UT_CPR_MAT

# tflags net
RCVD_IN_IADB_VOUCHED

# tflags net
RCVD_IN_MAPS_DUL

# tflags net
RCVD_IN_MAPS_NML

# tflags net
RCVD_IN_MAPS_OPS

# tflags net
RCVD_IN_MAPS_RBL

# tflags net
RCVD_IN_MAPS_RSS

# tflags net
RCVD_IN_MSPIKE_BL

# tflags net
RCVD_IN_MSPIKE_H2

# tflags net
RCVD_IN_MSPIKE_H3

# tflags net
RCVD_IN_MSPIKE_H4

# tflags net
RCVD_IN_MSPIKE_H5

# tflags net
RCVD_IN_MSPIKE_L2

# tflags net
RCVD_IN_MSPIKE_L3

# tflags net
RCVD_IN_MSPIKE_L4

# tflags net
RCVD_IN_MSPIKE_L5

# tflags net
RCVD_IN_MSPIKE_WL

# tflags net
RCVD_IN_MSPIKE_ZBI

# tflags net
RCVD_IN_PBL

# tflags net
RCVD_IN_PSBL

# tflags net
RCVD_IN_RP_CERTIFIED

# tflags net
RCVD_IN_RP_RNBL

# tflags net
RCVD_IN_RP_SAFE

# tflags net
RCVD_IN_SBL

# tflags net
RCVD_IN_SBL_CSS

# tflags net
RCVD_IN_SORBS_BLOCK

# tflags net
RCVD_IN_SORBS_DUL

# tflags net
RCVD_IN_SORBS_HTTP

# tflags net
RCVD_IN_SORBS_MISC

# tflags net
RCVD_IN_SORBS_SMTP

# tflags net
RCVD_IN_SORBS_SOCKS

# tflags net
RCVD_IN_SORBS_WEB

# tflags net
RCVD_IN_SORBS_ZOMBIE

# tflags net
RCVD_IN_XBL

# tflags net
RCVD_IN_ZEN_BLOCKED

# tflags net
RCVD_IN_ZEN_BLOCKED_OPENDNS

# tflags publish
RDNS_NUM_TLD_ATCHNX

# tflags publish
RDNS_NUM_TLD_XM

# good enough
REPLYTO_WITHOUT_TO_CC

# good enough
RISK_FREE

# tflags publish
SENDGRID_REDIR

# tflags publish
SENDGRID_REDIR_PHISH

# tflags publish
SEO_SUSP_NTLD

# good enough
SERGIO_SUBJECT_VIAGRA01

# tflags publish
SHOPIFY_IMG_NOT_RCVD_SFY

# good enough
SHORTENED_URL_SRC

# tflags publish
SHORTENER_SHORT_IMG

# good enough
SHORT_BODY_G_DRIVE_DYN

# tflags publish
SHORT_IMG_SUSP_NTLD

# good enough
SHORT_SHORTNER

# good enough
SHORT_URL

# tflags net
SINGLETS_LOW_CONTRAST

# tflags net
SPF_FAIL

# tflags net
SPF_HELO_FAIL

# tflags net
SPF_HELO_NEUTRAL

# tflags net
SPF_HELO_NONE

# tflags net
SPF_HELO_PASS

# tflags net
SPF_HELO_SOFTFAIL

# tflags net
SPF_NEUTRAL

# tflags net
SPF_NONE

# tflags net
SPF_PASS

# tflags net
SPF_SOFTFAIL

# tflags net
SPOOFED_FREEMAIL

# tflags net
SPOOFED_FREEMAIL_NO_RDNS

# tflags net
SPOOFED_FREEM_REPTO

# tflags net
SPOOFED_FREEM_REPTO_CHN

# tflags net
SPOOFED_FREEM_REPTO_RUS

# tflags publish
STATIC_XPRIO_OLE

# tflags net
STOCK_LOW_CONTRAST

# tflags publish
STOCK_TIP

# good enough
STY_INVIS_DIRECT

# tflags userconf
SUBJECT_IN_BLACKLIST

# tflags userconf
SUBJECT_IN_WHITELIST

# good enough
SUBJECT_NEEDS_ENCODING

# tflags net
SUBJ_BRKN_WORDNUMS

# tflags net
SUBJ_OBFU_PUNCT_FEW

# tflags net
SUBJ_OBFU_PUNCT_MANY

# tflags net
SUBJ_UNNEEDED_HTML

# tflags net
SURBL_BLOCKED

# good enough
SUSP_UTF8_WORD_COMBO

# good enough
SUSP_UTF8_WORD_FROM

# good enough
SUSP_UTF8_WORD_SUBJ

# tflags publish
SYSADMIN

# tflags net
TEQF_USR_IMAGE

# tflags net
TEQF_USR_MSGID_HEX

# tflags net
TEQF_USR_MSGID_MALF

# tflags publish
THIS_AD

# tflags publish
THIS_IS_ADV_SUSP_NTLD

# good enough
TONOM_EQ_TOLOC_SHRT_SHRTNER

# tflags publish
TO_EQ_FM_DIRECT_MX

# tflags net
TO_EQ_FM_DOM_HTML_IMG

# tflags net
TO_EQ_FM_DOM_HTML_ONLY

# tflags net
TO_EQ_FM_DOM_SPF_FAIL

# tflags net
TO_EQ_FM_HTML_ONLY

# tflags net
TO_EQ_FM_SPF_FAIL

# tflags publish
TO_IN_SUBJ

# tflags publish
TO_NAME_SUBJ_NO_RDNS

# good enough
TO_NO_BRKTS_FROM_MSSP

# tflags publish
TO_NO_BRKTS_HTML_IMG

# tflags publish
TO_NO_BRKTS_HTML_ONLY

# tflags net
TO_NO_BRKTS_MSFT

# tflags publish
TO_NO_BRKTS_NORDNS_HTML

# tflags publish
TO_NO_BRKTS_PCNT

# good enough
TVD_QUAL_MEDS

# good enough
TVD_RCVD_SPACE_BRACKET

# tflags net
TVD_SPACE_ENCODED

# tflags net
TVD_SPACE_RATIO_MINFP

# tflags net
TVD_SUBJ_NUM_OBFU_MINFP

# tflags publish
TW_GIBBERISH_MANY

# tflags publish
UC_GIBBERISH_OBFU

# tflags publish
UNICODE_OBFU_ASC

# tflags publish
UNICODE_OBFU_ZW

# tflags userconf
UNPARSEABLE_RELAY

# tflags net
UPGRADE_MAILBOX

# tflags net
URIBL_ABUSE_SURBL

# tflags net
URIBL_BLACK

# tflags net
URIBL_BLOCKED

# tflags net
URIBL_CR_SURBL

# tflags net
URIBL_CSS

# tflags net
URIBL_CSS_A

# tflags net
URIBL_DBL_ABUSE_BOTCC

# tflags net
URIBL_DBL_ABUSE_MALW

# tflags net
URIBL_DBL_ABUSE_PHISH

# tflags net
URIBL_DBL_ABUSE_REDIR

# tflags net
URIBL_DBL_ABUSE_SPAM

# tflags net
URIBL_DBL_BLOCKED

# tflags net
URIBL_DBL_BLOCKED_OPENDNS

# tflags net
URIBL_DBL_BOTNETCC

# tflags net
URIBL_DBL_ERROR

# tflags net
URIBL_DBL_MALWARE

# tflags net
URIBL_DBL_PHISH

# tflags net
URIBL_DBL_SPAM

# tflags net
URIBL_GREY

# tflags net
URIBL_MW_SURBL

# tflags net
URIBL_PH_SURBL

# tflags net
URIBL_RED

# tflags net
URIBL_RHS_DOB

# tflags net
URIBL_SBL

# tflags net
URIBL_SBL_A

# tflags net
URIBL_WS_SURBL

# tflags net
URIBL_ZEN_BLOCKED

# tflags net
URIBL_ZEN_BLOCKED_OPENDNS

# tflags publish
URI_DATA

# tflags publish
URI_DOTEDU

# tflags publish
URI_DOTEDU_ENTITY

# good enough
URI_DOTEDU_LONG

# tflags publish
URI_DQ_UNSUB

# tflags publish
URI_GOOGLE_PROXY

# tflags publish
URI_HEX_IP

# tflags userconf
URI_HOST_IN_BLACKLIST

# tflags userconf
URI_HOST_IN_WHITELIST

# tflags publish
URI_IMG_WP_REDIR

# good enough
URI_IN_URI_10

# good enough
URI_IN_URI_5

# tflags publish
URI_MALWARE_SCMS

# tflags userconf
URI_NOVOWEL

# tflags net
URI_ONLY_MSGID_MALF

# tflags publish
URI_OPTOUT_3LD

# tflags publish
URI_OPTOUT_USME

# tflags publish
URI_PHISH

# tflags publish
URI_PHP_REDIR

# tflags publish
URI_TRY_3LD

# tflags publish
URI_TRY_USME

# tflags publish
URI_WPADMIN

# tflags publish
URI_WP_DIRINDEX

# tflags net
URI_WP_HACKED

# tflags net
URI_WP_HACKED_2

# tflags publish
USB_DRIVES

# tflags userconf
USER_IN_ALL_SPAM_TO

# tflags userconf
USER_IN_BLACKLIST

# tflags userconf
USER_IN_BLACKLIST_TO

# tflags net
USER_IN_DEF_DKIM_WL

# tflags net
USER_IN_DEF_SPF_WL

# tflags userconf
USER_IN_DEF_WHITELIST

# tflags net
USER_IN_DKIM_WHITELIST

# tflags userconf
USER_IN_MORE_SPAM_TO

# tflags net
USER_IN_SPF_WHITELIST

# tflags userconf
USER_IN_WELCOMELIST

# tflags userconf
USER_IN_WELCOMELIST_TO

# tflags publish
VPS_NO_NTLD

# tflags publish
WALMART_IMG_NOT_RCVD_WAL

# tflags publish
XM_PHPMAILER_FORGED

# tflags net
XPRIO

# tflags publish
XPRIO_SHORT_SUBJ
