# 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-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-hege net-jarif net-jbrooks net-llanga 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 hege jarif 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 hege jarif jbrooks llanga mmiroslaw-mails-ham mmiroslaw-mails-spam npiazzi pds sihde spamsponge thendrikx; day 3: darxus ena-week0 ena-week1 ena-week2 ena-week3 ena-week4 giovanni-ham giovanni-spam giovanni-spammy grenier hege jarif 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 hege jarif 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 hege jarif 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_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

# 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_FRM_MNY

# good enough
ADVANCE_FEE_4_NEW_MONEY

# good enough
ADVANCE_FEE_5_NEW

# good enough
ADVANCE_FEE_5_NEW_FRM_MNY

# good enough
ADVANCE_FEE_5_NEW_MONEY

# tflags publish
AD_PREFS

# tflags userconf
ALL_TRUSTED

# tflags publish
AMAZON_IMG_NOT_RCVD_AMZN

# good enough
ANY_PILL_PRICE

# tflags publish
APP_DEVELOPMENT_FREEM

# tflags publish
APP_DEVELOPMENT_NORDNS

# good enough
AXB_XMAILER_MIMEOLE_OL_024C2

# good enough
AXB_XMAILER_MIMEOLE_OL_1ECD5

# 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

# good enough
BIGNUM_EMAILS

# tflags publish
BITCOIN_DEADLINE

# tflags publish
BITCOIN_EXTORT_01

# tflags publish
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 publish
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
BODY_EMPTY

# good enough
BODY_SINGLE_URI

# good enough
BODY_SINGLE_WORD

# tflags publish
BODY_URI_ONLY

# tflags publish
BOGUS_MIME_VERSION

# tflags publish
BOGUS_MSM_HDRS

# tflags publish
BOMB_FREEM

# tflags publish
BOMB_MONEY

# 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

# good enough
COMPENSATION

# tflags publish
CORRUPT_FROM_LINE_IN_HDRS

# good enough
CTYPE_NULL

# good enough
DATE_IN_FUTURE_96_Q

# tflags publish
DAY_I_EARNED

# good enough
DEAR_BENEFICIARY

# good enough
DEAR_WINNER

# 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_SIGNED

# tflags net
DKIM_VALID

# tflags net
DKIM_VALID_AU

# tflags net
DKIM_VALID_EF

# tflags publish
DOS_ANAL_SPAM_MAILER

# good enough
DOS_OE_TO_MX

# good enough
DRUGS_ERECTILE_SHORT_SHORTNER

# tflags publish
DX_TEXT_02

# tflags publish
DX_TEXT_03

# tflags publish
EBAY_IMG_NOT_RCVD_EBAY

# tflags publish
ENCRYPTED_MESSAGE

# tflags net
ENV_AND_HDR_SPF_MATCH

# good enough
FAKE_REPLY_A1

# tflags publish
FBI_MONEY

# tflags publish
FBI_SPOOF

# tflags publish
FILL_THIS_FORM

# good enough
FILL_THIS_FORM_LOAN

# good enough
FILL_THIS_FORM_LONG

# tflags publish
FORM_FRAUD

# tflags publish
FORM_FRAUD_3

# tflags publish
FORM_FRAUD_5

# tflags publish
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
FROMSPACE

# 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

# good enough
FROM_MISSP_PHISH

# good enough
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 publish
FROM_NTLD_LINKBAIT

# tflags publish
FROM_NTLD_REPLY_FREEMAIL

# tflags net
FROM_NUMBERO_NEWDOMAIN

# good enough
FROM_NUMERIC_TLD

# tflags net
FROM_PAYPAL_SPOOF

# tflags publish
FROM_SUSPICIOUS_NTLD

# tflags publish
FROM_WORDY

# tflags publish
FROM_WORDY_SHORT

# good enough
FROM_WSP_TRAIL

# tflags net
FSL_BULK_SIG

# good enough
FSL_CTYPE_WIN1251

# good enough
FSL_HELO_FAKE

# 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_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

# tflags publish
GB_FORGED_MUA_POSTFIX

# tflags publish
GB_FREEMAIL_DISPTO

# tflags publish
GB_FREEMAIL_DISPTO_NOTFREEM

# tflags publish
GB_GOOGLE_OBFU

# tflags publish
GB_GOOG_IMG_NOT_RCVD_GOOG

# good enough
GB_LINKED_IMG_NOT_RCVD_LINK

# tflags publish
GOOGLE_DOCS_PHISH

# tflags publish
GOOGLE_DOCS_PHISH_MANY

# tflags publish
GOOGLE_DRIVE_REPLY_BAD_NTLD

# tflags publish
GOOG_MALWARE_DNLD

# good enough
GOOG_REDIR_HTML_ONLY

# good enough
GOOG_REDIR_NORDNS

# tflags publish
GOOG_REDIR_SHORT

# tflags userconf
GTUBE

# good enough
HDRS_LCASE_IMGONLY

# 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

# good enough
HK_LOTTO

# good enough
HK_NAME_DRUGS

# good enough
HK_NAME_FM_MR_MRS

# good enough
HK_NAME_FROM

# 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

# good enough
HTML_ATTACH

# 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 publish
HTML_SINGLET_MANY

# tflags publish
HTML_TEXT_INVISIBLE_FONT

# tflags publish
HTML_TEXT_INVISIBLE_STYLE

# good enough
IMG_ALT_HSPACE_CID_ALIGN

# tflags publish
IMG_ONLY_FM_DOM_INFO

# good enough
KB_FORGED_MOZ4

# 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
LOTS_OF_MONEY

# good enough
LOTTO_AGENT

# tflags publish
LUCRATIVE

# good enough
L_8BIT_MISMATCH

# good enough
MALFORMED_FREEMAIL

# tflags publish
MALF_HTML_B64

# tflags publish
MANY_SPAN_IN_TEXT

# tflags publish
MILLION_HUNDRED

# good enough
MILLION_USD

# 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

# good enough
MONEY_ATM_CARD

# good enough
MONEY_FORM

# good enough
MONEY_FORM_SHORT

# tflags publish
MONEY_FRAUD_3

# tflags publish
MONEY_FRAUD_5

# tflags publish
MONEY_FRAUD_8

# good enough
MONEY_FROM_41

# good enough
MONEY_FROM_MISSP

# tflags publish
MSM_PRIO_REPTO

# good enough
MSOE_MID_WRONG_CASE

# good enough
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

# good enough
NUMBERONLY_BITCOIN_EXP

# tflags publish
OBFU_BITCOIN

# tflags publish
OBFU_JVSCR_ESC

# tflags publish
OBFU_TEXT_ATTACH

# good enough
OFFER_ONLY_AMERICA

# good enough
PDS_DBL_URL_LINKBAIT

# good enough
PDS_DBL_URL_TNB_RUNON

# tflags net
PDS_HELO_SPF_FAIL

# good enough
PDS_HIDDEN_UK_BUSINESSLOAN

# tflags net
PDS_HP_HELO_NORDNS

# tflags net
PDS_NO_HELO_DNS

# good enough
PDS_PHP_EVAL

# good enough
PDS_PHP_RUNTIME_FUNC

# good enough
PDS_TO_EQ_FROM_NAME

# good enough
PDS_URI_HIDDEN_HELO_NO_DOMAIN

# good enough
PDS_X_PHP_WP_EXP

# good enough
PHOTO_EDITING_DIRECT

# good enough
PHOTO_EDITING_FREEM

# 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 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 publish
RDNS_NUM_TLD_ATCHNX

# tflags publish
RDNS_NUM_TLD_XM

# good enough
REPLYTO_WITHOUT_TO_CC

# good enough
RISK_FREE

# tflags publish
SEO_SUSP_NTLD

# good enough
SERGIO_SUBJECT_PORN014

# good enough
SERGIO_SUBJECT_VIAGRA01

# good enough
SHORTENER_SHORT_IMG

# good enough
SHORT_BODY_G_DRIVE_DYN

# tflags publish
SHORT_IMG_SUSP_NTLD

# tflags publish
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

# good enough
SPOOFED_FREEMAIL_NO_RDNS

# tflags publish
SPOOFED_FREEM_REPTO

# tflags publish
SPOOFED_FREEM_REPTO_CHN

# tflags publish
SPOOFED_FREEM_REPTO_RUS

# tflags publish
STATIC_XPRIO_OLE

# tflags publish
STOCK_LOW_CONTRAST

# tflags publish
STOCK_TIP

# tflags userconf
SUBJECT_IN_BLACKLIST

# tflags userconf
SUBJECT_IN_WHITELIST

# tflags net
SURBL_BLOCKED

# tflags publish
SYSADMIN

# tflags publish
TEQF_USR_IMAGE

# tflags publish
TEQF_USR_MSGID_HEX

# tflags publish
TEQF_USR_MSGID_MALF

# good enough
TEQF_USR_POLITE

# tflags publish
THIS_AD

# tflags publish
THIS_IS_ADV_SUSP_NTLD

# tflags publish
TO_EQ_FM_DIRECT_MX

# tflags net
TO_EQ_FM_DOM_SPF_FAIL

# tflags net
TO_EQ_FM_SPF_FAIL

# tflags publish
TO_IN_SUBJ

# tflags publish
TO_NAME_SUBJ_NO_RDNS

# good enough
TO_NO_BRKTS_DYNIP

# good enough
TO_NO_BRKTS_FROM_MSSP

# tflags publish
TO_NO_BRKTS_HTML_IMG

# tflags publish
TO_NO_BRKTS_HTML_ONLY

# good enough
TO_NO_BRKTS_MSFT

# tflags publish
TO_NO_BRKTS_NORDNS_HTML

# tflags publish
TO_NO_BRKTS_PCNT

# good enough
TVD_IP_HEX

# good enough
TVD_IP_SING_HEX

# good enough
TVD_QUAL_MEDS

# good enough
TVD_RCVD_IP

# good enough
TVD_RCVD_SPACE_BRACKET

# good enough
TVD_SPACE_ENCODED

# good enough
TVD_SPACE_RATIO_MINFP

# good enough
TVD_SUBJ_APPR_LOAN

# good enough
TVD_SUBJ_NUM_OBFU_MINFP

# good enough
TVD_VISIT_PHARMA

# 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
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_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

# good enough
URI_BUFFLY

# tflags publish
URI_DATA

# 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 userconf
URI_NOVOWEL

# tflags publish
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 publish
URI_WP_HACKED

# tflags publish
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_WHITELIST

# tflags userconf
USER_IN_WHITELIST_TO

# tflags publish
VPS_NO_NTLD

# tflags publish
XM_PHPMAILER_FORGED

# tflags publish
XPRIO

# tflags publish
XPRIO_SHORT_SUBJ

# good enough
YOU_INHERIT

# good enough
ZW_OBFU_BITCOIN
