about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--dictionaries/README.md3
-rw-r--r--dictionaries/aff.dict73
-rw-r--r--dictionaries/ass.dict112
-rw-r--r--dictionaries/atom.dict33
-rw-r--r--dictionaries/av1_dc.dict5
-rw-r--r--dictionaries/bash.dict152
-rw-r--r--dictionaries/bdf.dict30
-rw-r--r--dictionaries/bmp.dict10
-rw-r--r--dictionaries/bz2.dict3
-rw-r--r--dictionaries/creole.dict14
-rw-r--r--dictionaries/css.dict354
-rw-r--r--dictionaries/csv.dict6
-rw-r--r--dictionaries/dds.dict35
-rw-r--r--dictionaries/djvu.dict34
-rw-r--r--dictionaries/docommand.dict688
-rw-r--r--dictionaries/exif.dict222
-rw-r--r--dictionaries/fbs.dict42
-rw-r--r--dictionaries/graphviz.dict373
-rw-r--r--dictionaries/heif.dict76
-rw-r--r--dictionaries/hoextdown.dict49
-rw-r--r--dictionaries/http.dict119
-rw-r--r--dictionaries/icc.dict591
-rw-r--r--dictionaries/iccprofile.dict25
-rw-r--r--dictionaries/icns.dict43
-rw-r--r--dictionaries/initfile.dict688
-rw-r--r--dictionaries/jbig2.dict98
-rw-r--r--dictionaries/jpeg2000.dict22
-rw-r--r--dictionaries/json.dict9
-rw-r--r--dictionaries/jsonnet.dict60
-rw-r--r--dictionaries/markdown.dict28
-rw-r--r--dictionaries/math.dict20
-rw-r--r--dictionaries/mathml.dict279
-rw-r--r--dictionaries/mp4.dict82
-rw-r--r--dictionaries/mysqld.dict1
-rw-r--r--dictionaries/ogg.dict36
-rw-r--r--dictionaries/openexr.dict57
-rw-r--r--dictionaries/otf.dict963
-rw-r--r--dictionaries/pbm.dict29
-rw-r--r--dictionaries/pcap.dict10
-rw-r--r--dictionaries/proj4.dict249
-rw-r--r--dictionaries/protobuf.dict40
-rw-r--r--dictionaries/ps.dict433
-rw-r--r--dictionaries/psd.dict180
-rw-r--r--dictionaries/regexp.dict414
-rw-r--r--dictionaries/riff.dict17
-rw-r--r--dictionaries/rss.dict31
-rw-r--r--dictionaries/rst.dict21
-rw-r--r--dictionaries/rtf.dict419
-rw-r--r--dictionaries/sas.dict37
-rw-r--r--dictionaries/spss.dict46
-rw-r--r--dictionaries/stata.dict22
-rw-r--r--dictionaries/svg.dict170
-rw-r--r--dictionaries/tex.dict122
-rw-r--r--dictionaries/theme-load-fuzz.dict9
-rw-r--r--dictionaries/tokener_parse_ex.dict18
-rw-r--r--dictionaries/toml.dict22
-rw-r--r--dictionaries/type42.dict25
-rw-r--r--dictionaries/url.dict62
-rw-r--r--dictionaries/utf8.dict73
-rw-r--r--dictionaries/vcf.dict119
-rw-r--r--dictionaries/vhd.dict10
-rw-r--r--dictionaries/vpx_dec.dict8
-rw-r--r--dictionaries/wav.dict25
-rw-r--r--dictionaries/webm.dict152
-rw-r--r--dictionaries/wkt.dict35
-rw-r--r--dictionaries/x86.dict1885
-rw-r--r--dictionaries/xml_UTF_16.dict103
-rw-r--r--dictionaries/xml_UTF_16BE.dict103
-rw-r--r--dictionaries/xml_UTF_16LE.dict103
-rw-r--r--dictionaries/xpath.dict66
-rw-r--r--dictionaries/xslt.dict118
-rw-r--r--dictionaries/yaml.dict79
-rw-r--r--dictionaries/yara.dict196
-rw-r--r--dictionaries/zip.dict3
-rw-r--r--docs/Changelog.md1
75 files changed, 10677 insertions, 213 deletions
diff --git a/dictionaries/README.md b/dictionaries/README.md
index 6d529e45..616a83cc 100644
--- a/dictionaries/README.md
+++ b/dictionaries/README.md
@@ -8,6 +8,9 @@ grammar of some of the more verbose data formats or languages. The basic
 principle behind the operation of fuzzer dictionaries is outlined in section 10
 of the "main" README.md for the project.
 
+These sets were done by Michal Zalewski, various contributors, and imported
+from oss-fuzz, go-fuzz and libfuzzer.
+
 Custom dictionaries can be added at will. They should consist of a
 reasonably-sized set of rudimentary syntax units that the fuzzer will then try
 to clobber together in various ways. Snippets between 2 and 16 bytes are
diff --git a/dictionaries/aff.dict b/dictionaries/aff.dict
new file mode 100644
index 00000000..09dae5de
--- /dev/null
+++ b/dictionaries/aff.dict
@@ -0,0 +1,73 @@
+# https://www.systutorials.com/docs/linux/man/4-hunspell/
+
+# Affix keywords
+"AF"
+"AM"
+"BREAK"
+"CHECKCOMPOUNDCASE"
+"CHECKCOMPOUNDDUP"
+"CHECKCOMPOUNDPATTERN"
+"CHECKCOMPOUNDREP"
+"CHECKCOMPOUNDTRIPLE"
+"COMPLEXPREFIXES"
+"COMPOUNDBEGIN"
+"COMPOUNDFLAG"
+"COMPOUNDFORBIDFLAG"
+"COMPOUNDLAST"
+"COMPOUNDMIDDLE"
+"COMPOUNDMIN"
+"COMPOUNDPERMITFLAG"
+"COMPOUNDROOT"
+"COMPOUNDRULE"
+"COMPOUNDSYLLABLE"
+"COMPOUNDWORDMAX"
+"FLAG"
+"FORBIDWARN"
+"FORCEUCASE"
+"IGNORE"
+"KEY"
+"LANG"
+"MAP"
+"MAXCODSUGS"
+"MAXDIFF"
+"MAXNGRAMSUGS"
+"NOSPLITSUGS"
+"NOSUGGEST"
+"ONLYINCOMPOUND"
+"ONLYMAXDIFF"
+"PFX"
+"PHONE"
+"REP"
+"SET"
+"SFX"
+"SIMPLIFIEDTRIPLE"
+"SUGWITHDOTS"
+"SYLLABLENUM"
+"TRY"
+"WARN"
+"CIRCUMFIX"
+"FORBIDDENWORD"
+"FULLSTRIP"
+"KEEPCASE"
+"ICONV"
+"OCONV"
+"LEMMA_PRESENT"
+"NEEDAFFIX"
+"PSEUDOROOT"
+"SUBSTANDARD"
+"WORDCHARS"
+"CHECKSHARPS"
+
+# Optional data fields
+"ph:"
+"st:"
+"al:"
+"po:"
+"ds:"
+"is:"
+"ts:"
+"sp:"
+"pa:"
+"dp:"
+"ip:"
+"tp:"
diff --git a/dictionaries/ass.dict b/dictionaries/ass.dict
new file mode 100644
index 00000000..aa4f9b43
--- /dev/null
+++ b/dictionaries/ass.dict
@@ -0,0 +1,112 @@
+"0x"
+"\\1a"
+"\\2a"
+"\\2c"
+"\\3a"
+"\\3c"
+"\\4a"
+"\\4c"
+"\\a"
+"\\alpha"
+"\\an"
+"Arial"
+"\\b"
+"Banner;"
+"\\be"
+"\\blur"
+"\\bord"
+"\\c"
+"CFF"
+"CID Type 1"
+"\\clip"
+"clip"
+"Courier"
+"Courier New"
+"Default"
+"Dialogue:"
+"[Events]"
+"\\fade"
+"\\fax"
+"\\fay"
+"\\fe"
+"\\fn"
+"fontname:"
+"[Fonts]"
+"Format:"
+"\\frx"
+"\\fry"
+"\\frz"
+"\\fs"
+"\\fsc"
+"\\fscx"
+"\\fscy"
+"\\fsp"
+"&h"
+"Helvetica"
+"\\i"
+"\\iclip"
+"iclip"
+"\\k"
+"Kerning:"
+"Kerning"
+"\\kf"
+"\\ko"
+"Language:"
+"monospace"
+"\\move"
+"move"
+"none"
+"\\org"
+"org"
+"OverrideStyle"
+"\\p"
+"p"
+"\\pbo"
+"pbo"
+"pc.240m"
+"pc.601"
+"pc.709"
+"pc.fcc"
+"PlayResX:"
+"PlayResX"
+"PlayResY:"
+"PlayResY"
+"\\pos"
+"pos"
+"\\q"
+"\\r"
+"\\s"
+"sans-serif"
+"ScaledBorderAndShadow:"
+"ScaledBorderAndShadow"
+"[Script Info]"
+"Scroll down;"
+"Scroll up;"
+"serif"
+"\\shad"
+"Style:"
+"\\t"
+"Text"
+"Timer:"
+"Timer"
+"Times"
+"Times New Roman"
+"tv.240m"
+"tv.601"
+"tv.709"
+"tv.fcc"
+"Type 1"
+"Type 42"
+"\\u"
+"UTF-8"
+"[V4 Styles]"
+"[V4+ Styles]"
+"WrapStyle:"
+"WrapStyle"
+"\\xbord"
+"\\xshad"
+"\\ybord"
+"YCbCr Matrix:"
+"YCbCr Matrix"
+"yes"
+"\\yshad"
diff --git a/dictionaries/atom.dict b/dictionaries/atom.dict
new file mode 100644
index 00000000..e9e6884d
--- /dev/null
+++ b/dictionaries/atom.dict
@@ -0,0 +1,33 @@
+# https://validator.w3.org/feed/docs/atom.html
+# https://tools.ietf.org/html/rfc4287
+
+"<?xml version='1.0' encoding='utf-8'?>"
+"<feed xmlns='http://www.w3.org/2005/Atom'>"
+
+"<alternate>"
+"<author>"
+"<category>"
+"<content>"
+"<contributor>"
+"<email>"
+"<entry>"
+"<feed>"
+"<first>"
+"<generator>"
+"<icon>"
+"<id>"
+"<last>"
+"<link>"
+"<logo>"
+"<modified/>
+"<name>"
+"<next>"
+"<previous>"
+"<published>"
+"<rights>"
+"<source>"
+"<subtitle>"
+"<summary>"
+"<title>"
+"<updated>"
+"<uri>"
diff --git a/dictionaries/av1_dc.dict b/dictionaries/av1_dc.dict
new file mode 100644
index 00000000..fb163886
--- /dev/null
+++ b/dictionaries/av1_dc.dict
@@ -0,0 +1,5 @@
+# IVF Signature + version (bytes 0-5)
+kw1="DKIF\x00\x00"
+
+# AV1 codec fourCC (bytes 8-11)
+kw2="AV01"
diff --git a/dictionaries/bash.dict b/dictionaries/bash.dict
new file mode 100644
index 00000000..a70e9ff6
--- /dev/null
+++ b/dictionaries/bash.dict
@@ -0,0 +1,152 @@
+# Keywords taken from
+#  - https://www.gnu.org/software/bash/manual/html_node/Bash-Variables.html
+#  - https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Builtins.html
+#  - https://www.gnu.org/software/bash/manual/html_node/Bourne-Shell-Variables.html
+#  - https://www.gnu.org/software/bash/manual/html_node/Reserved-Word-Index.html
+
+"!"
+"."
+":"
+"["
+"[["
+"]]"
+"{"
+"}"
+"BASH"
+"BASH_ALIASES"
+"BASH_ARGC"
+"BASH_ARGV"
+"BASH_ARGV0"
+"BASH_CMDS"
+"BASH_COMMAND"
+"BASH_COMPAT"
+"BASH_ENV"
+"BASH_EXECUTION_STRING"
+"BASH_LINENO"
+"BASH_LOADABLES_PATH"
+"BASHOPTS"
+"BASHPID"
+"BASH_REMATCH"
+"BASH_SOURCE"
+"BASH_SUBSHELL"
+"BASH_VERSINFO"
+"BASH_VERSION"
+"BASH_XTRACEFD"
+"break"
+"case"
+"cd"
+"CDPATH"
+"CHILD_MAX"
+"COLUMNS"
+"COMP_CWORD"
+"COMP_KEY"
+"COMP_LINE"
+"COMP_POINT"
+"COMPREPLY"
+"COMP_TYPE"
+"COMP_WORDBREAKS"
+"COMP_WORDS"
+"continue"
+"COPROC"
+"DIRSTACK"
+"do"
+"done"
+"elif"
+"else"
+"EMACS"
+"ENV"
+"EPOCHREALTIME"
+"EPOCHSECONDS"
+"esac"
+"EUID"
+"eval"
+"exec"
+"EXECIGNORE"
+"exit"
+"export"
+"FCEDIT"
+"fi"
+"FIGNORE"
+"for"
+"FUNCNAME"
+"FUNCNEST"
+"function"
+"getopts"
+"GLOBIGNORE"
+"GROUPS"
+"hash"
+"histchars"
+"HISTCMD"
+"HISTCONTROL"
+"HISTFILE"
+"HISTFILESIZE"
+"HISTIGNORE"
+"HISTSIZE"
+"HISTTIMEFORMAT"
+"HOME"
+"HOSTFILE"
+"HOSTNAME"
+"HOSTTYPE"
+"if"
+"IFS"
+"IGNOREEOF"
+"in"
+"INPUTRC"
+"INSIDE_EMACS"
+"LANG"
+"LC_ALL"
+"LC_COLLATE"
+"LC_CTYPE"
+"LC_MESSAGES"
+"LC_NUMERIC"
+"LC_TIME"
+"LINENO"
+"LINES"
+"MACHTYPE"
+"MAIL"
+"MAILCHECK"
+"MAILPATH"
+"MAPFILE"
+"OLDPWD"
+"OPTARG"
+"OPTERR"
+"OPTIND"
+"OSTYPE"
+"PATH"
+"PIPESTATUS"
+"POSIXLY_CORRECT"
+"PPID"
+"PROMPT_COMMAND"
+"PROMPT_DIRTRIM"
+"PS0"
+"PS1"
+"PS2"
+"PS3"
+"PS4"
+"pwd"
+"PWD"
+"RANDOM"
+"READLINE_LINE"
+"READLINE_POINT"
+"readonly"
+"REPLY"
+"return"
+"SECONDS"
+"select"
+"SHELL"
+"SHELLOPTS"
+"shift"
+"SHLVL"
+"test"
+"then"
+"time"
+"TIMEFORMAT"
+"times"
+"TMOUT"
+"TMPDIR"
+"trap"
+"UID"
+"umask"
+"unset"
+"until"
+"while"
diff --git a/dictionaries/bdf.dict b/dictionaries/bdf.dict
new file mode 100644
index 00000000..953d1f1b
--- /dev/null
+++ b/dictionaries/bdf.dict
@@ -0,0 +1,30 @@
+# https://en.wikipedia.org/wiki/Glyph_Bitmap_Distribution_Format
+# https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5005.BDF_Spec.pdf
+
+"STARTFONT"
+"COMMENT"
+"CONTENTVERSION"
+"FONT"
+"SIZE"
+"FONTBOUNDINGBOX"
+"METRICSSET"
+"SWIDTH"
+"DWIDTH"
+"SWIDTH1"
+"DWIDTH1"
+"VVECTOR"
+"STARTPROPERTIES"
+"ENDPROPERTIES"
+"CHARS"
+"STARTCHAR"
+"ENCODING"
+"BBX"
+"BITMAP"
+"ENDCHAR"
+"ENDFONT"
+
+# misc
+"255"
+"-1"
+"0"
+"2.1"
diff --git a/dictionaries/bmp.dict b/dictionaries/bmp.dict
new file mode 100644
index 00000000..76458419
--- /dev/null
+++ b/dictionaries/bmp.dict
@@ -0,0 +1,10 @@
+windows="BM"
+os2_bitmap="BA"
+os2_icon="CI"
+os2_pointer="CP"
+os2_struct="IC"
+os2_ptr="PT"
+windows_color_space="Win "
+srgb="sRGB"
+link="LINK"
+mbed="MBED"
\ No newline at end of file
diff --git a/dictionaries/bz2.dict b/dictionaries/bz2.dict
new file mode 100644
index 00000000..32db6d70
--- /dev/null
+++ b/dictionaries/bz2.dict
@@ -0,0 +1,3 @@
+magic="BZ"
+compress_magic="\x31\x41\x59\x26\x53\x59"
+eos_magic="\x17\x72\x45\x38\x50\x90"
\ No newline at end of file
diff --git a/dictionaries/creole.dict b/dictionaries/creole.dict
new file mode 100644
index 00000000..65a9909a
--- /dev/null
+++ b/dictionaries/creole.dict
@@ -0,0 +1,14 @@
+# http://www.wikicreole.org/wiki/Creole1.0
+
+bold="**"
+italic="//"
+heading="=="
+link1="[[a|b]]"
+link2="[[a:b]]"
+hr="----"
+img=" {{a|b}}"
+table_heading="|=a |=b |"
+raw="{{{a}}}"
+escape="~"
+placeholder="<<<x>>>"
+line_break="\\\\"
diff --git a/dictionaries/css.dict b/dictionaries/css.dict
new file mode 100644
index 00000000..92fa536c
--- /dev/null
+++ b/dictionaries/css.dict
@@ -0,0 +1,354 @@
+# https://en.wikipedia.org/wiki/Cascading_Style_Sheets
+
+# selectors
+"::after"
+"::before"
+"::first-letter"
+"::first-line"
+"::placeholder"
+"::selection"
+":active"
+":checked"
+":default"
+":disabled"
+":empty"
+":enabled"
+":first-child"
+":first-of-type"
+":focus"
+":hover"
+":in-range"
+":indeterminate"
+":invalid"
+":lang("
+":last-child"
+":last-of-type"
+":link"
+":not("
+":nth-child("
+":nth-last-child("
+":nth-last-of-type("
+":nth-of-type("
+":only-child"
+":only-of-type"
+":optional"
+":out-of-range"
+":read-only"
+":read-write"
+":required"
+":root"
+":target"
+":valid"
+":visited"
+
+# units
+"ch"
+"cm"
+"em"
+"ex"
+"in"
+"mm"
+"pc"
+"pt"
+"px"
+"rem"
+"vh"
+"vmax"
+"vmin"
+"vw"
+
+# functions
+"attr("
+"calc("
+"cubic-bezier("
+"hsl("
+"hsls("
+"linear-gradient("
+"radial-gradient("
+"repeating-linear-gradient("
+"repeating-radial-gradient("
+"rgb("
+"rgba("
+"var("
+
+# prefixes
+"-moz"
+"-webkit"
+
+# properties
+"@charset"
+"@font-face"
+"@font-feature-values"
+"@import"
+"@keyframes"
+"@media"
+"align-items"
+"align-self"
+"all"
+"animation"
+"animation-delay"
+"animation-direction"
+"animation-duration"
+"animation-fill-mode"
+"animation-iteration-count"
+"animation-name"
+"animation-play-state"
+"animation-timing-function"
+"backface-visibility"
+"background"
+"background-attachment"
+"background-blend-mode"
+"background-clip"
+"background-color"
+"background-image"
+"background-origin"
+"background-position"
+"background-repeat"
+"background-size"
+"border"
+"border-bottom"
+"border-bottom-color"
+"border-bottom-left-radius"
+"border-bottom-right-radius"
+"border-bottom-style"
+"border-bottom-width"
+"border-collapse"
+"border-color"
+"border-image"
+"border-image-outset"
+"border-image-repeat"
+"border-image-slice"
+"border-image-source"
+"border-image-width"
+"border-left"
+"border-left-color"
+"border-left-style"
+"border-left-width"
+"border-radius"
+"border-right"
+"border-right-color"
+"border-right-style"
+"border-right-width"
+"border-spacing"
+"border-style"
+"border-top"
+"border-top-color"
+"border-top-left-radius"
+"border-top-right-radius"
+"border-top-style"
+"border-top-width"
+"border-width"
+"bottom"
+"box-decoration-break"
+"box-shadow"
+"box-sizing"
+"break-after"
+"break-before"
+"break-inside"
+"caption-side"
+"caret-color"
+"clear"
+"clip"
+"color"
+"column-count"
+"column-fill"
+"column-gap"
+"column-rule"
+"column-rule-color"
+"column-rule-style"
+"column-rule-width"
+"column-span"
+"column-width"
+"columns"
+"content"
+"counter-increment"
+"counter-reset"
+"cursor"
+"direction"
+"display"
+"empty-cells"
+"filter"
+"flex"
+"flex-basis"
+"flex-direction"
+"flex-flow"
+"flex-grow"
+"flex-shrink"
+"flex-wrap"
+"float"
+"font"
+"font-family"
+"font-feature-settings"
+"font-kerning"
+"font-language-override"
+"font-size"
+"font-size-adjust"
+"font-stretch"
+"font-style"
+"font-synthesis"
+"font-variant"
+"font-variant-alternates"
+"font-variant-caps"
+"font-variant-east-asian"
+"font-variant-ligatures"
+"font-variant-numeric"
+"font-variant-position"
+"font-weight"
+"from"
+"grid"
+"grid-area"
+"grid-auto-columns"
+"grid-auto-flow"
+"grid-auto-rows"
+"grid-column"
+"grid-column-end"
+"grid-column-gap"
+"grid-column-start"
+"grid-gap"
+"grid-row"
+"grid-row-end"
+"grid-row-gap"
+"grid-row-start"
+"grid-template"
+"grid-template-areas"
+"grid-template-columns"
+"grid-template-rows"
+"hanging-punctuation"
+"height"
+"hyphens"
+"image-rendering"
+"isolation"
+"justify-content"
+"left"
+"letter-spacing"
+"line-break"
+"line-height"
+"list-style"
+"list-style-image"
+"list-style-position"
+"list-style-type"
+"margin"
+"margin-bottom"
+"margin-left"
+"margin-right"
+"margin-top"
+"max-height"
+"max-width"
+"min-height"
+"min-width"
+"mix-blend-mode"
+"object-fit"
+"object-position"
+"opacity"
+"order"
+"orphans"
+"outline"
+"outline-color"
+"outline-offset"
+"outline-style"
+"outline-width"
+"overflow"
+"overflow-wrap"
+"overflow-x"
+"overflow-y"
+"padding"
+"padding-bottom"
+"padding-left"
+"padding-right"
+"padding-top"
+"page-break-after"
+"page-break-before"
+"page-break-inside"
+"perspective"
+"perspective-origin"
+"pointer-events"
+"position"
+"quotes"
+"resize"
+"right"
+"scroll-behavior"
+"tab-size"
+"table-layout"
+"text-align"
+"text-align-last"
+"text-combine-upright"
+"text-decoration"
+"text-decoration-color"
+"text-decoration-line"
+"text-decoration-style"
+"text-indent"
+"text-justify"
+"text-orientation"
+"text-overflow"
+"text-shadow"
+"text-transform"
+"text-underline-position"
+"to"
+"top"
+"transform"
+"transform-origin"
+"transform-style"
+"transition"
+"transition-delay"
+"transition-duration"
+"transition-property"
+"transition-timing-function"
+"unicode-bidi"
+"user-select"
+"vertical-align"
+"visibility"
+"white-space"
+"widows"
+"width"
+"word-break"
+"word-spacing"
+"word-wrap"
+"writing-mode"
+"z-index"
+
+
+# aural - https://www.w3schools.com/cssref/css_ref_aural.asp
+"above"
+"azimuth"
+"below"
+"center"
+"code"
+"continuous"
+"cue"
+"cue-after"
+"cue-before"
+"elevation"
+"generic-voice"
+"left"
+"left-side"
+"leftwards"
+"lower"
+"medium"
+"mix"
+"none"
+"once"
+"pause"
+"pause-after"
+"pause-before"
+"pitch"
+"pitch-range"
+"play-during"
+"richness"
+"right"
+"right-side"
+"slower"
+"speak"
+"speak-header"
+"speak-numeral"
+"speak-punctuation"
+"speech-rate"
+"stress"
+"url"
+"voice-family"
+"volume"
+"x-fast"
+"x-high"
+"x-loud"
+"x-low"
+"x-slow"
+"x-soft"
diff --git a/dictionaries/csv.dict b/dictionaries/csv.dict
new file mode 100644
index 00000000..6ca621cd
--- /dev/null
+++ b/dictionaries/csv.dict
@@ -0,0 +1,6 @@
+"\x00"
+"\r\n"
+";;"
+",,"
+"\t;"
+"\n;"
\ No newline at end of file
diff --git a/dictionaries/dds.dict b/dictionaries/dds.dict
new file mode 100644
index 00000000..c064eadd
--- /dev/null
+++ b/dictionaries/dds.dict
@@ -0,0 +1,35 @@
+# See http://www.mindcontrol.org/~hplus/graphics/dds-info/
+
+magic="\x20\x53\x44\x44"
+
+# Headers
+"\x00\x00\x00\x01"
+"\x00\x00\x00\x02"
+"\x00\x00\x00\x04"
+"\x00\x00\x00\x08"
+"\x00\x00\x10\x00"
+"\x00\x02\x00\x00"
+"\x00\x08\x00\x00"
+"\x00\x80\x00\x00"
+"\x00\x00\x00\x01"
+"\x00\x00\x00\x04"
+"\x00\x00\x00\x20"
+"\x00\x00\x00\x40"
+"\x00\x00\x00\x08"
+"\x00\x00\x10\x00"
+"\x00\x40\x00\x00"
+"\x00\x00\x02\x00"
+"\x00\x00\x04\x00"
+"\x00\x00\x08\x00"
+"\x00\x00\x10\x00"
+"\x00\x00\x20\x00"
+"\x00\x00\x40\x00"
+"\x00\x00\x80\x00"
+"\x00\x20\x00\x00"
+
+#formats
+"1TXD"
+"2TXD"
+"3TXD"
+"4TXD"
+"5TXD"
\ No newline at end of file
diff --git a/dictionaries/djvu.dict b/dictionaries/djvu.dict
new file mode 100644
index 00000000..1fb8d3ba
--- /dev/null
+++ b/dictionaries/djvu.dict
@@ -0,0 +1,34 @@
+"ANTa"
+"ANTz"
+"BG2k"
+"BG44"
+"BGjp"
+"BM44"
+"CELX"
+"DIRM"
+"DJVI"
+"DJVM"
+"DJVU"
+"Djbz"
+"FAKE"
+"FG2k"
+"FG44"
+"FGbz"
+"FGjp"
+"FORM"
+"INCL"
+"INFO"
+"LINK"
+"METa"
+"METz"
+"NAVM"
+"NDIR"
+"PM44"
+"SINF"
+"Sjbz"
+"Smmr"
+"TH44"
+"THUM"
+"TXTa"
+"TXTz"
+"WMRM"
diff --git a/dictionaries/docommand.dict b/dictionaries/docommand.dict
new file mode 100644
index 00000000..2d88ebc0
--- /dev/null
+++ b/dictionaries/docommand.dict
@@ -0,0 +1,688 @@
+#SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS;
+ACCESSIBLE="ACCESSIBLE"
+ACCOUNT="ACCOUNT"
+ACTION="ACTION"
+ACTIVE="ACTIVE"
+ADD="ADD"
+ADMIN="ADMIN"
+AFTER="AFTER"
+AGAINST="AGAINST"
+AGGREGATE="AGGREGATE"
+ALGORITHM="ALGORITHM"
+ALL="ALL"
+ALTER="ALTER"
+ALWAYS="ALWAYS"
+ANALYZE="ANALYZE"
+AND="AND"
+ANY="ANY"
+AS="AS"
+ASC="ASC"
+ASCII="ASCII"
+ASENSITIVE="ASENSITIVE"
+AT="AT"
+AUTOEXTEND_SIZE="AUTOEXTEND_SIZE"
+AUTO_INCREMENT="AUTO_INCREMENT"
+AVG="AVG"
+AVG_ROW_LENGTH="AVG_ROW_LENGTH"
+BACKUP="BACKUP"
+BEFORE="BEFORE"
+BEGIN="BEGIN"
+BETWEEN="BETWEEN"
+BIGINT="BIGINT"
+BINARY="BINARY"
+BINLOG="BINLOG"
+BIT="BIT"
+BLOB="BLOB"
+BLOCK="BLOCK"
+BOOL="BOOL"
+BOOLEAN="BOOLEAN"
+BOTH="BOTH"
+BTREE="BTREE"
+BUCKETS="BUCKETS"
+BY="BY"
+BYTE="BYTE"
+CACHE="CACHE"
+CALL="CALL"
+CASCADE="CASCADE"
+CASCADED="CASCADED"
+CASE="CASE"
+CATALOG_NAME="CATALOG_NAME"
+CHAIN="CHAIN"
+CHANGE="CHANGE"
+CHANGED="CHANGED"
+CHANNEL="CHANNEL"
+CHAR="CHAR"
+CHARACTER="CHARACTER"
+CHARSET="CHARSET"
+CHECK="CHECK"
+CHECKSUM="CHECKSUM"
+CIPHER="CIPHER"
+CLASS_ORIGIN="CLASS_ORIGIN"
+CLIENT="CLIENT"
+CLONE="CLONE"
+CLOSE="CLOSE"
+COALESCE="COALESCE"
+CODE="CODE"
+COLLATE="COLLATE"
+COLLATION="COLLATION"
+COLUMN="COLUMN"
+COLUMNS="COLUMNS"
+COLUMN_FORMAT="COLUMN_FORMAT"
+COLUMN_NAME="COLUMN_NAME"
+COMMENT="COMMENT"
+COMMIT="COMMIT"
+COMMITTED="COMMITTED"
+COMPACT="COMPACT"
+COMPLETION="COMPLETION"
+COMPONENT="COMPONENT"
+COMPRESSED="COMPRESSED"
+COMPRESSION="COMPRESSION"
+CONCURRENT="CONCURRENT"
+CONDITION="CONDITION"
+CONNECTION="CONNECTION"
+CONSISTENT="CONSISTENT"
+CONSTRAINT="CONSTRAINT"
+CONSTRAINT_CATALOG="CONSTRAINT_CATALOG"
+CONSTRAINT_NAME="CONSTRAINT_NAME"
+CONSTRAINT_SCHEMA="CONSTRAINT_SCHEMA"
+CONTAINS="CONTAINS"
+CONTEXT="CONTEXT"
+CONTINUE="CONTINUE"
+CONVERT="CONVERT"
+CPU="CPU"
+CREATE="CREATE"
+CROSS="CROSS"
+CUBE="CUBE"
+CUME_DIST="CUME_DIST"
+CURRENT="CURRENT"
+CURRENT_DATE="CURRENT_DATE"
+CURRENT_TIME="CURRENT_TIME"
+CURRENT_TIMESTAMP="CURRENT_TIMESTAMP"
+CURRENT_USER="CURRENT_USER"
+CURSOR="CURSOR"
+CURSOR_NAME="CURSOR_NAME"
+DATA="DATA"
+DATABASE="DATABASE"
+DATABASES="DATABASES"
+DATAFILE="DATAFILE"
+DATE="DATE"
+DATETIME="DATETIME"
+DAY="DAY"
+DAY_HOUR="DAY_HOUR"
+DAY_MICROSECOND="DAY_MICROSECOND"
+DAY_MINUTE="DAY_MINUTE"
+DAY_SECOND="DAY_SECOND"
+DEALLOCATE="DEALLOCATE"
+DEC="DEC"
+DECIMAL="DECIMAL"
+DECLARE="DECLARE"
+DEFAULT="DEFAULT"
+DEFAULT_AUTH="DEFAULT_AUTH"
+DEFINER="DEFINER"
+DEFINITION="DEFINITION"
+DELAYED="DELAYED"
+DELAY_KEY_WRITE="DELAY_KEY_WRITE"
+DELETE="DELETE"
+DENSE_RANK="DENSE_RANK"
+DESC="DESC"
+DESCRIBE="DESCRIBE"
+DESCRIPTION="DESCRIPTION"
+DETERMINISTIC="DETERMINISTIC"
+DIAGNOSTICS="DIAGNOSTICS"
+DIRECTORY="DIRECTORY"
+DISABLE="DISABLE"
+DISCARD="DISCARD"
+DISK="DISK"
+DISTINCT="DISTINCT"
+DISTINCTROW="DISTINCTROW"
+DIV="DIV"
+DO="DO"
+DOUBLE="DOUBLE"
+DROP="DROP"
+DUAL="DUAL"
+DUMPFILE="DUMPFILE"
+DUPLICATE="DUPLICATE"
+DYNAMIC="DYNAMIC"
+EACH="EACH"
+ELSE="ELSE"
+ELSEIF="ELSEIF"
+EMPTY="EMPTY"
+ENABLE="ENABLE"
+ENCLOSED="ENCLOSED"
+ENCRYPTION="ENCRYPTION"
+END="END"
+ENDS="ENDS"
+ENFORCED="ENFORCED"
+ENGINE="ENGINE"
+ENGINES="ENGINES"
+ENUM="ENUM"
+ERROR="ERROR"
+ERRORS="ERRORS"
+ESCAPE="ESCAPE"
+ESCAPED="ESCAPED"
+EVENT="EVENT"
+EVENTS="EVENTS"
+EVERY="EVERY"
+EXCEPT="EXCEPT"
+EXCHANGE="EXCHANGE"
+EXCLUDE="EXCLUDE"
+EXECUTE="EXECUTE"
+EXISTS="EXISTS"
+EXIT="EXIT"
+EXPANSION="EXPANSION"
+EXPIRE="EXPIRE"
+EXPLAIN="EXPLAIN"
+EXPORT="EXPORT"
+EXTENDED="EXTENDED"
+EXTENT_SIZE="EXTENT_SIZE"
+FALSE="FALSE"
+FAST="FAST"
+FAULTS="FAULTS"
+FETCH="FETCH"
+FIELDS="FIELDS"
+FILE="FILE"
+FILE_BLOCK_SIZE="FILE_BLOCK_SIZE"
+FILTER="FILTER"
+FIRST="FIRST"
+FIRST_VALUE="FIRST_VALUE"
+FIXED="FIXED"
+FLOAT="FLOAT"
+FLOAT4="FLOAT4"
+FLOAT8="FLOAT8"
+FLUSH="FLUSH"
+FOLLOWING="FOLLOWING"
+FOLLOWS="FOLLOWS"
+FOR="FOR"
+FORCE="FORCE"
+FOREIGN="FOREIGN"
+FORMAT="FORMAT"
+FOUND="FOUND"
+FROM="FROM"
+FULL="FULL"
+FULLTEXT="FULLTEXT"
+FUNCTION="FUNCTION"
+GENERAL="GENERAL"
+GENERATED="GENERATED"
+GEOMCOLLECTION="GEOMCOLLECTION"
+GEOMETRY="GEOMETRY"
+GEOMETRYCOLLECTION="GEOMETRYCOLLECTION"
+GET="GET"
+GET_FORMAT="GET_FORMAT"
+GET_MASTER_PUBLIC_KEY="GET_MASTER_PUBLIC_KEY"
+GLOBAL="GLOBAL"
+GRANT="GRANT"
+GRANTS="GRANTS"
+GROUP="GROUP"
+GROUPING="GROUPING"
+GROUPS="GROUPS"
+GROUP_REPLICATION="GROUP_REPLICATION"
+HANDLER="HANDLER"
+HASH="HASH"
+HAVING="HAVING"
+HELP="HELP"
+HIGH_PRIORITY="HIGH_PRIORITY"
+HISTOGRAM="HISTOGRAM"
+HISTORY="HISTORY"
+HOST="HOST"
+HOSTS="HOSTS"
+HOUR="HOUR"
+HOUR_MICROSECOND="HOUR_MICROSECOND"
+HOUR_MINUTE="HOUR_MINUTE"
+HOUR_SECOND="HOUR_SECOND"
+IDENTIFIED="IDENTIFIED"
+IF="IF"
+IGNORE="IGNORE"
+IGNORE_SERVER_IDS="IGNORE_SERVER_IDS"
+IMPORT="IMPORT"
+IN="IN"
+INACTIVE="INACTIVE"
+INDEX="INDEX"
+INDEXES="INDEXES"
+INFILE="INFILE"
+INITIAL_SIZE="INITIAL_SIZE"
+INNER="INNER"
+INOUT="INOUT"
+INSENSITIVE="INSENSITIVE"
+INSERT="INSERT"
+INSERT_METHOD="INSERT_METHOD"
+INSTALL="INSTALL"
+INSTANCE="INSTANCE"
+INT="INT"
+INT1="INT1"
+INT2="INT2"
+INT3="INT3"
+INT4="INT4"
+INT8="INT8"
+INTEGER="INTEGER"
+INTERVAL="INTERVAL"
+INTO="INTO"
+INVISIBLE="INVISIBLE"
+INVOKER="INVOKER"
+IO="IO"
+IO_AFTER_GTIDS="IO_AFTER_GTIDS"
+IO_BEFORE_GTIDS="IO_BEFORE_GTIDS"
+IO_THREAD="IO_THREAD"
+IPC="IPC"
+IS="IS"
+ISOLATION="ISOLATION"
+ISSUER="ISSUER"
+ITERATE="ITERATE"
+JOIN="JOIN"
+JSON="JSON"
+JSON_TABLE="JSON_TABLE"
+KEY="KEY"
+KEYS="KEYS"
+KEY_BLOCK_SIZE="KEY_BLOCK_SIZE"
+KILL="KILL"
+LAG="LAG"
+LANGUAGE="LANGUAGE"
+LAST="LAST"
+LAST_VALUE="LAST_VALUE"
+LATERAL="LATERAL"
+LEAD="LEAD"
+LEADING="LEADING"
+LEAVE="LEAVE"
+LEAVES="LEAVES"
+LEFT="LEFT"
+LESS="LESS"
+LEVEL="LEVEL"
+LIKE="LIKE"
+LIMIT="LIMIT"
+LINEAR="LINEAR"
+LINES="LINES"
+LINESTRING="LINESTRING"
+LIST="LIST"
+LOAD="LOAD"
+LOCAL="LOCAL"
+LOCALTIME="LOCALTIME"
+LOCALTIMESTAMP="LOCALTIMESTAMP"
+LOCK="LOCK"
+LOCKED="LOCKED"
+LOCKS="LOCKS"
+LOGFILE="LOGFILE"
+LOGS="LOGS"
+LONG="LONG"
+LONGBLOB="LONGBLOB"
+LONGTEXT="LONGTEXT"
+LOOP="LOOP"
+LOW_PRIORITY="LOW_PRIORITY"
+MASTER="MASTER"
+MASTER_AUTO_POSITION="MASTER_AUTO_POSITION"
+MASTER_BIND="MASTER_BIND"
+MASTER_CONNECT_RETRY="MASTER_CONNECT_RETRY"
+MASTER_DELAY="MASTER_DELAY"
+MASTER_HEARTBEAT_PERIOD="MASTER_HEARTBEAT_PERIOD"
+MASTER_HOST="MASTER_HOST"
+MASTER_LOG_FILE="MASTER_LOG_FILE"
+MASTER_LOG_POS="MASTER_LOG_POS"
+MASTER_PASSWORD="MASTER_PASSWORD"
+MASTER_PORT="MASTER_PORT"
+MASTER_PUBLIC_KEY_PATH="MASTER_PUBLIC_KEY_PATH"
+MASTER_RETRY_COUNT="MASTER_RETRY_COUNT"
+MASTER_SERVER_ID="MASTER_SERVER_ID"
+MASTER_SSL="MASTER_SSL"
+MASTER_SSL_CA="MASTER_SSL_CA"
+MASTER_SSL_CAPATH="MASTER_SSL_CAPATH"
+MASTER_SSL_CERT="MASTER_SSL_CERT"
+MASTER_SSL_CIPHER="MASTER_SSL_CIPHER"
+MASTER_SSL_CRL="MASTER_SSL_CRL"
+MASTER_SSL_CRLPATH="MASTER_SSL_CRLPATH"
+MASTER_SSL_KEY="MASTER_SSL_KEY"
+MASTER_SSL_VERIFY_SERVER_CERT="MASTER_SSL_VERIFY_SERVER_CERT"
+MASTER_TLS_VERSION="MASTER_TLS_VERSION"
+MASTER_USER="MASTER_USER"
+MATCH="MATCH"
+MAXVALUE="MAXVALUE"
+MAX_CONNECTIONS_PER_HOUR="MAX_CONNECTIONS_PER_HOUR"
+MAX_QUERIES_PER_HOUR="MAX_QUERIES_PER_HOUR"
+MAX_ROWS="MAX_ROWS"
+MAX_SIZE="MAX_SIZE"
+MAX_UPDATES_PER_HOUR="MAX_UPDATES_PER_HOUR"
+MAX_USER_CONNECTIONS="MAX_USER_CONNECTIONS"
+MEDIUM="MEDIUM"
+MEDIUMBLOB="MEDIUMBLOB"
+MEDIUMINT="MEDIUMINT"
+MEDIUMTEXT="MEDIUMTEXT"
+MEMORY="MEMORY"
+MERGE="MERGE"
+MESSAGE_TEXT="MESSAGE_TEXT"
+MICROSECOND="MICROSECOND"
+MIDDLEINT="MIDDLEINT"
+MIGRATE="MIGRATE"
+MINUTE="MINUTE"
+MINUTE_MICROSECOND="MINUTE_MICROSECOND"
+MINUTE_SECOND="MINUTE_SECOND"
+MIN_ROWS="MIN_ROWS"
+MOD="MOD"
+MODE="MODE"
+MODIFIES="MODIFIES"
+MODIFY="MODIFY"
+MONTH="MONTH"
+MULTILINESTRING="MULTILINESTRING"
+MULTIPOINT="MULTIPOINT"
+MULTIPOLYGON="MULTIPOLYGON"
+MUTEX="MUTEX"
+MYSQL_ERRNO="MYSQL_ERRNO"
+NAME="NAME"
+NAMES="NAMES"
+NATIONAL="NATIONAL"
+NATURAL="NATURAL"
+NCHAR="NCHAR"
+NDB="NDB"
+NDBCLUSTER="NDBCLUSTER"
+NESTED="NESTED"
+NETWORK_NAMESPACE="NETWORK_NAMESPACE"
+NEVER="NEVER"
+NEW="NEW"
+NEXT="NEXT"
+NO="NO"
+NODEGROUP="NODEGROUP"
+NONE="NONE"
+NOT="NOT"
+NOWAIT="NOWAIT"
+NO_WAIT="NO_WAIT"
+NO_WRITE_TO_BINLOG="NO_WRITE_TO_BINLOG"
+NTH_VALUE="NTH_VALUE"
+NTILE="NTILE"
+NULL="NULL"
+NULLS="NULLS"
+NUMBER="NUMBER"
+NUMERIC="NUMERIC"
+NVARCHAR="NVARCHAR"
+OF="OF"
+OFFSET="OFFSET"
+OJ="OJ"
+OLD="OLD"
+ON="ON"
+ONE="ONE"
+ONLY="ONLY"
+OPEN="OPEN"
+OPTIMIZE="OPTIMIZE"
+OPTIMIZER_COSTS="OPTIMIZER_COSTS"
+OPTION="OPTION"
+OPTIONAL="OPTIONAL"
+OPTIONALLY="OPTIONALLY"
+OPTIONS="OPTIONS"
+OR="OR"
+ORDER="ORDER"
+ORDINALITY="ORDINALITY"
+ORGANIZATION="ORGANIZATION"
+OTHERS="OTHERS"
+OUT="OUT"
+OUTER="OUTER"
+OUTFILE="OUTFILE"
+OVER="OVER"
+OWNER="OWNER"
+PACK_KEYS="PACK_KEYS"
+PAGE="PAGE"
+PARSER="PARSER"
+PARTIAL="PARTIAL"
+PARTITION="PARTITION"
+PARTITIONING="PARTITIONING"
+PARTITIONS="PARTITIONS"
+PASSWORD="PASSWORD"
+PATH="PATH"
+PERCENT_RANK="PERCENT_RANK"
+PERSIST="PERSIST"
+PERSIST_ONLY="PERSIST_ONLY"
+PHASE="PHASE"
+PLUGIN="PLUGIN"
+PLUGINS="PLUGINS"
+PLUGIN_DIR="PLUGIN_DIR"
+POINT="POINT"
+POLYGON="POLYGON"
+PORT="PORT"
+PRECEDES="PRECEDES"
+PRECEDING="PRECEDING"
+PRECISION="PRECISION"
+PREPARE="PREPARE"
+PRESERVE="PRESERVE"
+PREV="PREV"
+PRIMARY="PRIMARY"
+PRIVILEGES="PRIVILEGES"
+PROCEDURE="PROCEDURE"
+PROCESS="PROCESS"
+PROCESSLIST="PROCESSLIST"
+PROFILE="PROFILE"
+PROFILES="PROFILES"
+PROXY="PROXY"
+PURGE="PURGE"
+QUARTER="QUARTER"
+QUERY="QUERY"
+QUICK="QUICK"
+RANGE="RANGE"
+RANK="RANK"
+READ="READ"
+READS="READS"
+READ_ONLY="READ_ONLY"
+READ_WRITE="READ_WRITE"
+REAL="REAL"
+REBUILD="REBUILD"
+RECOVER="RECOVER"
+RECURSIVE="RECURSIVE"
+REDO_BUFFER_SIZE="REDO_BUFFER_SIZE"
+REDUNDANT="REDUNDANT"
+REFERENCE="REFERENCE"
+REFERENCES="REFERENCES"
+REGEXP="REGEXP"
+RELAY="RELAY"
+RELAYLOG="RELAYLOG"
+RELAY_LOG_FILE="RELAY_LOG_FILE"
+RELAY_LOG_POS="RELAY_LOG_POS"
+RELAY_THREAD="RELAY_THREAD"
+RELEASE="RELEASE"
+RELOAD="RELOAD"
+REMOVE="REMOVE"
+RENAME="RENAME"
+REORGANIZE="REORGANIZE"
+REPAIR="REPAIR"
+REPEAT="REPEAT"
+REPEATABLE="REPEATABLE"
+REPLACE="REPLACE"
+REPLICATE_DO_DB="REPLICATE_DO_DB"
+REPLICATE_DO_TABLE="REPLICATE_DO_TABLE"
+REPLICATE_IGNORE_DB="REPLICATE_IGNORE_DB"
+REPLICATE_IGNORE_TABLE="REPLICATE_IGNORE_TABLE"
+REPLICATE_REWRITE_DB="REPLICATE_REWRITE_DB"
+REPLICATE_WILD_DO_TABLE="REPLICATE_WILD_DO_TABLE"
+REPLICATE_WILD_IGNORE_TABLE="REPLICATE_WILD_IGNORE_TABLE"
+REPLICATION="REPLICATION"
+REQUIRE="REQUIRE"
+RESET="RESET"
+RESIGNAL="RESIGNAL"
+RESOURCE="RESOURCE"
+RESPECT="RESPECT"
+RESTART="RESTART"
+RESTORE="RESTORE"
+RESTRICT="RESTRICT"
+RESUME="RESUME"
+RETAIN="RETAIN"
+RETURN="RETURN"
+RETURNED_SQLSTATE="RETURNED_SQLSTATE"
+RETURNS="RETURNS"
+REUSE="REUSE"
+REVERSE="REVERSE"
+REVOKE="REVOKE"
+RIGHT="RIGHT"
+RLIKE="RLIKE"
+ROLE="ROLE"
+ROLLBACK="ROLLBACK"
+ROLLUP="ROLLUP"
+ROTATE="ROTATE"
+ROUTINE="ROUTINE"
+ROW="ROW"
+ROWS="ROWS"
+ROW_COUNT="ROW_COUNT"
+ROW_FORMAT="ROW_FORMAT"
+ROW_NUMBER="ROW_NUMBER"
+RTREE="RTREE"
+SAVEPOINT="SAVEPOINT"
+SCHEDULE="SCHEDULE"
+SCHEMA="SCHEMA"
+SCHEMAS="SCHEMAS"
+SCHEMA_NAME="SCHEMA_NAME"
+SECOND="SECOND"
+SECONDARY="SECONDARY"
+SECONDARY_ENGINE="SECONDARY_ENGINE"
+SECONDARY_LOAD="SECONDARY_LOAD"
+SECONDARY_UNLOAD="SECONDARY_UNLOAD"
+SECOND_MICROSECOND="SECOND_MICROSECOND"
+SECURITY="SECURITY"
+SELECT="SELECT"
+SENSITIVE="SENSITIVE"
+SEPARATOR="SEPARATOR"
+SERIAL="SERIAL"
+SERIALIZABLE="SERIALIZABLE"
+SERVER="SERVER"
+SESSION="SESSION"
+SET="SET"
+SHARE="SHARE"
+SHOW="SHOW"
+SHUTDOWN="SHUTDOWN"
+SIGNAL="SIGNAL"
+SIGNED="SIGNED"
+SIMPLE="SIMPLE"
+SKIP="SKIP"
+SLAVE="SLAVE"
+SLOW="SLOW"
+SMALLINT="SMALLINT"
+SNAPSHOT="SNAPSHOT"
+SOCKET="SOCKET"
+SOME="SOME"
+SONAME="SONAME"
+SOUNDS="SOUNDS"
+SOURCE="SOURCE"
+SPATIAL="SPATIAL"
+SPECIFIC="SPECIFIC"
+SQL="SQL"
+SQLEXCEPTION="SQLEXCEPTION"
+SQLSTATE="SQLSTATE"
+SQLWARNING="SQLWARNING"
+SQL_AFTER_GTIDS="SQL_AFTER_GTIDS"
+SQL_AFTER_MTS_GAPS="SQL_AFTER_MTS_GAPS"
+SQL_BEFORE_GTIDS="SQL_BEFORE_GTIDS"
+SQL_BIG_RESULT="SQL_BIG_RESULT"
+SQL_BUFFER_RESULT="SQL_BUFFER_RESULT"
+SQL_CALC_FOUND_ROWS="SQL_CALC_FOUND_ROWS"
+SQL_NO_CACHE="SQL_NO_CACHE"
+SQL_SMALL_RESULT="SQL_SMALL_RESULT"
+SQL_THREAD="SQL_THREAD"
+SQL_TSI_DAY="SQL_TSI_DAY"
+SQL_TSI_HOUR="SQL_TSI_HOUR"
+SQL_TSI_MINUTE="SQL_TSI_MINUTE"
+SQL_TSI_MONTH="SQL_TSI_MONTH"
+SQL_TSI_QUARTER="SQL_TSI_QUARTER"
+SQL_TSI_SECOND="SQL_TSI_SECOND"
+SQL_TSI_WEEK="SQL_TSI_WEEK"
+SQL_TSI_YEAR="SQL_TSI_YEAR"
+SRID="SRID"
+SSL="SSL"
+STACKED="STACKED"
+START="START"
+STARTING="STARTING"
+STARTS="STARTS"
+STATS_AUTO_RECALC="STATS_AUTO_RECALC"
+STATS_PERSISTENT="STATS_PERSISTENT"
+STATS_SAMPLE_PAGES="STATS_SAMPLE_PAGES"
+STATUS="STATUS"
+STOP="STOP"
+STORAGE="STORAGE"
+STORED="STORED"
+STRAIGHT_JOIN="STRAIGHT_JOIN"
+STRING="STRING"
+SUBCLASS_ORIGIN="SUBCLASS_ORIGIN"
+SUBJECT="SUBJECT"
+SUBPARTITION="SUBPARTITION"
+SUBPARTITIONS="SUBPARTITIONS"
+SUPER="SUPER"
+SUSPEND="SUSPEND"
+SWAPS="SWAPS"
+SWITCHES="SWITCHES"
+SYSTEM="SYSTEM"
+TABLE="TABLE"
+TABLES="TABLES"
+TABLESPACE="TABLESPACE"
+TABLE_CHECKSUM="TABLE_CHECKSUM"
+TABLE_NAME="TABLE_NAME"
+TEMPORARY="TEMPORARY"
+TEMPTABLE="TEMPTABLE"
+TERMINATED="TERMINATED"
+TEXT="TEXT"
+THAN="THAN"
+THEN="THEN"
+THREAD_PRIORITY="THREAD_PRIORITY"
+TIES="TIES"
+TIME="TIME"
+TIMESTAMP="TIMESTAMP"
+TIMESTAMPADD="TIMESTAMPADD"
+TIMESTAMPDIFF="TIMESTAMPDIFF"
+TINYBLOB="TINYBLOB"
+TINYINT="TINYINT"
+TINYTEXT="TINYTEXT"
+TO="TO"
+TRAILING="TRAILING"
+TRANSACTION="TRANSACTION"
+TRIGGER="TRIGGER"
+TRIGGERS="TRIGGERS"
+TRUE="TRUE"
+TRUNCATE="TRUNCATE"
+TYPE="TYPE"
+TYPES="TYPES"
+UNBOUNDED="UNBOUNDED"
+UNCOMMITTED="UNCOMMITTED"
+UNDEFINED="UNDEFINED"
+UNDO="UNDO"
+UNDOFILE="UNDOFILE"
+UNDO_BUFFER_SIZE="UNDO_BUFFER_SIZE"
+UNICODE="UNICODE"
+UNINSTALL="UNINSTALL"
+UNION="UNION"
+UNIQUE="UNIQUE"
+UNKNOWN="UNKNOWN"
+UNLOCK="UNLOCK"
+UNSIGNED="UNSIGNED"
+UNTIL="UNTIL"
+UPDATE="UPDATE"
+UPGRADE="UPGRADE"
+USAGE="USAGE"
+USE="USE"
+USER="USER"
+USER_RESOURCES="USER_RESOURCES"
+USE_FRM="USE_FRM"
+USING="USING"
+UTC_DATE="UTC_DATE"
+UTC_TIME="UTC_TIME"
+UTC_TIMESTAMP="UTC_TIMESTAMP"
+VALIDATION="VALIDATION"
+VALUE="VALUE"
+VALUES="VALUES"
+VARBINARY="VARBINARY"
+VARCHAR="VARCHAR"
+VARCHARACTER="VARCHARACTER"
+VARIABLES="VARIABLES"
+VARYING="VARYING"
+VCPU="VCPU"
+VIEW="VIEW"
+VIRTUAL="VIRTUAL"
+VISIBLE="VISIBLE"
+WAIT="WAIT"
+WARNINGS="WARNINGS"
+WEEK="WEEK"
+WEIGHT_STRING="WEIGHT_STRING"
+WHEN="WHEN"
+WHERE="WHERE"
+WHILE="WHILE"
+WINDOW="WINDOW"
+WITH="WITH"
+WITHOUT="WITHOUT"
+WORK="WORK"
+WRAPPER="WRAPPER"
+WRITE="WRITE"
+X509="X509"
+XA="XA"
+XID="XID"
+XML="XML"
+XOR="XOR"
+YEAR="YEAR"
+YEAR_MONTH="YEAR_MONTH"
+ZEROFILL="ZEROFILL"
diff --git a/dictionaries/exif.dict b/dictionaries/exif.dict
new file mode 100644
index 00000000..08c71bbc
--- /dev/null
+++ b/dictionaries/exif.dict
@@ -0,0 +1,222 @@
+"\x00\x01"
+"\x00\x02"
+"\x00\x10"
+"\x00\x90"
+"\x00\xa0"
+"\x00\xa3"
+"\x00\xa5"
+"\x00\xfe"
+"\x01\x00"
+"\x01\x01"
+"\x01\x02"
+"\x01\x03"
+"\x01\x06"
+"\x01\x0a"
+"\x01\x0d"
+"\x01\x0e"
+"\x01\x0f"
+"\x01\x10"
+"\x01\x11"
+"\x01\x12"
+"\x01\x15"
+"\x01\x16"
+"\x01\x17"
+"\x01\x1a"
+"\x01\x1b"
+"\x01\x1c"
+"\x01\x28"
+"\x01\x2d"
+"\x01\x31"
+"\x01\x32"
+"\x01\x3b"
+"\x01\x3e"
+"\x01\x3f"
+"\x01\x4a"
+"\x01\x56"
+"\x01\x91"
+"\x01\x92"
+"\x01\xa0"
+"\x01\xa3"
+"\x01\xa4"
+"\x02\x00"
+"\x02\x01"
+"\x02\x02"
+"\x02\x10"
+"\x02\x11"
+"\x02\x12"
+"\x02\x13"
+"\x02\x14"
+"\x02\x91"
+"\x02\x92"
+"\x02\xa0"
+"\x02\xa3"
+"\x02\xa4"
+"\x02\xbc"
+"\x03\x01"
+"\x03\x90"
+"\x03\x92"
+"\x03\xa0"
+"\x03\xa4"
+"\x04\x90"
+"\x04\x92"
+"\x04\xa0"
+"\x04\xa4"
+"\x05\x92"
+"\x05\xa0"
+"\x05\xa4"
+"\x06\x01"
+"\x06\x92"
+"\x06\xa4"
+"\x07\x92"
+"\x07\xa4"
+"\x08\x92"
+"\x08\xa4"
+"\x09\x92"
+"\x09\xa4"
+"\x0a\x01"
+"\x0a\x92"
+"\x0a\xa4"
+"\x0b\xa2"
+"\x0b\xa4"
+"\x0c\xa2"
+"\x0c\xa4"
+"\x0d\x01"
+"\x0e\x01"
+"\x0e\xa2"
+"\x0f\x01"
+"\x0f\xa2"
+"\x10\x00"
+"\x10\x01"
+"\x10\x02"
+"\x10\xa2"
+"\x11\x01"
+"\x11\x02"
+"\x12\x01"
+"\x12\x02"
+"\x13\x02"
+"\x14\x02"
+"\x14\x92"
+"\x14\xa2"
+"\x15\x01"
+"\x15\xa2"
+"\x16\x01"
+"\x16\x92"
+"\x17\x01"
+"\x17\xa2"
+"\x1a\x01"
+"\x1b\x01"
+"\x1c\x01"
+"\x1c\xea"
+"\x20\xa4"
+"\x22\x88"
+"\x24\x88"
+"\x25\x88"
+"\x27\x88"
+"\x28\x01"
+"\x28\x88"
+"\x2a\x88"
+"\x2d\x01"
+"\x31\x01"
+"\x32\x01"
+"\x3b\x01"
+"\x3e\x01"
+"\x3f\x01"
+"\x49\x86"
+"\x4a\x01"
+"\x56\x01"
+"\x69\x87"
+"\x73\x87"
+"\x7c\x92"
+"\x82\x8d"
+"\x82\x8e"
+"\x82\x8f"
+"\x82\x98"
+"\x82\x9a"
+"\x82\x9d"
+"\x83\xbb"
+"\x86\x49"
+"\x86\x92"
+"\x87\x69"
+"\x87\x73"
+"\x88\x22"
+"\x88\x24"
+"\x88\x25"
+"\x88\x27"
+"\x88\x28"
+"\x88\x2a"
+"\x8d\x82"
+"\x8e\x82"
+"\x8f\x82"
+"\x90\x00"
+"\x90\x03"
+"\x90\x04"
+"\x90\x92"
+"\x91\x01"
+"\x91\x02"
+"\x91\x92"
+"\x92\x01"
+"\x92\x02"
+"\x92\x03"
+"\x92\x04"
+"\x92\x05"
+"\x92\x06"
+"\x92\x07"
+"\x92\x08"
+"\x92\x09"
+"\x92\x0a"
+"\x92\x14"
+"\x92\x16"
+"\x92\x7c"
+"\x92\x86"
+"\x92\x90"
+"\x92\x91"
+"\x92\x92"
+"\x98\x82"
+"\x9a\x82"
+"\x9b\x9c"
+"\x9c\x9b"
+"\x9c\x9c"
+"\x9c\x9d"
+"\x9c\x9e"
+"\x9c\x9f"
+"\x9d\x82"
+"\x9d\x9c"
+"\x9e\x9c"
+"\x9f\x9c"
+"\xa0\x00"
+"\xa0\x01"
+"\xa0\x02"
+"\xa0\x03"
+"\xa0\x04"
+"\xa0\x05"
+"\xa2\x0b"
+"\xa2\x0c"
+"\xa2\x0e"
+"\xa2\x0f"
+"\xa2\x10"
+"\xa2\x14"
+"\xa2\x15"
+"\xa2\x17"
+"\xa3\x00"
+"\xa3\x01"
+"\xa3\x02"
+"\xa4\x01"
+"\xa4\x02"
+"\xa4\x03"
+"\xa4\x04"
+"\xa4\x05"
+"\xa4\x06"
+"\xa4\x07"
+"\xa4\x08"
+"\xa4\x09"
+"\xa4\x0a"
+"\xa4\x0b"
+"\xa4\x0c"
+"\xa4\x20"
+"\xa5\x00"
+"\xa5\xc4"
+"\xbb\x83"
+"\xbc\x02"
+"\xc4\xa5"
+"\xea\x1c"
+"\xfe\x00"
diff --git a/dictionaries/fbs.dict b/dictionaries/fbs.dict
new file mode 100644
index 00000000..1636d920
--- /dev/null
+++ b/dictionaries/fbs.dict
@@ -0,0 +1,42 @@
+# spec: https://google.github.io/flatbuffers/flatbuffers_grammar.html
+
+attribute="attribute"
+bool="bool"
+byte="byte"
+double="double"
+enum="enum"
+false="false"
+file_extension="file_extension"
+float32="float32"
+float64="float64"
+float="float"
+include="include"
+inf="inf"
+infinity="infinity"
+int16="int16"
+int32="int32"
+int64="int64"
+int8="int8"
+int="int"
+long="long"
+namespace="namespace"
+nan="nan"
+root_type="root_type"
+root_type="root_type"
+rpc_service="rpc_service"
+short="short"
+string="string"
+struct="struct"
+table="table"
+true="true"
+ubyte="ubyte"
+uint16="uint16"
+uint32="uint32"
+uint64="uint64"
+uint="uint"
+ulong="ulong"
+union="union"
+ushort="ushort"
+
+separator=":"
+eol=";"
\ No newline at end of file
diff --git a/dictionaries/graphviz.dict b/dictionaries/graphviz.dict
new file mode 100644
index 00000000..0b034b36
--- /dev/null
+++ b/dictionaries/graphviz.dict
@@ -0,0 +1,373 @@
+# Semi-manually curated list of interesting words within a graphviz input file.
+# TODO(robhart): Consider expanding from:
+#   - htmllex.c
+#   - ?
+# Not included exhaustive list of colortables, fontnames, etc. that are unlikely
+# to influence core graphviz behaviour.
+
+# Attributes (from http://www.graphviz.org/doc/info/attrs.html)
+"Damping"
+"K"
+"URL"
+"_background"
+"area"
+"arrowhead"
+"arrowsize"
+"arrowtail"
+"bb"
+"bgcolor"
+"colorList"
+"center"
+"charset"
+"clusterrank"
+"color"
+"colorList"
+"colorscheme"
+"comment"
+"compound"
+"concentrate"
+"constraint"
+"decorate"
+"defaultdist"
+"dim"
+"dimen"
+"dir"
+"diredgeconstraints"
+"distortion"
+"dpi"
+"edgeURL"
+"edgehref"
+"edgetarget"
+"edgetooltip"
+"epsilon"
+"esep"
+"fillcolor"
+"fixedsize"
+"fontcolor"
+"fontname"
+"fontnames"
+"fontpath"
+"fontsize"
+"forcelabels"
+"gradientangle"
+"group"
+"headURL"
+"head_lp"
+"headclip"
+"headhref"
+"headlabel"
+"headport"
+"headtarget"
+"headtooltip"
+"height"
+"href"
+"id"
+"image"
+"imagepath"
+"imagescale"
+"inputscale"
+"label"
+"labelURL"
+"label_scheme"
+"labelangle"
+"labeldistance"
+"labelfloat"
+"labelfontcolor"
+"labelfontname"
+"labelfontsize"
+"labelhref"
+"labeljust"
+"labelloc"
+"labeltarget"
+"labeltooltip"
+"landscape"
+"layer"
+"layerlistsep"
+"layers"
+"layerselect"
+"layersep"
+"layout"
+"len"
+"levels"
+"levelsgap"
+"lhead"
+"lheight"
+"lp"
+"ltail"
+"lwidth"
+"margin"
+"maxiter"
+"mclimit"
+"mindist"
+"minlen"
+"mode"
+"model"
+"mosek"
+"newrank"
+"nodesep"
+"nojustify"
+"normalize"
+"notranslate"
+"nslimit "
+"nslimit1"
+"ordering"
+"orientation"
+"OrientationGraph"
+"outputorder"
+"overlap"
+"overlap_scaling"
+"overlap_shrink"
+"pack"
+"packmode"
+"pad"
+"point"
+"page"
+"point"
+"pagedir"
+"pencolor"
+"penwidth"
+"peripheries"
+"pin"
+"pos"
+"splineType"
+"quadtree"
+"quantum"
+"rank"
+"rankdir"
+"ranksep"
+"ratio"
+"string"
+"rects"
+"regular"
+"remincross"
+"RemoveOverlaps"
+"repulsiveforce"
+"resolution"
+"root"
+"rotate"
+"rotation"
+"samehead"
+"sametail"
+"samplepoints"
+"scale"
+"searchsize"
+"sep"
+"setlinewidth"
+"shape"
+"shapefile"
+"showboxes"
+"sides"
+"size"
+"skew"
+"smoothing"
+"sortv"
+"splines"
+"string"
+"start"
+"style"
+"stylesheet"
+"tailURL"
+"tail_lp"
+"tailclip"
+"tailhref"
+"taillabel"
+"tailport"
+"tailtarget"
+"tailtooltip"
+"target"
+"tooltip"
+"truecolor"
+"vertices"
+"viewport"
+"voro_margin"
+"weight"
+"width"
+"xdotversion"
+"xlabel"
+"xlp"
+"z"
+
+# Shapes (from shapes.c)
+"box"
+"polygon"
+"ellipse"
+"oval"
+"circle"
+"point"
+"egg"
+"triangle"
+"none"
+"plaintext"
+"plain"
+"diamond"
+"trapezium"
+"parallelogram"
+"house"
+"pentagon"
+"hexagon"
+"septagon"
+"octagon"
+"note"
+"tab"
+"folder"
+"box3d"
+"component"
+"cylinder"
+"rect"
+"rectangle"
+"square"
+"doublecircle"
+"doubleoctagon"
+"tripleoctagon"
+"invtriangle"
+"invtrapezium"
+"invhouse"
+"underline"
+"Mdiamond"
+"Msquare"
+"Mcircle"
+"DotGraphs"
+
+"promoter"
+"cds"
+"terminator"
+"utr"
+"insulator"
+"ribosite"
+"rnastab"
+"proteasesite"
+"proteinstab"
+
+"primersite"
+"restrictionsite"
+"fivepoverhang"
+"threepoverhang"
+"noverhang"
+"assembly"
+"signature"
+"rpromoter"
+"larrow"
+"rarrow"
+"lpromoter"
+
+"record"
+"Mrecord"
+"epsf"
+"star"
+
+# styles
+"bold"
+"dashed"
+"diagonals"
+"dotted"
+"filled"
+"invis"
+"radial"
+"rounded"
+"solid"
+"striped"
+"tapered"
+"wedged"
+
+
+# misc -- https://graphviz.gitlab.io/_pages/doc/info/lang.html
+"node"
+"edge"
+"digraph"
+"subgraph"
+"strict"
+"same"
+"->"
+"--"
+" {A B} "
+" a -- b "
+# Special value for the "shape" attribute
+"epsf"
+
+# html
+"=\""
+"<table"
+"<tr"
+"<td"
+"<font"
+"<br"
+"<img"
+"<i"
+"<b"
+"<u"
+"<o"
+"<sub"
+"<sup"
+"<s"
+"<hr"
+"<vr"
+
+# html attributes
+"align"
+"balign"
+"bgcolor"
+"border"
+"cellborder"
+"cellpadding"
+"cellspacing"
+"color"
+"colspan"
+"columns"
+"face"
+"fixedsize"
+"gradientangle"
+"height"
+"href"
+"id"
+"point-size"
+"port"
+"rows"
+"rowspan"
+"scale"
+"sides"
+"src"
+"style"
+"target"
+"title"
+"tooltip"
+"valign"
+"width"
+
+# arrow spaces
+"box"
+"crow"
+"curve"
+"icurve"
+"diamond"
+"dot"
+"inv"
+"none"
+"normal"
+"tee"
+"vee"
+
+
+# Examples of parameters
+"%f"
+"50,50,.5,'2.8 BSD'"
+"100,100,2,450,-1"
+"none"
+"avg_dist"
+"graph_dist"
+"power_dist"
+"rng"
+"spring"
+"triangle"
+"same"
+"min"
+"source"
+"max"
+"sink"
+"node"
+"clust"
+"graph"
+"array_flags"
+"%2x"
+"%s"
+"%99$p"
+"%n"
diff --git a/dictionaries/heif.dict b/dictionaries/heif.dict
new file mode 100644
index 00000000..ec279df7
--- /dev/null
+++ b/dictionaries/heif.dict
@@ -0,0 +1,76 @@
+# https://standards.iso.org/ittf/PubliclyAvailableStandards/c066067_ISO_IEC_23008-12_2017.zip
+
+"altr"
+"auxC"
+"auxc"
+"auxi"
+"auxv"
+"avcC"
+"avci"
+"avcs"
+"ccst"
+"cdsc"
+"clap"
+"colr"
+"dimg"
+"dinf"
+"dref"
+"elst"
+"equi"
+"free"
+"frma"
+"ftyp"
+"grid"
+"grp1"
+"hdlr"
+"heic"
+"heim"
+"heis"
+"heix"
+"hevc"
+"hevx"
+"hvc1"
+"hvc2"
+"hvcC"
+"idat"
+"iden"
+"iinf"
+"iloc"
+"imir"
+"infe"
+"iovl"
+"ipro"
+"iprp"
+"iref"
+"irot"
+"ispe"
+"jpeg"
+"jpgC"
+"jpgs"
+"lhv1"
+"lhvC"
+"lsel"
+"mdat"
+"meta"
+"mif1"
+"mime"
+"mjpg"
+"msf1"
+"oinf"
+"pasp"
+"pict"
+"pitm"
+"pixi"
+"refs"
+"rloc"
+"schi"
+"schm"
+"sgpd"
+"sinf"
+"skip"
+"stsz"
+"subs"
+"thmb"
+"tkhd"
+"tols"
+"trak"
diff --git a/dictionaries/hoextdown.dict b/dictionaries/hoextdown.dict
new file mode 100644
index 00000000..b06783c9
--- /dev/null
+++ b/dictionaries/hoextdown.dict
@@ -0,0 +1,49 @@
+asterisk="*"
+attr_generic=" a=\"1\""
+attr_href=" href=\"1\""
+attr_xml_lang=" xml:lang=\"1\""
+attr_xmlns=" xmlns=\"1\""
+backslash="\\"
+backtick="`"
+colon=":"
+dashes="---"
+double_quote="\""
+entity_builtin="&lt;"
+entity_decimal="&#1;"
+entity_external="&a;"
+entity_hex="&#x1;"
+equals="==="
+exclamation="!"
+greater_than=">"
+hash="#"
+hyphen="-"
+indent="  "
+left_bracket="["
+left_paren="("
+less_than="<"
+plus="+"
+right_bracket="]"
+right_paren=")"
+single_quote="'"
+string_any="ANY"
+string_brackets="[]"
+string_cdata="CDATA"
+string_dashes="--"
+string_empty_dblquotes="\"\""
+string_empty_quotes="''"
+string_idrefs="IDREFS"
+string_parentheses="()"
+string_pcdata="#PCDATA"
+tag_cdata="<![CDATA["
+tag_close="</a>"
+tag_doctype="<!DOCTYPE"
+tag_element="<!ELEMENT"
+tag_entity="<!ENTITY"
+tag_notation="<!NOTATION"
+tag_open="<a>"
+tag_open_close="<a />"
+tag_open_exclamation="<!"
+tag_open_q="<?"
+tag_sq2_close="]]>"
+tag_xml_q="<?xml?>"
+underscore="_"
diff --git a/dictionaries/http.dict b/dictionaries/http.dict
new file mode 100644
index 00000000..60ed1fbf
--- /dev/null
+++ b/dictionaries/http.dict
@@ -0,0 +1,119 @@
+# Sources: https://en.wikipedia.org/wiki/List_of_HTTP_header_fields
+
+# misc
+"HTTP/1.1"
+
+# verbs
+"CONNECT"
+"DELETE"
+"GET"
+"HEAD"
+"OPTIONS"
+"PATCH"
+"POST"
+"PUT"
+"TRACE"
+
+
+# Fields
+"A-IM"
+"Accept"
+"Accept-Charset"
+"Accept-Datetime"
+"Accept-Encoding"
+"Accept-Language"
+"Accept-Patch"
+"Accept-Ranges"
+"Access-Control-Allow-Credentials"
+"Access-Control-Allow-Headers"
+"Access-Control-Allow-Methods"
+"Access-Control-Allow-Origin"
+"Access-Control-Expose-Headers"
+"Access-Control-Max-Age"
+"Access-Control-Request-Headers"
+"Access-Control-Request-Method"
+"Age"
+"Allow"
+"Alt-Svc"
+"Authorization"
+"Cache-Control"
+"Connection"
+"Connection:"
+"Content-Disposition"
+"Content-Encoding"
+"Content-Language"
+"Content-Length"
+"Content-Location"
+"Content-MD5"
+"Content-Range"
+"Content-Security-Policy"
+"Content-Type"
+"Cookie"
+"DNT"
+"Date"
+"Delta-Base"
+"ETag"
+"Expect"
+"Expires"
+"Forwarded"
+"From"
+"Front-End-Https"
+"HTTP2-Settings"
+"Host"
+"IM"
+"If-Match"
+"If-Modified-Since"
+"If-None-Match"
+"If-Range"
+"If-Unmodified-Since"
+"Last-Modified"
+"Link"
+"Location"
+"Max-Forwards"
+"Origin"
+"P3P	"
+"Pragma"
+"Proxy-Authenticate"
+"Proxy-Authorization"
+"Proxy-Connection"
+"Public-Key-Pins"
+"Range"
+"Referer"
+"Refresh"
+"Retry-After"
+"Save-Data"
+"Server"
+"Set-Cookie"
+"Status"
+"Strict-Transport-Security"
+"TE"
+"Timing-Allow-Origin"
+"Tk"
+"Trailer"
+"Transfer-Encoding"
+"Upgrade"
+"Upgrade-Insecure-Requests"
+"User-Agent"
+"Vary"
+"Via"
+"WWW-Authenticate"
+"Warning"
+"X-ATT-DeviceId"
+"X-Content-Duration"
+"X-Content-Security-Policy"
+"X-Content-Type-Options"
+"X-Correlation-ID"
+"X-Csrf-Token"
+"X-Forwarded-For"
+"X-Forwarded-Host"
+"X-Forwarded-Proto"
+"X-Frame-Options"
+"X-Http-Method-Override"
+"X-Powered-By"
+"X-Request-ID"
+"X-Requested-With"
+"X-UA-Compatible"
+"X-UIDH"
+"X-Wap-Profile"
+"X-WebKit-CSP"
+"X-XSS-Protection"
diff --git a/dictionaries/icc.dict b/dictionaries/icc.dict
new file mode 100644
index 00000000..058704c0
--- /dev/null
+++ b/dictionaries/icc.dict
@@ -0,0 +1,591 @@
+# See http://www.color.org/specification/ICC.2-2019.pdf
+
+magic="acsp"
+
+# spectral encoding
+"rs"
+"ts"
+"es"
+"bs"
+"sm"
+"mc"
+
+# Profile classes
+"scnr"
+"mntr"
+"prtr"
+"link"
+"spac"
+"abst"
+"nmcl"
+"cenc"
+"mod "
+"mlnk"
+"mvis"
+
+# Data colour space field
+"XYZ "
+"Lab "
+"Luv "
+"YVbr"
+"Yxy "
+"LMS "
+"RGB "
+"GRAY"
+"HSV "
+"HLS "
+"CMYK"
+"CMY "
+"2CLR"
+"3CLR"
+"4CLR"
+"5CLR"
+"6CLR"
+"7CLR"
+"8CLR"
+"9CLR"
+"ACLR"
+"BCLR"
+"CCLR"
+"DCLR"
+"ECLR"
+"FCLR"
+"nc"
+"YCC"
+
+# primary platforms
+"APPL"
+"MSFT"
+"SGI "
+"SUNW"
+
+
+# Tags
+"A2B0"
+"A2B1"
+"A2B2"
+"A2B3"
+"A2M0"
+"bcp0"
+"bcp1"
+"bcp2"
+"bcp3"
+"bsp0"
+"bsp1"
+"bsp2"
+"bsp3"
+"bAB0"
+"bAB1"
+"bAB2"
+"bAB3"
+"bBA0"
+"bBA1"
+"bBA2"
+"bBA3"
+"bBD0"
+"bBD1"
+"bBD2"
+"bBD3"
+"bDB0"
+"bDB1"
+"bDB2"
+"bDB3"
+"bMB0"
+"bMB1"
+"bMB2"
+"bMB3"
+"bMS0"
+"bMS1"
+"bMS2"
+"bMS3"
+"B2A0"
+"B2A1"
+"B2A2"
+"B2A3"
+"B2D0"
+"B2D1"
+"B2D2"
+"B2D3"
+"calt"
+"targ"
+"cept"
+"csnm"
+"clro"
+"cloo"
+"clin"
+"clio"
+"ciis"
+"cprt"
+"c2sp"
+"cxF "
+"dmnd"
+"dmdd"
+"dAB0"
+"dAB2"
+"dAB3"
+"dAB4"
+"dBA0"
+"dBA1"
+"dBA2"
+"dBA3"
+"dBD0"
+"dBD1"
+"dBD2"
+"dBD3"
+"dDB0"
+"dDB1"
+"dDB2"
+"dDB3"
+"d2B0"
+"d2B1"
+"d2B2"
+"d2B3"
+"gbd0"
+"gbd1"
+"gbd2"
+"gbd3"
+"mdv "
+"mcta"
+"minf"
+"miin"
+"wtpt"
+"meta"
+"M2A0"
+"M2B0"
+"M2B1"
+"M2B2"
+"M2B3"
+"M2S0"
+"M2S1"
+"M2S2"
+"M2S3"
+"nmcl"
+"rig0"
+"desc"
+"psin"
+"rfnm"
+"rig2"
+"svcn"
+"swpt"
+"s2cp"
+"smap"
+"tech"
+
+# tag types
+"clro"
+"curv"
+"data"
+"dtim"
+"dict"
+"ehim"
+"enim"
+"fl16"
+"fl32"
+"fl64"
+"gbd "
+"mAB "
+"mBA "
+"meas"
+"mluc"
+"mpet"
+"para"
+"sf32"
+"sig "
+"smat"
+"tary"
+"tstr"
+"ui32"
+"ui64"
+"ui08"
+"ut16"
+"utf8"
+"zut8"
+"zxml"
+
+# Function operands
+"calc"
+"func"
+"true"
+"ndef"
+"env "
+"in  "
+"out "
+"tget"
+"tput"
+"tsav"
+"curv"
+"mtx "
+"clut"
+"tint"
+"elem"
+"copy"
+"rotl"
+"rotr"
+"posd"
+"flip"
+"pop "
+"solv"
+"tran"
+"sum "
+"prod"
+"min "
+"max "
+"and "
+"or  "
+"pi  "
+"+INF"
+"-INF"
+"NaN "
+"add "
+"sub "
+"mul "
+"dic "
+"mod "
+"pow "
+"gama"
+"sadd"
+"ssub"
+"sdiv"
+"smul"
+"sq  "
+"sqrt"
+"cb  "
+"cbrt"
+"abs "
+"neg "
+"rond"
+"flor"
+"ceil"
+"trnc"
+"sign"
+"exp "
+"log "
+"ln  "
+"sin "
+"cos "
+"tan "
+"asin"
+"acos"
+"atan"
+"atn2"
+"ctop"
+"ptoc"
+"rnum"
+"lt  "
+"le  "
+"eq"
+"near"
+"ge  "
+"gt  "
+"vmin"
+"vmax"
+"vand"
+"vor "
+"tLab"
+"tXYZ"
+"if  "
+"else"
+"sel "
+"case"
+"dflt"
+"cvst"
+"sngf"
+"curf"
+"parf"
+"smaf"
+"clut"
+"eclt"
+"emtx"
+"eobs"
+"xclt"
+"iemx"
+"JtoX"
+"matf"
+"smet"
+"rclt"
+"robs"
+"tint"
+"XtoJ"
+"bACS"
+"eACS"
+"brdf"
+"type"
+"func"
+"nump"
+"xfrm"
+"BPh0"
+"BPh1"
+"CT10"
+"CT20"
+"CT30"
+"CT11"
+"CT21"
+"CT31"
+"War0"
+"War1"
+"La10"
+"La20"
+"La30"
+"La11"
+"La21"
+"La31"
+"name"
+"lcnm"
+"pcs "
+"spec"
+"spcb"
+"spcg"
+"ncol"
+"pinf"
+
+# from oss-fuzz, some duplicates
+# Fuzzing dictionary for icc
+# Extracted from lcms2.h of Little-CMS project 2.8.
+
+magic="acsp"
+sig="lcms"
+
+# Base ICC type definitions
+"chrm"
+"clro"
+"clrt"
+"crdi"
+"curv"
+"data"
+"dict"
+"dtim"
+"devs"
+"mft2"
+"mft1"
+"mAB "
+"mBA "
+"meas"
+"mluc"
+"mpet"
+"ncol"
+"ncl2"
+"para"
+"pseq"
+"psid"
+"rcs2"
+"sf32"
+"scrn"
+"sig "
+"text"
+"desc"
+"uf32"
+"bfd "
+"ui16"
+"ui32"
+"ui64"
+"ui08"
+"vcgt"
+"view"
+"XYZ "
+
+# Base ICC tag definitions
+"A2B0"
+"A2B1"
+"A2B2"
+"bXYZ"
+"bXYZ"
+"bTRC"
+"B2A0"
+"B2A1"
+"B2A2"
+"calt"
+"targ"
+"chad"
+"chrm"
+"clro"
+"clrt"
+"clot"
+"ciis"
+"cprt"
+"crdi"
+"data"
+"dtim"
+"dmnd"
+"dmdd"
+"devs"
+"D2B0"
+"D2B1"
+"D2B2"
+"D2B3"
+"B2D0"
+"B2D1"
+"B2D2"
+"B2D3"
+"gamt"
+"kTRC"
+"gXYZ"
+"gXYZ"
+"gTRC"
+"lumi"
+"meas"
+"bkpt"
+"wtpt"
+"ncol"
+"ncl2"
+"resp"
+"rig0"
+"pre0"
+"pre1"
+"pre2"
+"desc"
+"dscm"
+"pseq"
+"psid"
+"psd0"
+"psd1"
+"psd2"
+"psd3"
+"ps2s"
+"ps2i"
+"rXYZ"
+"rXYZ"
+"rTRC"
+"rig2"
+"scrd"
+"scrn"
+"tech"
+"bfd "
+"vued"
+"view"
+"vcgt"
+"meta"
+"arts"
+
+# ICC Technology tag
+"dcam"
+"fscn"
+"rscn"
+"ijet"
+"twax"
+"epho"
+"esta"
+"dsub"
+"rpho"
+"fprn"
+"vidm"
+"vidc"
+"pjtv"
+"CRT "
+"PMD "
+"AMD "
+"KPCD"
+"imgs"
+"grav"
+"offs"
+"silk"
+"flex"
+"mpfs"
+"mpfr"
+"dmpc"
+"dcpj"
+
+# ICC Color spaces
+"XYZ "
+"Lab "
+"Luv "
+"YCbr"
+"Yxy "
+"RGB "
+"GRAY"
+"HSV "
+"HLS "
+"CMYK"
+"CMY "
+"MCH1"
+"MCH2"
+"MCH3"
+"MCH4"
+"MCH5"
+"MCH6"
+"MCH7"
+"MCH8"
+"MCH9"
+"MCHA"
+"MCHB"
+"MCHC"
+"MCHD"
+"MCHE"
+"MCHF"
+"nmcl"
+"1CLR"
+"2CLR"
+"3CLR"
+"4CLR"
+"5CLR"
+"6CLR"
+"7CLR"
+"8CLR"
+"9CLR"
+"ACLR"
+"BCLR"
+"CCLR"
+"DCLR"
+"ECLR"
+"FCLR"
+"LuvK"
+
+# ICC Profile Class
+"scnr"
+"mntr"
+"prtr"
+"link"
+"abst"
+"spac"
+"nmcl"
+
+# ICC Platforms
+"APPL"
+"MSFT"
+"SUNW"
+"SGI "
+"TGNT"
+"*nix"
+
+# Reference gamut
+"prmg"
+
+# For cmsSigColorimetricIntentImageStateTag
+"scoe"
+"sape"
+"fpce"
+"rhoc"
+"rpoc"
+
+# Multi process elements types
+"cvst"
+"matf"
+"clut"
+"bACS"
+"eACS"
+"l2x "
+"x2l "
+"ncl "
+"2 4 "
+"4 2 "
+"idn "
+"d2l "
+"l2d "
+"d2x "
+"x2d "
+"clp "
+
+# Types of CurveElements
+"parf"
+"samf"
+"curf"
+
+# Used in ResponseCurveType
+"StaA"
+"StaE"
+"StaI"
+"StaT"
+"StaM"
+"DN  "
+"DN P"
+"DNN "
+"DNNP"
diff --git a/dictionaries/iccprofile.dict b/dictionaries/iccprofile.dict
new file mode 100644
index 00000000..26dd973e
--- /dev/null
+++ b/dictionaries/iccprofile.dict
@@ -0,0 +1,25 @@
+# Dict for ICC profiles parsed by skcms.
+
+"mft1"
+"mft2"
+"mAB "
+"rXYZ"
+"gXYZ"
+"bXYZ"
+"rTRC"
+"gTRC"
+"bTRC"
+"kTRC"
+"A2B0"
+"curv"
+"para"
+"mluc"
+"XYZ "
+"Lab "
+"RGB "
+"CMYK"
+"GRAY"
+"mntr"
+"scnr"
+"prtr"
+"spac"
diff --git a/dictionaries/icns.dict b/dictionaries/icns.dict
new file mode 100644
index 00000000..f9da1c83
--- /dev/null
+++ b/dictionaries/icns.dict
@@ -0,0 +1,43 @@
+# https://en.wikipedia.org/wiki/Apple_Icon_Image_format
+
+"ICN#"
+"ICON"
+"TOC "
+"h8mk"
+"ic04"
+"ic05"
+"ic07"
+"ic08"
+"ic09"
+"ic10"
+"ic11"
+"ic12"
+"ic13"
+"ic14"
+"ich#"
+"ich4"
+"ich8"
+"icl4"
+"icl8"
+"icm#"
+"icm4"
+"icm8"
+"icnV"
+"icns"
+"icp4"
+"icp5"
+"icp6"
+"ics#"
+"ics4"
+"ics8"
+"icsB"
+"icsb"
+"ih32"
+"il32"
+"info"
+"is32"
+"it32"
+"l8mk"
+"name"
+"s8mk"
+"t8mk"
\ No newline at end of file
diff --git a/dictionaries/initfile.dict b/dictionaries/initfile.dict
new file mode 100644
index 00000000..2d88ebc0
--- /dev/null
+++ b/dictionaries/initfile.dict
@@ -0,0 +1,688 @@
+#SELECT WORD FROM INFORMATION_SCHEMA.KEYWORDS;
+ACCESSIBLE="ACCESSIBLE"
+ACCOUNT="ACCOUNT"
+ACTION="ACTION"
+ACTIVE="ACTIVE"
+ADD="ADD"
+ADMIN="ADMIN"
+AFTER="AFTER"
+AGAINST="AGAINST"
+AGGREGATE="AGGREGATE"
+ALGORITHM="ALGORITHM"
+ALL="ALL"
+ALTER="ALTER"
+ALWAYS="ALWAYS"
+ANALYZE="ANALYZE"
+AND="AND"
+ANY="ANY"
+AS="AS"
+ASC="ASC"
+ASCII="ASCII"
+ASENSITIVE="ASENSITIVE"
+AT="AT"
+AUTOEXTEND_SIZE="AUTOEXTEND_SIZE"
+AUTO_INCREMENT="AUTO_INCREMENT"
+AVG="AVG"
+AVG_ROW_LENGTH="AVG_ROW_LENGTH"
+BACKUP="BACKUP"
+BEFORE="BEFORE"
+BEGIN="BEGIN"
+BETWEEN="BETWEEN"
+BIGINT="BIGINT"
+BINARY="BINARY"
+BINLOG="BINLOG"
+BIT="BIT"
+BLOB="BLOB"
+BLOCK="BLOCK"
+BOOL="BOOL"
+BOOLEAN="BOOLEAN"
+BOTH="BOTH"
+BTREE="BTREE"
+BUCKETS="BUCKETS"
+BY="BY"
+BYTE="BYTE"
+CACHE="CACHE"
+CALL="CALL"
+CASCADE="CASCADE"
+CASCADED="CASCADED"
+CASE="CASE"
+CATALOG_NAME="CATALOG_NAME"
+CHAIN="CHAIN"
+CHANGE="CHANGE"
+CHANGED="CHANGED"
+CHANNEL="CHANNEL"
+CHAR="CHAR"
+CHARACTER="CHARACTER"
+CHARSET="CHARSET"
+CHECK="CHECK"
+CHECKSUM="CHECKSUM"
+CIPHER="CIPHER"
+CLASS_ORIGIN="CLASS_ORIGIN"
+CLIENT="CLIENT"
+CLONE="CLONE"
+CLOSE="CLOSE"
+COALESCE="COALESCE"
+CODE="CODE"
+COLLATE="COLLATE"
+COLLATION="COLLATION"
+COLUMN="COLUMN"
+COLUMNS="COLUMNS"
+COLUMN_FORMAT="COLUMN_FORMAT"
+COLUMN_NAME="COLUMN_NAME"
+COMMENT="COMMENT"
+COMMIT="COMMIT"
+COMMITTED="COMMITTED"
+COMPACT="COMPACT"
+COMPLETION="COMPLETION"
+COMPONENT="COMPONENT"
+COMPRESSED="COMPRESSED"
+COMPRESSION="COMPRESSION"
+CONCURRENT="CONCURRENT"
+CONDITION="CONDITION"
+CONNECTION="CONNECTION"
+CONSISTENT="CONSISTENT"
+CONSTRAINT="CONSTRAINT"
+CONSTRAINT_CATALOG="CONSTRAINT_CATALOG"
+CONSTRAINT_NAME="CONSTRAINT_NAME"
+CONSTRAINT_SCHEMA="CONSTRAINT_SCHEMA"
+CONTAINS="CONTAINS"
+CONTEXT="CONTEXT"
+CONTINUE="CONTINUE"
+CONVERT="CONVERT"
+CPU="CPU"
+CREATE="CREATE"
+CROSS="CROSS"
+CUBE="CUBE"
+CUME_DIST="CUME_DIST"
+CURRENT="CURRENT"
+CURRENT_DATE="CURRENT_DATE"
+CURRENT_TIME="CURRENT_TIME"
+CURRENT_TIMESTAMP="CURRENT_TIMESTAMP"
+CURRENT_USER="CURRENT_USER"
+CURSOR="CURSOR"
+CURSOR_NAME="CURSOR_NAME"
+DATA="DATA"
+DATABASE="DATABASE"
+DATABASES="DATABASES"
+DATAFILE="DATAFILE"
+DATE="DATE"
+DATETIME="DATETIME"
+DAY="DAY"
+DAY_HOUR="DAY_HOUR"
+DAY_MICROSECOND="DAY_MICROSECOND"
+DAY_MINUTE="DAY_MINUTE"
+DAY_SECOND="DAY_SECOND"
+DEALLOCATE="DEALLOCATE"
+DEC="DEC"
+DECIMAL="DECIMAL"
+DECLARE="DECLARE"
+DEFAULT="DEFAULT"
+DEFAULT_AUTH="DEFAULT_AUTH"
+DEFINER="DEFINER"
+DEFINITION="DEFINITION"
+DELAYED="DELAYED"
+DELAY_KEY_WRITE="DELAY_KEY_WRITE"
+DELETE="DELETE"
+DENSE_RANK="DENSE_RANK"
+DESC="DESC"
+DESCRIBE="DESCRIBE"
+DESCRIPTION="DESCRIPTION"
+DETERMINISTIC="DETERMINISTIC"
+DIAGNOSTICS="DIAGNOSTICS"
+DIRECTORY="DIRECTORY"
+DISABLE="DISABLE"
+DISCARD="DISCARD"
+DISK="DISK"
+DISTINCT="DISTINCT"
+DISTINCTROW="DISTINCTROW"
+DIV="DIV"
+DO="DO"
+DOUBLE="DOUBLE"
+DROP="DROP"
+DUAL="DUAL"
+DUMPFILE="DUMPFILE"
+DUPLICATE="DUPLICATE"
+DYNAMIC="DYNAMIC"
+EACH="EACH"
+ELSE="ELSE"
+ELSEIF="ELSEIF"
+EMPTY="EMPTY"
+ENABLE="ENABLE"
+ENCLOSED="ENCLOSED"
+ENCRYPTION="ENCRYPTION"
+END="END"
+ENDS="ENDS"
+ENFORCED="ENFORCED"
+ENGINE="ENGINE"
+ENGINES="ENGINES"
+ENUM="ENUM"
+ERROR="ERROR"
+ERRORS="ERRORS"
+ESCAPE="ESCAPE"
+ESCAPED="ESCAPED"
+EVENT="EVENT"
+EVENTS="EVENTS"
+EVERY="EVERY"
+EXCEPT="EXCEPT"
+EXCHANGE="EXCHANGE"
+EXCLUDE="EXCLUDE"
+EXECUTE="EXECUTE"
+EXISTS="EXISTS"
+EXIT="EXIT"
+EXPANSION="EXPANSION"
+EXPIRE="EXPIRE"
+EXPLAIN="EXPLAIN"
+EXPORT="EXPORT"
+EXTENDED="EXTENDED"
+EXTENT_SIZE="EXTENT_SIZE"
+FALSE="FALSE"
+FAST="FAST"
+FAULTS="FAULTS"
+FETCH="FETCH"
+FIELDS="FIELDS"
+FILE="FILE"
+FILE_BLOCK_SIZE="FILE_BLOCK_SIZE"
+FILTER="FILTER"
+FIRST="FIRST"
+FIRST_VALUE="FIRST_VALUE"
+FIXED="FIXED"
+FLOAT="FLOAT"
+FLOAT4="FLOAT4"
+FLOAT8="FLOAT8"
+FLUSH="FLUSH"
+FOLLOWING="FOLLOWING"
+FOLLOWS="FOLLOWS"
+FOR="FOR"
+FORCE="FORCE"
+FOREIGN="FOREIGN"
+FORMAT="FORMAT"
+FOUND="FOUND"
+FROM="FROM"
+FULL="FULL"
+FULLTEXT="FULLTEXT"
+FUNCTION="FUNCTION"
+GENERAL="GENERAL"
+GENERATED="GENERATED"
+GEOMCOLLECTION="GEOMCOLLECTION"
+GEOMETRY="GEOMETRY"
+GEOMETRYCOLLECTION="GEOMETRYCOLLECTION"
+GET="GET"
+GET_FORMAT="GET_FORMAT"
+GET_MASTER_PUBLIC_KEY="GET_MASTER_PUBLIC_KEY"
+GLOBAL="GLOBAL"
+GRANT="GRANT"
+GRANTS="GRANTS"
+GROUP="GROUP"
+GROUPING="GROUPING"
+GROUPS="GROUPS"
+GROUP_REPLICATION="GROUP_REPLICATION"
+HANDLER="HANDLER"
+HASH="HASH"
+HAVING="HAVING"
+HELP="HELP"
+HIGH_PRIORITY="HIGH_PRIORITY"
+HISTOGRAM="HISTOGRAM"
+HISTORY="HISTORY"
+HOST="HOST"
+HOSTS="HOSTS"
+HOUR="HOUR"
+HOUR_MICROSECOND="HOUR_MICROSECOND"
+HOUR_MINUTE="HOUR_MINUTE"
+HOUR_SECOND="HOUR_SECOND"
+IDENTIFIED="IDENTIFIED"
+IF="IF"
+IGNORE="IGNORE"
+IGNORE_SERVER_IDS="IGNORE_SERVER_IDS"
+IMPORT="IMPORT"
+IN="IN"
+INACTIVE="INACTIVE"
+INDEX="INDEX"
+INDEXES="INDEXES"
+INFILE="INFILE"
+INITIAL_SIZE="INITIAL_SIZE"
+INNER="INNER"
+INOUT="INOUT"
+INSENSITIVE="INSENSITIVE"
+INSERT="INSERT"
+INSERT_METHOD="INSERT_METHOD"
+INSTALL="INSTALL"
+INSTANCE="INSTANCE"
+INT="INT"
+INT1="INT1"
+INT2="INT2"
+INT3="INT3"
+INT4="INT4"
+INT8="INT8"
+INTEGER="INTEGER"
+INTERVAL="INTERVAL"
+INTO="INTO"
+INVISIBLE="INVISIBLE"
+INVOKER="INVOKER"
+IO="IO"
+IO_AFTER_GTIDS="IO_AFTER_GTIDS"
+IO_BEFORE_GTIDS="IO_BEFORE_GTIDS"
+IO_THREAD="IO_THREAD"
+IPC="IPC"
+IS="IS"
+ISOLATION="ISOLATION"
+ISSUER="ISSUER"
+ITERATE="ITERATE"
+JOIN="JOIN"
+JSON="JSON"
+JSON_TABLE="JSON_TABLE"
+KEY="KEY"
+KEYS="KEYS"
+KEY_BLOCK_SIZE="KEY_BLOCK_SIZE"
+KILL="KILL"
+LAG="LAG"
+LANGUAGE="LANGUAGE"
+LAST="LAST"
+LAST_VALUE="LAST_VALUE"
+LATERAL="LATERAL"
+LEAD="LEAD"
+LEADING="LEADING"
+LEAVE="LEAVE"
+LEAVES="LEAVES"
+LEFT="LEFT"
+LESS="LESS"
+LEVEL="LEVEL"
+LIKE="LIKE"
+LIMIT="LIMIT"
+LINEAR="LINEAR"
+LINES="LINES"
+LINESTRING="LINESTRING"
+LIST="LIST"
+LOAD="LOAD"
+LOCAL="LOCAL"
+LOCALTIME="LOCALTIME"
+LOCALTIMESTAMP="LOCALTIMESTAMP"
+LOCK="LOCK"
+LOCKED="LOCKED"
+LOCKS="LOCKS"
+LOGFILE="LOGFILE"
+LOGS="LOGS"
+LONG="LONG"
+LONGBLOB="LONGBLOB"
+LONGTEXT="LONGTEXT"
+LOOP="LOOP"
+LOW_PRIORITY="LOW_PRIORITY"
+MASTER="MASTER"
+MASTER_AUTO_POSITION="MASTER_AUTO_POSITION"
+MASTER_BIND="MASTER_BIND"
+MASTER_CONNECT_RETRY="MASTER_CONNECT_RETRY"
+MASTER_DELAY="MASTER_DELAY"
+MASTER_HEARTBEAT_PERIOD="MASTER_HEARTBEAT_PERIOD"
+MASTER_HOST="MASTER_HOST"
+MASTER_LOG_FILE="MASTER_LOG_FILE"
+MASTER_LOG_POS="MASTER_LOG_POS"
+MASTER_PASSWORD="MASTER_PASSWORD"
+MASTER_PORT="MASTER_PORT"
+MASTER_PUBLIC_KEY_PATH="MASTER_PUBLIC_KEY_PATH"
+MASTER_RETRY_COUNT="MASTER_RETRY_COUNT"
+MASTER_SERVER_ID="MASTER_SERVER_ID"
+MASTER_SSL="MASTER_SSL"
+MASTER_SSL_CA="MASTER_SSL_CA"
+MASTER_SSL_CAPATH="MASTER_SSL_CAPATH"
+MASTER_SSL_CERT="MASTER_SSL_CERT"
+MASTER_SSL_CIPHER="MASTER_SSL_CIPHER"
+MASTER_SSL_CRL="MASTER_SSL_CRL"
+MASTER_SSL_CRLPATH="MASTER_SSL_CRLPATH"
+MASTER_SSL_KEY="MASTER_SSL_KEY"
+MASTER_SSL_VERIFY_SERVER_CERT="MASTER_SSL_VERIFY_SERVER_CERT"
+MASTER_TLS_VERSION="MASTER_TLS_VERSION"
+MASTER_USER="MASTER_USER"
+MATCH="MATCH"
+MAXVALUE="MAXVALUE"
+MAX_CONNECTIONS_PER_HOUR="MAX_CONNECTIONS_PER_HOUR"
+MAX_QUERIES_PER_HOUR="MAX_QUERIES_PER_HOUR"
+MAX_ROWS="MAX_ROWS"
+MAX_SIZE="MAX_SIZE"
+MAX_UPDATES_PER_HOUR="MAX_UPDATES_PER_HOUR"
+MAX_USER_CONNECTIONS="MAX_USER_CONNECTIONS"
+MEDIUM="MEDIUM"
+MEDIUMBLOB="MEDIUMBLOB"
+MEDIUMINT="MEDIUMINT"
+MEDIUMTEXT="MEDIUMTEXT"
+MEMORY="MEMORY"
+MERGE="MERGE"
+MESSAGE_TEXT="MESSAGE_TEXT"
+MICROSECOND="MICROSECOND"
+MIDDLEINT="MIDDLEINT"
+MIGRATE="MIGRATE"
+MINUTE="MINUTE"
+MINUTE_MICROSECOND="MINUTE_MICROSECOND"
+MINUTE_SECOND="MINUTE_SECOND"
+MIN_ROWS="MIN_ROWS"
+MOD="MOD"
+MODE="MODE"
+MODIFIES="MODIFIES"
+MODIFY="MODIFY"
+MONTH="MONTH"
+MULTILINESTRING="MULTILINESTRING"
+MULTIPOINT="MULTIPOINT"
+MULTIPOLYGON="MULTIPOLYGON"
+MUTEX="MUTEX"
+MYSQL_ERRNO="MYSQL_ERRNO"
+NAME="NAME"
+NAMES="NAMES"
+NATIONAL="NATIONAL"
+NATURAL="NATURAL"
+NCHAR="NCHAR"
+NDB="NDB"
+NDBCLUSTER="NDBCLUSTER"
+NESTED="NESTED"
+NETWORK_NAMESPACE="NETWORK_NAMESPACE"
+NEVER="NEVER"
+NEW="NEW"
+NEXT="NEXT"
+NO="NO"
+NODEGROUP="NODEGROUP"
+NONE="NONE"
+NOT="NOT"
+NOWAIT="NOWAIT"
+NO_WAIT="NO_WAIT"
+NO_WRITE_TO_BINLOG="NO_WRITE_TO_BINLOG"
+NTH_VALUE="NTH_VALUE"
+NTILE="NTILE"
+NULL="NULL"
+NULLS="NULLS"
+NUMBER="NUMBER"
+NUMERIC="NUMERIC"
+NVARCHAR="NVARCHAR"
+OF="OF"
+OFFSET="OFFSET"
+OJ="OJ"
+OLD="OLD"
+ON="ON"
+ONE="ONE"
+ONLY="ONLY"
+OPEN="OPEN"
+OPTIMIZE="OPTIMIZE"
+OPTIMIZER_COSTS="OPTIMIZER_COSTS"
+OPTION="OPTION"
+OPTIONAL="OPTIONAL"
+OPTIONALLY="OPTIONALLY"
+OPTIONS="OPTIONS"
+OR="OR"
+ORDER="ORDER"
+ORDINALITY="ORDINALITY"
+ORGANIZATION="ORGANIZATION"
+OTHERS="OTHERS"
+OUT="OUT"
+OUTER="OUTER"
+OUTFILE="OUTFILE"
+OVER="OVER"
+OWNER="OWNER"
+PACK_KEYS="PACK_KEYS"
+PAGE="PAGE"
+PARSER="PARSER"
+PARTIAL="PARTIAL"
+PARTITION="PARTITION"
+PARTITIONING="PARTITIONING"
+PARTITIONS="PARTITIONS"
+PASSWORD="PASSWORD"
+PATH="PATH"
+PERCENT_RANK="PERCENT_RANK"
+PERSIST="PERSIST"
+PERSIST_ONLY="PERSIST_ONLY"
+PHASE="PHASE"
+PLUGIN="PLUGIN"
+PLUGINS="PLUGINS"
+PLUGIN_DIR="PLUGIN_DIR"
+POINT="POINT"
+POLYGON="POLYGON"
+PORT="PORT"
+PRECEDES="PRECEDES"
+PRECEDING="PRECEDING"
+PRECISION="PRECISION"
+PREPARE="PREPARE"
+PRESERVE="PRESERVE"
+PREV="PREV"
+PRIMARY="PRIMARY"
+PRIVILEGES="PRIVILEGES"
+PROCEDURE="PROCEDURE"
+PROCESS="PROCESS"
+PROCESSLIST="PROCESSLIST"
+PROFILE="PROFILE"
+PROFILES="PROFILES"
+PROXY="PROXY"
+PURGE="PURGE"
+QUARTER="QUARTER"
+QUERY="QUERY"
+QUICK="QUICK"
+RANGE="RANGE"
+RANK="RANK"
+READ="READ"
+READS="READS"
+READ_ONLY="READ_ONLY"
+READ_WRITE="READ_WRITE"
+REAL="REAL"
+REBUILD="REBUILD"
+RECOVER="RECOVER"
+RECURSIVE="RECURSIVE"
+REDO_BUFFER_SIZE="REDO_BUFFER_SIZE"
+REDUNDANT="REDUNDANT"
+REFERENCE="REFERENCE"
+REFERENCES="REFERENCES"
+REGEXP="REGEXP"
+RELAY="RELAY"
+RELAYLOG="RELAYLOG"
+RELAY_LOG_FILE="RELAY_LOG_FILE"
+RELAY_LOG_POS="RELAY_LOG_POS"
+RELAY_THREAD="RELAY_THREAD"
+RELEASE="RELEASE"
+RELOAD="RELOAD"
+REMOVE="REMOVE"
+RENAME="RENAME"
+REORGANIZE="REORGANIZE"
+REPAIR="REPAIR"
+REPEAT="REPEAT"
+REPEATABLE="REPEATABLE"
+REPLACE="REPLACE"
+REPLICATE_DO_DB="REPLICATE_DO_DB"
+REPLICATE_DO_TABLE="REPLICATE_DO_TABLE"
+REPLICATE_IGNORE_DB="REPLICATE_IGNORE_DB"
+REPLICATE_IGNORE_TABLE="REPLICATE_IGNORE_TABLE"
+REPLICATE_REWRITE_DB="REPLICATE_REWRITE_DB"
+REPLICATE_WILD_DO_TABLE="REPLICATE_WILD_DO_TABLE"
+REPLICATE_WILD_IGNORE_TABLE="REPLICATE_WILD_IGNORE_TABLE"
+REPLICATION="REPLICATION"
+REQUIRE="REQUIRE"
+RESET="RESET"
+RESIGNAL="RESIGNAL"
+RESOURCE="RESOURCE"
+RESPECT="RESPECT"
+RESTART="RESTART"
+RESTORE="RESTORE"
+RESTRICT="RESTRICT"
+RESUME="RESUME"
+RETAIN="RETAIN"
+RETURN="RETURN"
+RETURNED_SQLSTATE="RETURNED_SQLSTATE"
+RETURNS="RETURNS"
+REUSE="REUSE"
+REVERSE="REVERSE"
+REVOKE="REVOKE"
+RIGHT="RIGHT"
+RLIKE="RLIKE"
+ROLE="ROLE"
+ROLLBACK="ROLLBACK"
+ROLLUP="ROLLUP"
+ROTATE="ROTATE"
+ROUTINE="ROUTINE"
+ROW="ROW"
+ROWS="ROWS"
+ROW_COUNT="ROW_COUNT"
+ROW_FORMAT="ROW_FORMAT"
+ROW_NUMBER="ROW_NUMBER"
+RTREE="RTREE"
+SAVEPOINT="SAVEPOINT"
+SCHEDULE="SCHEDULE"
+SCHEMA="SCHEMA"
+SCHEMAS="SCHEMAS"
+SCHEMA_NAME="SCHEMA_NAME"
+SECOND="SECOND"
+SECONDARY="SECONDARY"
+SECONDARY_ENGINE="SECONDARY_ENGINE"
+SECONDARY_LOAD="SECONDARY_LOAD"
+SECONDARY_UNLOAD="SECONDARY_UNLOAD"
+SECOND_MICROSECOND="SECOND_MICROSECOND"
+SECURITY="SECURITY"
+SELECT="SELECT"
+SENSITIVE="SENSITIVE"
+SEPARATOR="SEPARATOR"
+SERIAL="SERIAL"
+SERIALIZABLE="SERIALIZABLE"
+SERVER="SERVER"
+SESSION="SESSION"
+SET="SET"
+SHARE="SHARE"
+SHOW="SHOW"
+SHUTDOWN="SHUTDOWN"
+SIGNAL="SIGNAL"
+SIGNED="SIGNED"
+SIMPLE="SIMPLE"
+SKIP="SKIP"
+SLAVE="SLAVE"
+SLOW="SLOW"
+SMALLINT="SMALLINT"
+SNAPSHOT="SNAPSHOT"
+SOCKET="SOCKET"
+SOME="SOME"
+SONAME="SONAME"
+SOUNDS="SOUNDS"
+SOURCE="SOURCE"
+SPATIAL="SPATIAL"
+SPECIFIC="SPECIFIC"
+SQL="SQL"
+SQLEXCEPTION="SQLEXCEPTION"
+SQLSTATE="SQLSTATE"
+SQLWARNING="SQLWARNING"
+SQL_AFTER_GTIDS="SQL_AFTER_GTIDS"
+SQL_AFTER_MTS_GAPS="SQL_AFTER_MTS_GAPS"
+SQL_BEFORE_GTIDS="SQL_BEFORE_GTIDS"
+SQL_BIG_RESULT="SQL_BIG_RESULT"
+SQL_BUFFER_RESULT="SQL_BUFFER_RESULT"
+SQL_CALC_FOUND_ROWS="SQL_CALC_FOUND_ROWS"
+SQL_NO_CACHE="SQL_NO_CACHE"
+SQL_SMALL_RESULT="SQL_SMALL_RESULT"
+SQL_THREAD="SQL_THREAD"
+SQL_TSI_DAY="SQL_TSI_DAY"
+SQL_TSI_HOUR="SQL_TSI_HOUR"
+SQL_TSI_MINUTE="SQL_TSI_MINUTE"
+SQL_TSI_MONTH="SQL_TSI_MONTH"
+SQL_TSI_QUARTER="SQL_TSI_QUARTER"
+SQL_TSI_SECOND="SQL_TSI_SECOND"
+SQL_TSI_WEEK="SQL_TSI_WEEK"
+SQL_TSI_YEAR="SQL_TSI_YEAR"
+SRID="SRID"
+SSL="SSL"
+STACKED="STACKED"
+START="START"
+STARTING="STARTING"
+STARTS="STARTS"
+STATS_AUTO_RECALC="STATS_AUTO_RECALC"
+STATS_PERSISTENT="STATS_PERSISTENT"
+STATS_SAMPLE_PAGES="STATS_SAMPLE_PAGES"
+STATUS="STATUS"
+STOP="STOP"
+STORAGE="STORAGE"
+STORED="STORED"
+STRAIGHT_JOIN="STRAIGHT_JOIN"
+STRING="STRING"
+SUBCLASS_ORIGIN="SUBCLASS_ORIGIN"
+SUBJECT="SUBJECT"
+SUBPARTITION="SUBPARTITION"
+SUBPARTITIONS="SUBPARTITIONS"
+SUPER="SUPER"
+SUSPEND="SUSPEND"
+SWAPS="SWAPS"
+SWITCHES="SWITCHES"
+SYSTEM="SYSTEM"
+TABLE="TABLE"
+TABLES="TABLES"
+TABLESPACE="TABLESPACE"
+TABLE_CHECKSUM="TABLE_CHECKSUM"
+TABLE_NAME="TABLE_NAME"
+TEMPORARY="TEMPORARY"
+TEMPTABLE="TEMPTABLE"
+TERMINATED="TERMINATED"
+TEXT="TEXT"
+THAN="THAN"
+THEN="THEN"
+THREAD_PRIORITY="THREAD_PRIORITY"
+TIES="TIES"
+TIME="TIME"
+TIMESTAMP="TIMESTAMP"
+TIMESTAMPADD="TIMESTAMPADD"
+TIMESTAMPDIFF="TIMESTAMPDIFF"
+TINYBLOB="TINYBLOB"
+TINYINT="TINYINT"
+TINYTEXT="TINYTEXT"
+TO="TO"
+TRAILING="TRAILING"
+TRANSACTION="TRANSACTION"
+TRIGGER="TRIGGER"
+TRIGGERS="TRIGGERS"
+TRUE="TRUE"
+TRUNCATE="TRUNCATE"
+TYPE="TYPE"
+TYPES="TYPES"
+UNBOUNDED="UNBOUNDED"
+UNCOMMITTED="UNCOMMITTED"
+UNDEFINED="UNDEFINED"
+UNDO="UNDO"
+UNDOFILE="UNDOFILE"
+UNDO_BUFFER_SIZE="UNDO_BUFFER_SIZE"
+UNICODE="UNICODE"
+UNINSTALL="UNINSTALL"
+UNION="UNION"
+UNIQUE="UNIQUE"
+UNKNOWN="UNKNOWN"
+UNLOCK="UNLOCK"
+UNSIGNED="UNSIGNED"
+UNTIL="UNTIL"
+UPDATE="UPDATE"
+UPGRADE="UPGRADE"
+USAGE="USAGE"
+USE="USE"
+USER="USER"
+USER_RESOURCES="USER_RESOURCES"
+USE_FRM="USE_FRM"
+USING="USING"
+UTC_DATE="UTC_DATE"
+UTC_TIME="UTC_TIME"
+UTC_TIMESTAMP="UTC_TIMESTAMP"
+VALIDATION="VALIDATION"
+VALUE="VALUE"
+VALUES="VALUES"
+VARBINARY="VARBINARY"
+VARCHAR="VARCHAR"
+VARCHARACTER="VARCHARACTER"
+VARIABLES="VARIABLES"
+VARYING="VARYING"
+VCPU="VCPU"
+VIEW="VIEW"
+VIRTUAL="VIRTUAL"
+VISIBLE="VISIBLE"
+WAIT="WAIT"
+WARNINGS="WARNINGS"
+WEEK="WEEK"
+WEIGHT_STRING="WEIGHT_STRING"
+WHEN="WHEN"
+WHERE="WHERE"
+WHILE="WHILE"
+WINDOW="WINDOW"
+WITH="WITH"
+WITHOUT="WITHOUT"
+WORK="WORK"
+WRAPPER="WRAPPER"
+WRITE="WRITE"
+X509="X509"
+XA="XA"
+XID="XID"
+XML="XML"
+XOR="XOR"
+YEAR="YEAR"
+YEAR_MONTH="YEAR_MONTH"
+ZEROFILL="ZEROFILL"
diff --git a/dictionaries/jbig2.dict b/dictionaries/jbig2.dict
new file mode 100644
index 00000000..97f31b39
--- /dev/null
+++ b/dictionaries/jbig2.dict
@@ -0,0 +1,98 @@
+# AFL dictionary for jbig2 images
+# by Sebastian Rasmussen <sebras@gmail.com>
+
+id_string="\x97\x4a\x42\x32\x0d\x0a\x1a\x0a"
+
+# segments
+
+noretain_allpages_symbol_dictionary="\x00"
+noretain_allpages_intermediate_text_region="\x04"
+noretain_allpages_immediate_text_region="\x06"
+noretain_allpages_immediate_lossless_text_region="\x07"
+noretain_allpages_pattern_dictionary="\x10"
+noretain_allpages_intermediate_halftone_region="\x14"
+noretain_allpages_immediate_halftone_region="\x16"
+noretain_allpages_immediate_lossless_halftone_region="\x17"
+noretain_allpages_intermediate_generic_region="\x24"
+noretain_allpages_immediate_generic_region="\x26"
+noretain_allpages_immediate_lossless_generic_region="\x27"
+noretain_allpages_intermediate_generic_refinement_region="\x28"
+noretain_allpages_immediate_generic_refinement_region="\x2a"
+noretain_allpages_immediate_lossless_generic_refinement_region="\x2b"
+noretain_allpages_page_information="\x30"
+noretain_allpages_end_of_page="\x31"
+noretain_allpages_end_of_stripe="\x32"
+noretain_allpages_end_of_file="\x33"
+noretain_allpages_profiles="\x34"
+noretain_allpages_tables="\x35"
+noretain_allpages_color_palette="\x36"
+noretain_allpages_extension="\x3e"
+
+noretain_specificpage_symbol_dictionary="\x40"
+noretain_specificpage_intermediate_text_region="\x44"
+noretain_specificpage_immediate_text_region="\x46"
+noretain_specificpage_immediate_lossless_text_region="\x47"
+noretain_specificpage_pattern_dictionary="\x50"
+noretain_specificpage_intermediate_halftone_region="\x54"
+noretain_specificpage_immediate_halftone_region="\x56"
+noretain_specificpage_immediate_lossless_halftone_region="\x57"
+noretain_specificpage_intermediate_generic_region="\x64"
+noretain_specificpage_immediate_generic_region="\x66"
+noretain_specificpage_immediate_lossless_generic_region="\x67"
+noretain_specificpage_intermediate_generic_refinement_region="\x68"
+noretain_specificpage_immediate_generic_refinement_region="\x6a"
+noretain_specificpage_immediate_lossless_generic_refinement_regio6="\x6b"
+noretain_specificpage_page_information="\x70"
+noretain_specificpage_end_of_page="\x71"
+noretain_specificpage_end_of_stripe="\x72"
+noretain_specificpage_end_of_file="\x73"
+noretain_specificpage_profiles="\x74"
+noretain_specificpage_tables="\x75"
+noretain_specificpage_color_palette="\x76"
+noretain_specificpage_extension="\x7e"
+
+retain_allpages_symbol_dictionary="\x80"
+retain_allpages_intermediate_text_region="\x84"
+retain_allpages_immediate_text_region="\x86"
+retain_allpages_immediate_lossless_text_region="\x87"
+retain_allpages_pattern_dictionary="\x90"
+retain_allpages_intermediate_halftone_region="\x94"
+retain_allpages_immediate_halftone_region="\x96"
+retain_allpages_immediate_lossless_halftone_region="\x97"
+retain_allpages_intermediate_generic_region="\xa4"
+retain_allpages_immediate_generic_region="\xa6"
+retain_allpages_immediate_lossless_generic_region="\xa7"
+retain_allpages_intermediate_generic_refinement_region="\xa8"
+retain_allpages_immediate_generic_refinement_region="\xaa"
+retain_allpages_immediate_lossless_generic_refinement_regio6="\xab"
+retain_allpages_page_information="\xb0"
+retain_allpages_end_of_page="\xb1"
+retain_allpages_end_of_stripe="\xb2"
+retain_allpages_end_of_file="\xb3"
+retain_allpages_profiles="\xb4"
+retain_allpages_tables="\xb5"
+retain_allpages_color_palette="\xb6"
+retain_allpages_extension="\xbe"
+
+retain_specificpage_symbol_dictionary="\xc0"
+retain_specificpage_intermediate_text_region="\xc4"
+retain_specificpage_immediate_text_region="\xc6"
+retain_specificpage_immediate_lossless_text_region="\xc7"
+retain_specificpage_pattern_dictionary="\xd0"
+retain_specificpage_intermediate_halftone_region="\xd4"
+retain_specificpage_immediate_halftone_region="\xd6"
+retain_specificpage_immediate_lossless_halftone_region="\xd7"
+retain_specificpage_intermediate_generic_region="\xe4"
+retain_specificpage_immediate_generic_region="\xe6"
+retain_specificpage_immediate_lossless_generic_region="\xe7"
+retain_specificpage_intermediate_generic_refinement_region="\xe8"
+retain_specificpage_immediate_generic_refinement_region="\xea"
+retain_specificpage_immediate_lossless_generic_refinement_regio6="\xeb"
+retain_specificpage_page_information="\xf0"
+retain_specificpage_end_of_page="\xf1"
+retain_specificpage_end_of_stripe="\xf2"
+retain_specificpage_end_of_file="\xf3"
+retain_specificpage_profiles="\xf4"
+retain_specificpage_tables="\xf5"
+retain_specificpage_color_palette="\xf6"
+retain_specificpage_extension="\xfe"
diff --git a/dictionaries/jpeg2000.dict b/dictionaries/jpeg2000.dict
new file mode 100644
index 00000000..10dafc63
--- /dev/null
+++ b/dictionaries/jpeg2000.dict
@@ -0,0 +1,22 @@
+type="jP  "
+ftyp="ftyp"
+subtype1="jp2 "
+subtype2="jp20"
+subtype3="jpm "
+subtype4="jpx "
+subtype5="jp2h"
+subtype6="jpxb"
+subtype7="mjp2"
+subtype8="mj2s"
+subtype9="jp2c"
+subtype10="jpch"
+subtype11="jplh"
+codestream="\xFF\x4F\xFF\x51"
+signature="\x0d\x0a\x87\x0a"
+tag1="hdr"
+tag2="colr"
+tag3="url"
+tag4="req"
+tag5="res"
+tag6="page"
+tag7="obj"
\ No newline at end of file
diff --git a/dictionaries/json.dict b/dictionaries/json.dict
index e08245a2..b7604fb9 100644
--- a/dictionaries/json.dict
+++ b/dictionaries/json.dict
@@ -50,3 +50,12 @@
 "\"\":0"
 "//"
 "/**/"
+
+"$ref"
+"type"
+"coordinates"
+"@context"
+"@id"
+
+","
+":"
diff --git a/dictionaries/jsonnet.dict b/dictionaries/jsonnet.dict
new file mode 100644
index 00000000..d209328a
--- /dev/null
+++ b/dictionaries/jsonnet.dict
@@ -0,0 +1,60 @@
+# https://jsonnet.org/ref/spec.html
+
+# Keywords
+"assert"
+"else"
+"error"
+"false"
+"for"
+"function"
+"if"
+"import"
+"importstr"
+"in"
+"local"
+"null"
+"self"
+"super"
+"tailstrict"
+"then"
+"true"
+"super"
+"local"
+
+# operators
+"|||"
+"@\""
+"@'"
+"!="
+"=="
+"[::]"
+"+:::"
+
+# functions
+"std.acos("
+"std.asin("
+"std.atan("
+"std.ceil("
+"std.char("
+"std.codepoint("
+"std.cos("
+"std.equals("
+"std.exp("
+"std.exponent("
+"std.floor("
+"std.join("
+"std.length("
+"std.log("
+"std.makeArray("
+"std.mantissa("
+"std.mod"
+"std.modulo("
+"std.objectFiledsEx("
+"std.objectsHasEx("
+"std.pow("
+"std.primitiveEquals("
+"std.sin("
+"std.slice("
+"std.sqrt("
+"std.tan("
+"std.type("
diff --git a/dictionaries/markdown.dict b/dictionaries/markdown.dict
new file mode 100644
index 00000000..be94db29
--- /dev/null
+++ b/dictionaries/markdown.dict
@@ -0,0 +1,28 @@
+strike="~~"
+list="2."
+link="[a]("
+link_without_ref="[a]["
+image="![b]("
+bold="**"
+separator="---"
+title="# "
+fence="```"
+link_bottom="[a]:"
+link_inline="<http://"
+link_bottom_title="[1]: http://a.com"
+checklist="- [x"
+toc="[TOC]"
+highlight_rst=":::python"
+
+
+# GFM - https://github.github.com/gfm/
+"| ---"
+leaf1="***"
+leaf2="___"
+code_hl="```html"
+task="- [ ]"
+
+
+# Extended syntax: https://www.markdownguide.org/extended-syntax/
+footnote="[^a]"
+title_id="#a {#b}"
diff --git a/dictionaries/math.dict b/dictionaries/math.dict
new file mode 100644
index 00000000..ca0e0ee8
--- /dev/null
+++ b/dictionaries/math.dict
@@ -0,0 +1,20 @@
+"{"
+"}"
+","
+"["
+"]"
+","
+":"
+"e"
+"e+"
+"e-"
+"E"
+"E+"
+"E-"
+"\""
+"\\"
+" "
+"null"
+"1"
+"1.234"
+"3e4"
diff --git a/dictionaries/mathml.dict b/dictionaries/mathml.dict
new file mode 100644
index 00000000..56c7a209
--- /dev/null
+++ b/dictionaries/mathml.dict
@@ -0,0 +1,279 @@
+#https://developer.mozilla.org/en-US/docs/Web/MathML/Element
+# https://www.w3.org/TR/MathML3/chapter4.html
+
+header="<math xmlns='http://www.w3.org/1998/Math/MathML'>"
+
+# presentation mathml
+"<annotation-xml>"
+"<annotation>"
+"<apply>"
+"<maction>"
+"<maligngroup>"
+"<malignmark>"
+"<math>"
+"<menclose>"
+"<merror>"
+"<mfenced> "
+"<mfrac>"
+"<mglyph>"
+"<mi>"
+"<mlabeledtr>"
+"<mlongdiv>"
+"<mmultiscripts>"
+"<mn>"
+"<mo>"
+"<mover>"
+"<mpadded>"
+"<mphantom>"
+"<mprescripts>"
+"<mroot>"
+"<mrow>"
+"<ms>"
+"<mscarries>"
+"<mscarry>"
+"<msgroup>"
+"<msline>"
+"<mspace>"
+"<msqrt>"
+"<msrow>"
+"<mstack>"
+"<mstyle>"
+"<msub>"
+"<msubsup>"
+"<msup>"
+"<mtable>"
+"<mtd>"
+"<mtext>"
+"<mtr>"
+"<munder>"
+"<munderover>"
+"<none>"
+"<semantics>"
+
+# attributes
+"accent"
+"accentunder"
+"actiontype"
+"align"
+"alignmentscope"
+"altimg"
+"altimg-height"
+"alttext"
+"bevelled"
+"charalign"
+"close"
+"columnalign"
+"columnlines"
+"columnspacing"
+"columnspan"
+"columnwidth"
+"crossout"
+"decimalpoint"
+"denomalign"
+"depth"
+"dir"
+"display"
+"displaystyle"
+"edge"
+"equalcolumns"
+"equalrows"
+"fence"
+"form"
+"frame"
+"framespacing"
+"groupalign"
+"height"
+"href"
+"id"
+"indentalign"
+"indentalignfirst"
+"indentalignlast"
+"indentshift"
+"indentshiftfirst"
+"indentshiftlast"
+"indenttarget"
+"infixlinebreakstyle"
+"largeop"
+"length"
+"linebreak"
+"linebreakmultchar"
+"linebreakstyle"
+"lineleading"
+"linethickness"
+"location"
+"longdivstyle"
+"lquote"
+"lspace"
+"mathbackground"
+"mathcolor"
+"mathsize"
+"mathvariant"
+"maxsize"
+"minlabelspacing"
+"minsize"
+"movablelimits"
+"notation"
+"numalign"
+"open"
+"overflow"
+"position"
+"rowalign"
+"rowlines"
+"rowspacing"
+"rowspan"
+"rquote"
+"rspace"
+"scriptlevel"
+"scriptminsize"
+"scriptsizemultiplier"
+"selection"
+"separator"
+"separators"
+"shift"
+"side"
+"src"
+"stackalign"
+"stretchy"
+"subscriptshift"
+"supscriptshift"
+"symmetric"
+"voffset"
+"width"
+"xlink:href"
+"xmlns"
+
+# content mathml
+"<interval>"
+"<inverse>"
+"<lambda>"
+"<compose/>"
+"<ident/>"
+"<domain/>"
+"<codomain/>"
+"<image/>"
+"<piecewise>"
+"<piece>"
+"<otherwise>"
+"<quotient/>"
+"<factorial/>"
+"<divide/>"
+"<max/>"
+"<min/>"
+"<minus/>"
+"<plus/>"
+"<power/>"
+"<rem/>"
+"<times/>"
+"<root/>"
+"<gcd/>"
+"<and/>"
+"<or/>"
+"<xor/>"
+"<not/>"
+"<implies/>"
+"<forall/>"
+"<exists/>"
+"<abs/>"
+"<conjugate/>"
+"<arg/>"
+"<real/>"
+"<imaginary/>"
+"<lcm/>"
+"<floor/>"
+"<ceiling/>"
+"Relations"
+"<eq/>"
+"<neq/>"
+"<gt/>"
+"<lt/>"
+"<geq/>"
+"<leq/>"
+"<equivalent/>"
+"<approx/>"
+"<factorof/>"
+"<int/>"
+"<diff/>"
+"<partialdiff/>"
+"<divergence/>"
+"<grad/>"
+"<curl/>"
+"<laplacian/>"
+"<set>"
+"<list>"
+"<union/>"
+"<intersect/>"
+"<in/>"
+"<notin/>"
+"<subset/>"
+"<prsubset/>"
+"<notsubset/>"
+"<notprsubset/>"
+"<setdiff/>"
+"<card/>"
+"<cartesianproduct/>"
+"<sum/>"
+"<product/>"
+"<limit/>"
+"<tendsto/>"
+"<sin/>"
+"<cos/>"
+"<tan/>"
+"<sec/>"
+"<csc/>"
+"<cot/>"
+"<arcsin/>"
+"<arccos/>"
+"<arctan/>"
+"<arcsec/>"
+"<arccsc/>"
+"<arccot/>"
+"<sinh/>"
+"<cosh/>"
+"<tanh/>"
+"<sech/>"
+"<csch/>"
+"<coth/>"
+"<arcsinh/>"
+"<arccosh/>"
+"<arctanh/>"
+"<arcsech/>"
+"<arccsch/>"
+"<arccoth/>"
+"<exp/>"
+"<ln/>"
+"<log/>"
+"<logbase>"
+"<mean/>"
+"<sdev/>"
+"<variance/>"
+"<median/>"
+"<mode/>"
+"<moment/>"
+"<momentabout>"
+"<vector>"
+"<matrix>"
+"<matrixrow>"
+"<determinant/>"
+"<transpose/>"
+"<selector/>"
+"<vectorproduct/>"
+"<scalarproduct/>"
+"<outerproduct/>"
+"<integers/>"
+"<reals/>"
+"<rationals/>"
+"<naturalnumbers/>"
+"<complexes/>"
+"<primes/>"
+"<exponentiale/>"
+"<imaginaryi/>"
+"<notanumber/>"
+"<true/>"
+"<false/>"
+"<emptyset/>"
+"<pi/>"
+"<eulergamma/>"
+"<infinity/>"
+"<declare>"
+"<reln>"
+"<fn>"
diff --git a/dictionaries/mp4.dict b/dictionaries/mp4.dict
new file mode 100644
index 00000000..e706fe24
--- /dev/null
+++ b/dictionaries/mp4.dict
@@ -0,0 +1,82 @@
+# Taken from https://chromium.googlesource.com/chromium/src/+/master/media/test/mp4.dict
+
+FOURCC_NULL="\x00\x00\x00\x00"
+FOURCC_AC3 ="\x61\x63\x2d\x33"
+FOURCC_EAC3="\x65\x63\x2d\x33"
+FOURCC_AVC1="\x61\x76\x63\x31"
+FOURCC_AVC3="\x61\x76\x63\x33"
+FOURCC_AVCC="\x61\x76\x63\x43"
+FOURCC_BLOC="\x62\x6C\x6F\x63"
+FOURCC_CENC="\x63\x65\x6e\x63"
+FOURCC_CO64="\x63\x6f\x36\x34"
+FOURCC_CTTS="\x63\x74\x74\x73"
+FOURCC_DINF="\x64\x69\x6e\x66"
+FOURCC_EDTS="\x65\x64\x74\x73"
+FOURCC_EMSG="\x65\x6d\x73\x67"
+FOURCC_ELST="\x65\x6c\x73\x74"
+FOURCC_ENCA="\x65\x6e\x63\x61"
+FOURCC_ENCV="\x65\x6e\x63\x76"
+FOURCC_ESDS="\x65\x73\x64\x73"
+FOURCC_FREE="\x66\x72\x65\x65"
+FOURCC_FRMA="\x66\x72\x6d\x61"
+FOURCC_FTYP="\x66\x74\x79\x70"
+FOURCC_HDLR="\x68\x64\x6c\x72"
+FOURCC_HINT="\x68\x69\x6e\x74"
+FOURCC_HVC1="\x68\x76\x63\x31"
+FOURCC_HVCC="\x68\x76\x63\x43"
+FOURCC_IODS="\x69\x6f\x64\x73"
+FOURCC_MDAT="\x6d\x64\x61\x74"
+FOURCC_MDHD="\x6d\x64\x68\x64"
+FOURCC_MDIA="\x6d\x64\x69\x61"
+FOURCC_MECO="\x6d\x65\x63\x6f"
+FOURCC_MEHD="\x6d\x65\x68\x64"
+FOURCC_META="\x6d\x65\x74\x61"
+FOURCC_MFHD="\x6d\x66\x68\x64"
+FOURCC_MFRA="\x6d\x66\x72\x61"
+FOURCC_MINF="\x6d\x69\x6e\x66"
+FOURCC_MOOF="\x6d\x6f\x6f\x66"
+FOURCC_MOOV="\x6d\x6f\x6f\x76"
+FOURCC_MP4A="\x6d\x70\x34\x61"
+FOURCC_MP4V="\x6d\x70\x34\x76"
+FOURCC_MVEX="\x6d\x76\x65\x78"
+FOURCC_MVHD="\x6d\x76\x68\x64"
+FOURCC_PASP="\x70\x61\x73\x70"
+FOURCC_PDIN="\x70\x64\x69\x6e"
+FOURCC_PRFT="\x70\x72\x66\x74"
+FOURCC_PSSH="\x70\x73\x73\x68"
+FOURCC_SAIO="\x73\x61\x69\x6f"
+FOURCC_SAIZ="\x73\x61\x69\x7a"
+FOURCC_SBGP="\x73\x62\x67\x70"
+FOURCC_SCHI="\x73\x63\x68\x69"
+FOURCC_SCHM="\x73\x63\x68\x6d"
+FOURCC_SDTP="\x73\x64\x74\x70"
+FOURCC_SEIG="\x73\x65\x69\x67"
+FOURCC_SENC="\x73\x65\x6e\x63"
+FOURCC_SGPD="\x73\x67\x70\x64"
+FOURCC_SIDX="\x73\x69\x64\x78"
+FOURCC_SINF="\x73\x69\x6e\x66"
+FOURCC_SKIP="\x73\x6b\x69\x70"
+FOURCC_SMHD="\x73\x6d\x68\x64"
+FOURCC_SOUN="\x73\x6f\x75\x6e"
+FOURCC_SSIX="\x73\x73\x69\x78"
+FOURCC_STBL="\x73\x74\x62\x6c"
+FOURCC_STCO="\x73\x74\x63\x6f"
+FOURCC_STSC="\x73\x74\x73\x63"
+FOURCC_STSD="\x73\x74\x73\x64"
+FOURCC_STSS="\x73\x74\x73\x73"
+FOURCC_STSZ="\x73\x74\x73\x7a"
+FOURCC_STTS="\x73\x74\x74\x73"
+FOURCC_STYP="\x73\x74\x79\x70"
+FOURCC_TENC="\x74\x65\x6e\x63"
+FOURCC_TFDT="\x74\x66\x64\x74"
+FOURCC_TFHD="\x74\x66\x68\x64"
+FOURCC_TKHD="\x74\x6b\x68\x64"
+FOURCC_TRAF="\x74\x72\x61\x66"
+FOURCC_TRAK="\x74\x72\x61\x6b"
+FOURCC_TREX="\x74\x72\x65\x78"
+FOURCC_TRUN="\x74\x72\x75\x6e"
+FOURCC_UDTA="\x75\x64\x74\x61"
+FOURCC_UUID="\x75\x75\x69\x64"
+FOURCC_VIDE="\x76\x69\x64\x65"
+FOURCC_VMHD="\x76\x6d\x68\x64"
+FOURCC_WIDE="\x77\x69\x64\x65"
\ No newline at end of file
diff --git a/dictionaries/mysqld.dict b/dictionaries/mysqld.dict
new file mode 100644
index 00000000..33c97f6e
--- /dev/null
+++ b/dictionaries/mysqld.dict
@@ -0,0 +1 @@
+user="root"
diff --git a/dictionaries/ogg.dict b/dictionaries/ogg.dict
new file mode 100644
index 00000000..2ecfe453
--- /dev/null
+++ b/dictionaries/ogg.dict
@@ -0,0 +1,36 @@
+# https://xiph.org/vorbis/doc/Vorbis_I_spec.html
+
+header="OggS"
+
+# Codecs
+"BBCD\x00"
+"\x7fFLAC"
+"\x80theora"
+"\x01vorbis"
+"CELT    "
+"CMML\x00\x00\x00\x00"
+"\x8bJNG\x0d\x0a\x1a\x0a"
+"\x80kate\x00\x00\x00"
+"OggMIDI\x00"
+"\x8aMNG\x0d\x0a\x1a\x0a"
+"PCM     "
+"\x89PNG\x0d\x0a\x1a\x0a"
+"Speex   "
+"YUV4MPEG"
+
+# Metadata
+"TITLE="
+"VERSION="
+"ALBUM="
+"TRACKNUMBER="
+"ARTIST="
+"PERFORMER="
+"COPYRIGHT="
+"LICENSE="
+"ORGANIZATION="
+"DESCRIPTION="
+"GENRE="
+"DATE="
+"LOCATION="
+"CONTACT="
+"ISRC="
\ No newline at end of file
diff --git a/dictionaries/openexr.dict b/dictionaries/openexr.dict
new file mode 100644
index 00000000..39e1247d
--- /dev/null
+++ b/dictionaries/openexr.dict
@@ -0,0 +1,57 @@
+# specs:
+#  - https://www.openexr.com/documentation/openexrfilelayout.pdf
+#  - https://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/OpenEXR.html
+
+lay="_lay"
+ver="_ver"
+adoptNeutral="AdoptNeutral"
+altitude="altitude"
+aperture="aperture"
+box2f="box2f"
+box2i="box2i"
+capdate="capDate"
+channels="channels"
+chlist="chlist"
+chromaticities="chromaticities"
+comments="comments"
+compression="compression"
+dataWindow="dataWindow"
+displayWindow="displayWindow"
+double="double"
+envmap="envmap"
+expTime="expTime"
+focus="focus"
+framesPerSecond="framesPerSecond"
+float="float"
+header="\x76\x2F\x31\x01"
+int="int"
+isoSpeed="isoSpeed"
+keycode="keyCode"
+latitude="latitude"
+lineOrder="lineOrder"
+longitude="longitude"
+lookModTransform="lookModTransform"
+m33f="m33f"
+m44f="m44f"
+owner="owner"
+pixelAspectRatio="pixelAspectRatio"
+preview="preview"
+renderingTransform="renderingTransform"
+rational="rational"
+screenWindowCenter="screenWindowCenter"
+screenWindowWidth="screenWindowWidth"
+string="string"
+stringvector="stringvector"
+tiles="tiles"
+tiledesc="tileDesc"
+timecode="timeCode"
+utcOffset="itcOffset"
+whiteLuminance="whiteLuminance"
+worldToCamera="worldToCamera"
+worldToNDC="worldToNDC"
+v2f="v2f"
+v2i="v2i"
+v3f="v3f"
+v3i="v3i"
+wrapmodes="wrapmodes"
+xDensity="xDensity"
\ No newline at end of file
diff --git a/dictionaries/otf.dict b/dictionaries/otf.dict
new file mode 100644
index 00000000..cb9cf650
--- /dev/null
+++ b/dictionaries/otf.dict
@@ -0,0 +1,963 @@
+# https://docs.microsoft.com/en-us/typography/opentype/spec/
+
+# magic
+"ttcf"
+
+# feature tags
+"aalt"
+"abvf"
+"abvm"
+"abvs"
+"afrc"
+"akhn"
+"blwf"
+"blwm"
+"blws"
+"calt"
+"case"
+"ccmp"
+"cfar"
+"cjct"
+"clig"
+"cpct"
+"cpsp"
+"cswh"
+"curs"
+"cv01"
+"c2pc"
+"c2sc"
+"dist"
+"dlig"
+"dnom"
+"dtls"
+"expt"
+"falt"
+"fin2"
+"fin3"
+"fina"
+"flac"
+"frac"
+"fwid"
+"half"
+"haln"
+"halt"
+"hist"
+"hkna"
+"hlig"
+"hngl"
+"hojo"
+"hwid"
+"init"
+"isol"
+"ital"
+"jalt"
+"jp78"
+"jp83"
+"jp90"
+"jp04"
+"kern"
+"lfbd"
+"liga"
+"ljmo"
+"lnum"
+"locl"
+"ltra"
+"ltrm"
+"mark"
+"med2"
+"medi"
+"mgrk"
+"mkmk"
+"mset"
+"nalt"
+"nlck"
+"nukt"
+"numr"
+"onum"
+"opbd"
+"ordn"
+"ornm"
+"palt"
+"pcap"
+"pkna"
+"pnum"
+"pref"
+"pres"
+"pstf"
+"psts"
+"pwid"
+"qwid"
+"rand"
+"rclt"
+"rlig"
+"rkrf"
+"rphf"
+"rtbd"
+"rtla"
+"rtlm"
+"ruby"
+"rvrn"
+"salt"
+"sinf"
+"size"
+"smcp"
+"smpl"
+"ss01"
+"ssty"
+"stch"
+"subs"
+"sups"
+"swsh"
+"titl"
+"tjmo"
+"tnam"
+"tnum"
+"trad"
+"twid"
+"unic"
+"valt"
+"vatu"
+"vert"
+"vhal"
+"vjmo"
+"vkna"
+"vkrn"
+"vpal"
+"vrt2"
+"vrtr"
+"zero"
+
+# baseline tags
+"hang"
+"icfb"
+"ictf"
+"ideo"
+"idtp"
+"math"
+"romn"
+
+# axis tags
+"ital"
+"opsz"
+"slnt"
+"wdth"
+"wght"
+
+# tables
+"BASE"
+"CBDT"
+"CBLC"
+"CFF"
+"CFF2"
+"COLR"
+"CPAL"
+"DSIG"
+"EBDT"
+"EBLC"
+"EBSC"
+"GDEF"
+"GPOS"
+"GSUB"
+"HVAR"
+"JSTF"
+"LTSH"
+"MATH"
+"MERG"
+"MVAR"
+"OTTO"
+"PCLT"
+"STAT"
+"SVG"
+"VDMX"
+"VORG"
+"VVAR"
+"avar"
+"cmap"
+"cmat"
+"cvar"
+"cvt"
+"fpgm"
+"fvar"
+"gasp"
+"glyf"
+"gvar"
+"hdmx"
+"head"
+"hhea"
+"hmtx"
+"kern"
+"loca"
+"maxp"
+"meta"
+"name"
+"post"
+"prep"
+"sbix"
+"vhea"
+"vmtx"
+
+# script tags
+"adlm"
+"ahom"
+"hluw"
+"arab"
+"armn"
+"avst"
+"bali"
+"bamu"
+"bass"
+"batk"
+"beng"
+"bng2"
+"bhks"
+"bopo"
+"brah"
+"brai"
+"bugi"
+"buhd"
+"byzm"
+"cans"
+"cari"
+"aghb"
+"cakm"
+"cham"
+"cher"
+"hani"
+"copt"
+"cprt"
+"cyrl"
+"dsrt"
+"deva"
+"dev2"
+"dogr"
+"dupl"
+"egyp"
+"elba"
+"ethi"
+"geor"
+"glag"
+"goth"
+"gran"
+"grek"
+"gujr"
+"gjr2"
+"gong"
+"guru"
+"gur2"
+"hang"
+"jamo"
+"rohg"
+"hano"
+"hatr"
+"hebr"
+"kana"
+"armi"
+"phli"
+"prti"
+"java"
+"kthi"
+"knda"
+"knd2"
+"kana"
+"kali"
+"khar"
+"khmr"
+"khoj"
+"sind"
+"lao "
+"latn"
+"lepc"
+"limb"
+"lina"
+"linb"
+"lisu"
+"lyci"
+"lydi"
+"mahj"
+"maka"
+"mlym"
+"mlm2"
+"mand"
+"mani"
+"marc"
+"gonm"
+"math"
+"medf"
+"mtei"
+"mend"
+"merc"
+"mero"
+"plrd"
+"modi"
+"mong"
+"mroo"
+"mult"
+"musc"
+"mymr"
+"mym2"
+"nbat"
+"newa"
+"talu"
+"nko "
+"nshu"
+"orya"
+"ory2"
+"ogam"
+"olck"
+"ital"
+"hung"
+"narb"
+"perm"
+"xpeo"
+"sogo"
+"sarb"
+"orkh"
+"osge"
+"osma"
+"hmng"
+"palm"
+"pauc"
+"phag"
+"phnx"
+"phlp"
+"rjng"
+"runr"
+"samr"
+"saur"
+"shrd"
+"shaw"
+"sidd"
+"sgnw"
+"sinh"
+"sogd"
+"sora"
+"soyo"
+"xsux"
+"sund"
+"sylo"
+"syrc"
+"tglg"
+"tagb"
+"tale"
+"lana"
+"tavt"
+"takr"
+"taml"
+"tml2"
+"tang"
+"telu"
+"tel2"
+"thaa"
+"thai"
+"tibt"
+"tfng"
+"tirh"
+"ugar"
+"vai "
+"wara"
+"yi "
+"zanb"
+
+# language tags
+"ABA "
+"ABK "
+"ACH "
+"ACR "
+"ADY "
+"AFK "
+"AFR "
+"AGW "
+"AIO "
+"AKA "
+"ALS "
+"ALT "
+"AMH "
+"ANG "
+"APPH"	
+"ARA "
+"ARG "
+"ARI "
+"ARK "
+"ASM "
+"AST "
+"ATH "
+"AVR "
+"AWA "
+"AYM "
+"AZB "
+"AZE "
+"BAD "
+"BAD0"
+"BAG "
+"BAL "
+"BAN "
+"BAR "
+"BAU "
+"BBC "
+"BBR "	
+"BCH "
+"BCR "	
+"BDY "
+"BEL "
+"BEM "
+"BEN "
+"BGC "
+"BGQ "
+"BGR "
+"BHI "
+"BHO "
+"BIK "
+"BIL "
+"BIS "
+"BJJ "
+"BKF "
+"BLI "
+"BLK "
+"BLN "
+"BLT "
+"BMB "
+"BML "	
+"BOS "
+"BPY "
+"BRE "
+"BRH "
+"BRI "
+"BRM "
+"BRX "
+"BSH "
+"BSK "
+"BTI "
+"BTS "
+"BUG "
+"BYV "
+"CAK "
+"CAT "
+"CBK "
+"CCHN"
+"CEB "
+"CHE "
+"CHG "
+"CHH "
+"CHI "
+"CHK "
+"CHK0"
+"CHO "
+"CHP "
+"CHR "
+"CHA "
+"CHU "
+"CHY "
+"CGG "
+"CJA "
+"CJM "
+"CMR "
+"COP "
+"COR "
+"COS "
+"CPP "
+"CRE "
+"CRR "
+"CRT "
+"CSB "
+"CSL "
+"CSY "
+"CTG "
+"CUK "
+"DAN "
+"DAR "
+"DAX "
+"DCR "
+"DEU "
+"DGO "
+"DGR "
+"DHG "
+"DHV "
+"DIQ "
+"DIV "
+"DJR "
+"DJR0"
+"DNG "
+"DNJ "
+"DNK "
+"DRI "
+"DUJ "
+"DUN "
+"DZN "
+"EBI "
+"ECR "
+"EDO "
+"EFI "
+"ELL "
+"EMK "
+"ENG "
+"ERZ "
+"ESP "
+"ESU "
+"ETI "
+"EUQ "
+"EVK "
+"EVN "
+"EWE "
+"FAN "
+"FAN0"
+"FAR "
+"FAT "
+"FIN "
+"FJI "
+"FLE "
+"FMP "
+"FNE "
+"FON "
+"FOS "
+"FRA "
+"FRC "
+"FRI "
+"FRL "
+"FRP "
+"FTA "
+"FUL "
+"FUV "
+"GAD "
+"GAE "
+"GAG "
+"GAL "
+"GAR "	
+"GAW "
+"GEZ "
+"GIH "
+"GIL "
+"GIL0"
+"GKP "
+"GLK "
+"GMZ "
+"GNN "
+"GOG "
+"GON "
+"GRN "
+"GRO "
+"GUA "
+"GUC "
+"GUF "
+"GUJ "
+"GUZ "
+"HAI "
+"HAL "
+"HAR "
+"HAU "
+"HAW "
+"HAY "
+"HAZ "
+"HBN "
+"HER "
+"HIL "
+"HIN "
+"HMA "
+"HMN "
+"HMO "
+"HND "
+"HO  "
+"HRI "
+"HRV "
+"HUN "
+"HYE "
+"HYE0"
+"IBA "
+"IBB "
+"IBO "
+"IJO "
+"IDO "
+"ILE "
+"ILO "
+"INA "
+"IND "
+"ING "
+"INU "
+"IPK "
+"IPPH"
+"IRT "
+"ISL "
+"ISM "
+"ITA "
+"IWR "
+"JAM "
+"JAN "
+"JAV "
+"JBO "
+"JCT "
+"JII "
+"JUD "
+"JUL "
+"KAB "
+"KAB0"
+"KAC "
+"KAL "
+"KAN "
+"KAR "
+"KAT "
+"KAZ "
+"KDE "
+"KEA "
+"KEB "
+"KEK "
+"KGE "
+"KHA "
+"KHK "
+"KHM "
+"KHS "
+"KHT "
+"KHV "
+"KHW "
+"KIK "
+"KIR "
+"KIS "
+"KIU "
+"KJD "
+"KJP "
+"KJZ "
+"KKN "
+"KLM "
+"KMB "
+"KMN "
+"KMO "
+"KMS "
+"KMZ "
+"KNR "
+"KOD "
+"KOH "
+"KOK "
+"KON "
+"KOM "
+"KON0"
+"KOP "
+"KOR "
+"KOS "
+"KOZ "
+"KPL "
+"KRI "
+"KRK "
+"KRL "
+"KRM "
+"KRN "
+"KRT "
+"KSH "
+"KSH0"
+"KSI "
+"KSM "
+"KSW "
+"KUA "
+"KUI "
+"KUL "
+"KUM "
+"KUR "
+"KUU "
+"KUY "
+"KYK "
+"KYU "
+"LAD "
+"LAH "
+"LAK "
+"LAM "
+"LAO "
+"LAT "
+"LAZ "
+"LCR "
+"LDK "
+"LEZ "
+"LIJ "
+"LIM "
+"LIN "
+"LIS "
+"LJP "
+"LKI "
+"LMA "
+"LMB "
+"LMO "
+"LMW "
+"LOM "
+"LRC "
+"LSB "
+"LSM "
+"LTH "
+"LTZ "
+"LUA "
+"LUB "
+"LUG "
+"LUH "
+"LUO "
+"LVI "
+"MAD "
+"MAG "
+"MAH "
+"MAJ "
+"MAK "
+"MAL "
+"MAM "
+"MAN "
+"MAP "
+"MAR "
+"MAW "
+"MBN "
+"MBO "
+"MCH "
+"MCR "
+"MDE "
+"MDR "
+"MEN "
+"MER "
+"MFA "
+"MFE "
+"MIN "
+"MIZ "
+"MKD "
+"MKR "
+"MKW "
+"MLE "
+"MLG "
+"MLN "
+"MLR "
+"MLY "
+"MND "
+"MNG "
+"MNI "
+"MNK "
+"MNX "
+"MOH "
+"MOK "
+"MOL "
+"MON "
+"MOR "	
+"MOS "
+"MRI "
+"MTH "
+"MTS "
+"MUN "
+"MUS "
+"MWL "
+"MWW "
+"MYN "
+"MZN "
+"NAG "
+"NAH "
+"NAN "
+"NAP "
+"NAS "
+"NAU "
+"NAV "
+"NCR "
+"NDB "
+"NDC "
+"NDG "
+"NDS "
+"NEP "
+"NEW "
+"NGA "
+"NGR "	
+"NHC "
+"NIS "
+"NIU "
+"NKL "
+"NKO "
+"NLD "
+"NOE "
+"NOG "
+"NOR "
+"NOV "
+"NSM "
+"NSO "
+"NTA "
+"NTO "
+"NYM "
+"NYN "
+"NZA "
+"OCI "
+"OCR "
+"OJB "
+"ORI "
+"ORO "
+"OSS "
+"PAA "
+"PAG "
+"PAL "
+"PAM "
+"PAN "
+"PAP "
+"PAP0"
+"PAS "
+"PAU "
+"PCC "
+"PCD "
+"PDC "
+"PGR "
+"PHK "
+"PIH "
+"PIL "
+"PLG "
+"PLK "
+"PMS "
+"PNB "
+"POH "
+"PON "
+"PRO "
+"PTG "
+"PWO "
+"QIN "
+"QUC "
+"QUH "
+"QUZ "
+"QVI "
+"QWH "
+"RAJ "
+"RAR "
+"RBU "
+"RCR "
+"REJ "
+"RIA "
+"RIF "
+"RIT "
+"RKW "
+"RMS "
+"RMY "
+"ROM "
+"ROY "
+"RSY "
+"RTM "
+"RUA "
+"RUN "
+"RUP "
+"RUS "
+"SAD "
+"SAN "
+"SAS "
+"SAT "
+"SAY "
+"SCN "
+"SCO "
+"SEK "
+"SEL "
+"SGA "
+"SGO "
+"SGS "
+"SHI "
+"SHN "
+"SIB "
+"SID "
+"SIG "
+"SKS "
+"SKY "
+"SCS "
+"SLA "
+"SLV "
+"SML "
+"SMO "
+"SNA "
+"SNA0"
+"SND "
+"SNH "
+"SNK "
+"SOG "
+"SOP "
+"SOT "
+"SQI "
+"SRB "
+"SRD "
+"SRK "
+"SRR "
+"SSL "
+"SSM "
+"STQ "
+"SUK "
+"SUN "
+"SUR "
+"SVA "
+"SVE "
+"SWA "
+"SWK "
+"SWZ "
+"SXT "
+"SXU "
+"SYL "
+"SYR "
+"SYRE"
+"SYRJ"
+"SYRN"
+"SZL "
+"TAB "
+"TAJ "
+"TAM "
+"TAT "
+"TCR "
+"TDD "
+"TEL "
+"TET "
+"TGL "
+"TGN "
+"TGR "
+"TGY "
+"THA "
+"THT "
+"TIB "
+"TIV "
+"TKM "
+"TMH "
+"TMN "
+"TNA "
+"TNE "
+"TNG "
+"TOD "
+"TOD0"
+"TPI "
+"TRK "
+"TSG "
+"TSJ "
+"TUA "
+"TUM "
+"TUL "
+"TUV "
+"TVL "
+"TWI "
+"TYZ "
+"TZM "
+"TZO "
+"UDM "
+"UKR "
+"UMB "
+"URD "
+"USB "
+"UYG "
+"UZB "
+"VEC "
+"VEN "
+"VIT "
+"VOL "
+"VRO "
+"WA	 "
+"WAG "
+"WAR "
+"WCR "
+"WEL "
+"WLN "
+"WLF "
+"WTM "
+"XBD "
+"XKF "
+"XHS "
+"XJB "
+"XOG "
+"XPE "
+"YAK "
+"YAO "
+"YAP "
+"YBA "
+"YCR "
+"YIC "	
+"YIM "
+"ZEA "
+"ZGH "
+"ZHA "
+"ZHH "
+"ZHP "
+"ZHS "
+"ZHT "
+"ZND "
+"ZUL "
+"ZZA "
diff --git a/dictionaries/pbm.dict b/dictionaries/pbm.dict
new file mode 100644
index 00000000..98d61cab
--- /dev/null
+++ b/dictionaries/pbm.dict
@@ -0,0 +1,29 @@
+# https://en.wikipedia.org/wiki/Netpbm_format
+header1="P1"
+header2="P2"
+header3="P3"
+header4="P4"
+header5="P5"
+header6="P6"
+zero="0"
+one="1"
+comment="#"
+max="255"
+overflow="256"
+
+# PAM - https://en.wikipedia.org/wiki/Netpbm#PAM_graphics_format
+header7="P7"
+width="WIDTH"
+height="HEIGHT"
+depth="DEPTH"
+maxval="MAXVAL"
+enhdr="ENDHDR"
+tupltype="TUPLTYPE"
+tupltype1="RGB_ALPHA"
+tupltype2="RGB"
+typltype3="BLACKANDWHITE"
+typltype4="BLACKANDWHITE_ALPHA"
+typltype5="GRAYSCALE"
+typltype6="GRAYSCALE_ALPHA"
+maxval_num="65535"
+maxval_overlfow="65536"
diff --git a/dictionaries/pcap.dict b/dictionaries/pcap.dict
new file mode 100644
index 00000000..0ac622b8
--- /dev/null
+++ b/dictionaries/pcap.dict
@@ -0,0 +1,10 @@
+# https://www.tcpdump.org/pcap/pcap.html
+
+# Headers
+"\xa1\xb2\xc3\xd4"
+"\xd4\xc3\xb2\xa1"
+"\xa1\xb2\x3c\x4d"
+"\x4d\x3c\xb2\xa1"
+
+
+current_version="\x02\x00\x04\x00"
diff --git a/dictionaries/proj4.dict b/dictionaries/proj4.dict
new file mode 100644
index 00000000..8dc05562
--- /dev/null
+++ b/dictionaries/proj4.dict
@@ -0,0 +1,249 @@
+# Dictionary developed for proj4 standard_fuzzer.cpp 
+
+# valid proj types (lines 1,2), generated from seeds
+# $ grep -hoe 'proj=\w*' -o seeds/* | sort -u
+"+proj=aea"
+"+proj=aeqd"
+"+proj=calcofi"
+"+proj=cass"
+"+proj=cea"
+"+proj=comill"
+"+proj=eck4"
+"+proj=eck6"
+"+proj=eqc"
+"+proj=eqdc"
+"+proj=etmerc"
+"+proj=gall"
+"+proj=geocent"
+"+proj=geos"
+"+proj=gstmerc"
+"+proj=hammer"
+"+proj=healpix"
+"+proj=helmert"
+"+proj=kav5"
+"+proj=krovak"
+"+proj=labrd"
+"+proj=laea"
+"+proj=latlong"
+"+proj=lcc"
+"+proj=longlat"
+"+proj=merc"
+"+proj=mill"
+"+proj=misrsom"
+"+proj=moll"
+"+proj=natearth"
+"+proj=natearth2"
+"+proj=nzmg"
+"+proj=ob_tran"
+"+proj=omerc"
+"+proj=omerc"
+"+proj=patterson"
+"+proj=pconic"
+"+proj=poly"
+"+proj=qsc"
+"+proj=rhealpix"
+"+proj=robin"
+"+proj=sch"
+"+proj=sinu"
+"+proj=somerc"
+"+proj=stere"
+"+proj=sterea"
+"+proj=tmerc"
+"+proj=utm"
+"+proj=vandg"
+
+# valid datum types (lines 1,2), generated from seeds
+# $ grep -hoe 'datum=\w*' -o seeds/* | sort -u
+"+datum=GGRS87"
+"+datum=NAD27"
+"+datum=NAD83"
+"+datum=OSGB36"
+"+datum=WGS84"
+"+datum=carthage"
+"+datum=hermannskogel"
+"+datum=ire65"
+"+datum=nzgd49"
+"+datum=potsdam"
+
+# valid ellps types 
+# $ grep -hoe 'elps=\w*' -o seeds/* | sort -u
+"+ellps=GRS67"
+"+ellps=GRS80"
+"+ellps=WGS66"
+"+ellps=WGS72"
+"+ellps=WGS84"
+"+ellps=airy"
+"+ellps=aust_SA"
+"+ellps=bess_nam"
+"+ellps=bessel"
+"+ellps=clrk66"
+"+ellps=clrk80"
+"+ellps=everest"
+"+ellps=evrstSS"
+"+ellps=fschr60m"
+"+ellps=helmert"
+"+ellps=intl"
+"+ellps=krass"
+"+ellps=mod_airy"
+"+ellps=sphere"
+
+# other various valid types
+"+epoch=1988"
+"+gamma=53d7"
+"+geoidgrids=egm08_25"
+"+geoidgrids=g2012a_conus"
+"+lastupdate=1993"
+"+lat_0=44d00"
+"+lat_0=46"
+"+lat_1=18d49"
+"+lat_2=40d43"
+"+lat_ts=33"
+"+llps=bessel"
+"+llps=clrk66"
+"+lon_0=7"
+"+lon_1=62"
+"+lon_2=53"
+"+lonc=78d00"
+"+lpha=55d40"
+"+nadgrids=MD"
+"+nadgrids=chenyx06etrs"
+"+nadgrids=conus"
+"+nadgrids=ntf_r93"
+"+nadgrids=ntv1_can"
+"+nadgrids=ntv2_0"
+"+nadgrids=null"
+"+north=0"
+"+north_square=0"
+"+o_lat_p=LAT_POLE"
+"+o_lon_p=LON_POLE"
+"+o_proj=moll"
+"+origin=EPSG"
+"+origin=Esri"
+"+origin=IGNF"
+"+origin=Swisstopo"
+"+origin=ftp"
+"+origin=http"
+"+pm=jakarta"
+"+pm=lisbon"
+"+pm=madrid"
+"+pm=oslo"
+"+pm=paris"
+"+pm=rome"
+"+pm=stockholm"
+"+title=Amsterdam"
+"+towgs84=103"
+"+units=ft"
+"+units=km"
+"+units=link"
+"+units=m"
+"+units=us"
+"+vunits=m"
+"+vunits=us"
+
+# binary prefix for line 3
+"BINARY2D:"
+"BINARY3D:"
+
+# floating point numbers
+"-0.100000 "
+"0.000000 "
+"0.100000 "
+"1.100000 "
+"4294967295.000000 "
+"9007199254740992.000000 "
+"\x9a\x99\x99\x99\x99\x99\xf1\xbf"
+"\x9a\x99\x99\x99\x99\x99\xb9\xbf"
+"\x00\x00\x00\x00\x00\x00\x00\x00"
+"\x9a\x99\x99\x99\x99\x99\xb9\x3f"
+"\x9a\x99\x99\x99\x99\x99\xf1\x3f"
+"\x00\x00\xe0\xff\xff\xff\xef\x41"
+"\x00\x00\x00\x00\x00\x00\x40\x43"
+
+
+# valid prefixes
+"+R="
+"+RES="
+"+W="
+"+a="
+"+alpha="
+"+axis="
+"+azi="
+"+b="
+"+bs="
+"+d="
+"+datum="
+"+depmode="
+"+dest="
+"+dir="
+"+drx="
+"+dry="
+"+drz="
+"+ds="
+"+dx="
+"+dy="
+"+dz="
+"+e="
+"+ellps="
+"+epoch="
+"+es="
+"+f="
+"+files="
+"+flg="
+"+gamma="
+"+geoidgrids="
+"+h="
+"+has_opt="
+"+init="
+"+k="
+"+k_0="
+"+lastupdate="
+"+lat_0="
+"+lat_1="
+"+lat_2="
+"+lat_ts="
+"+lib="
+"+list="
+"+lon_0="
+"+lon_1="
+"+lon_2="
+"+lon_wrap="
+"+lonc="
+"+nadgrids="
+"+north="
+"+north_square="
+"+o_lat_p="
+"+o_lon_p="
+"+o_proj="
+"+origin="
+"+path="
+"+phdg_0="
+"+plat_0="
+"+plon_0="
+"+pm="
+"+prefix="
+"+proj="
+"+r_a="
+"+rf="
+"+rx="
+"+ry="
+"+rz="
+"+s="
+"+skip_next="
+"+south="
+"+south_square="
+"+srcdirstrip="
+"+sweep="
+"+target_option="
+"+title="
+"+to_meter="
+"+topsrcdirstrip="
+"+towgs84="
+"+units="
+"+version="
+"+vunits="
+"+x="
+"+x_0="
+"+y="
+"+y_0="
+"+z="
+"+zone="
diff --git a/dictionaries/protobuf.dict b/dictionaries/protobuf.dict
new file mode 100644
index 00000000..08a26738
--- /dev/null
+++ b/dictionaries/protobuf.dict
@@ -0,0 +1,40 @@
+# Keywords taken from https://developers.google.com/protocol-buffers/docs/reference/proto2-spec
+
+bool="bool"
+bytes="bytes"
+double="double"
+enum="enum"
+extend="extend"
+extension="extension"
+false="false"
+fixed32="fixed32"
+fixed64="fixed64"
+float="float"
+group="group"
+import="import"
+inner="inner"
+int32="int32"
+int64="int64"
+map="map<"
+message="message"
+option="option"
+optional="optional"
+package="package"
+public="public"
+repeated="repeated"
+required="required"
+reserved="reserved"
+returns="returns"
+rpc="rpc"
+service="service"
+sfixed32="sfixed32"
+sfixed64="sfixed64"
+sint32="sint32"
+sint64="sint64"
+stream="stream"
+string="string"
+syntax="syntax"
+true="true"
+uint32="uint32"
+uint64="uint64"
+weak="weak"
\ No newline at end of file
diff --git a/dictionaries/ps.dict b/dictionaries/ps.dict
new file mode 100644
index 00000000..af280f66
--- /dev/null
+++ b/dictionaries/ps.dict
@@ -0,0 +1,433 @@
+# https://web.archive.org/web/20170218093716/https://www.adobe.com/products/postscript/pdfs/PLRM.pdf
+# TODO(jvoisin) Add more, starting from page 318
+
+
+header="%!PS"
+
+#types
+"array"
+"packedarray"
+"dict"
+"string"
+"userdict"
+"$error"
+"statusdict"
+"FontDirectory"
+"globaldict"
+"systemdict"
+"GlobalFontDirectory"
+"Order"
+"DateSource"
+"BitsPerSample"
+"Encode"
+"Decode"
+"Size"
+
+# Stack operators
+"dup"
+"exch"
+"pop"
+"copy"
+"roll"
+"index"
+"mark"
+"clear"
+"count"
+"counttomark"
+"cleartomark"
+
+# maths
+"add"
+"sub"
+"mul"
+"div"
+"idiv"
+"mod"
+"abs"
+"neg"
+"ceiling"
+"floor"
+"round"
+"truncate"
+"sqrt"
+"exp"
+"ln"
+"log"
+"rand"
+"srang"
+"rrand"
+
+# arrays
+"get"
+"put"
+"copy"
+"length"
+"forall"
+"getinterval"
+"putinterval"
+"aload"
+"astore"
+"mark"
+"setpacking"
+"currentpacking"
+"begin"
+"end"
+"def"
+"store"
+"load"
+"where"
+"countdictstack"
+"cleardictstack"
+"dictstack"
+"known"
+"maxlength"
+"undef"
+"<<"
+">>"
+"search"
+"anchorsearch"
+"token"
+
+# relational operators
+"eq"
+"ne"
+"gt"
+"ge"
+"lt"
+"le"
+"and"
+"or"
+"xor"
+"true"
+"false"
+"bitshift"
+
+
+#control operators
+"if"
+"else"
+"ifelse"
+"exec"
+"for"
+"repeat"
+"loop"
+"forall"
+"pathforall"
+"kshow"
+"exit"
+"countexecstack"
+"execstack"
+"stop"
+"errordict"
+"stopped"
+
+
+# type
+"type"
+"xcheck"
+"rcheck"
+"wcheck"
+"cvlit"
+"cvx"
+"readonly"
+"executeonly"
+"noacces"
+"cvi"
+"cvr"
+"cns"
+"cvs"
+"cvrs"
+
+#misc
+"print"
+"invalidaccess"
+"gcheck"
+"showpage"
+"currentgstate"
+"currentfile"
+"status"
+"byteavailable"
+"setdevparams"
+"currentdevparams"
+"Predictor"
+"Columns"
+"Colors"
+"BitsPerComponent"
+"Uncompressed"
+"EndOfLine"
+"EncodedByteAlign"
+"EndOfBlock"
+"Blackls1"
+"DamagedRowsBeforeError"
+"CloseTarget"
+"HuffTables"
+"ColorTransform"
+
+
+# vm
+"load"
+"save"
+"restore"
+"setglobal"
+"grestoreall"
+"invalidrestore"
+"startjob"
+"exitserver"
+
+# User objects
+"defineuserobject"
+"undefineuserobject"
+"execuserobject"
+"UserObjects"
+
+#i/o
+"read"
+"write"
+"readstring"
+"readline"
+"writestring"
+"readhexstring"
+"writehexstring"
+"token"
+"flush"
+"flushfile"
+
+
+# files
+"file"
+"deletefile"
+"renamefile"
+"status"
+"filenameforall"
+"setfileposition"
+"fileposition"
+"%stdin"
+"%stdout"
+"%stderr"
+"%statementedit"
+"%lineedit"
+
+# Filters
+"ASCII85Decode"
+"ASCII85Encode"
+"ASCIIHexDecode"
+"ASCIIHexEncode"
+"Decode"
+"Encode"
+"RunLengthEncode"
+"RunLengthDecode"
+"CCITTFaxEncode"
+"CCITTFaxDecode"
+"DCTEncode"
+"DCTDecode"
+"ReusableStreamDecode"
+"NullEncode"
+"SubFileDecode"
+"filter"
+"LWZEncode"
+"LWZDecode"
+"FlateEncode"
+"FlateDecode"
+"EODCount"
+"EODString"
+"CloseSource"
+
+
+# Resources
+"findresource"
+"resourcestatus"
+"resourceforall"
+"definerresource"
+"undefineresource"
+"findfont"
+"definefont"
+"resourcestatsu"
+"Font"
+"CIDFont"
+"CMap"
+"FontSet"
+"Encoding"
+"Form"
+"Pattern"
+"ProcSet"
+"ColorSpace"
+"Halftone"
+"ColorRendering"
+"IdiomSet"
+"Inkparam"
+"TrapParams"
+"OutputDevice"
+"Controllangue"
+"Localization"
+"PDL"
+"HWOptions"
+"Filter"
+"ColorSpaceFamily"
+"Emulator"
+"IODevice"
+"ColorRenderingType"
+"FMapType"
+"FontType"
+"FormType"
+"HalftoneType"
+"ImageType"
+"PatternType"
+"FunctionType"
+"ShadingType"
+"TrappingType"
+"Category"
+"Generic"
+"BitMapFontInit"
+"CIDInit"
+"ColorRendering"
+"FontSetInit"
+"Trapping"
+"ColorSpace"
+"ColorSpaceFamily"
+"sethalftone"
+"DefineResource"
+"UndefineResource"
+"FindResource"
+"ResourceStatus"
+"ResourceForAll"
+"Category"
+"InstaceType"
+"ResourceFileName"
+"Intent"
+"AsyncRead"
+"Times-Roman"
+
+
+# Error handling
+"errorname"
+"errorinfo"
+"command"
+"newerror"
+"ostack"
+"estack"
+"dstack"
+"recordstacks"
+"binary"
+"bind"
+"average"
+
+
+# Image models
+"CTM"
+"DeviceGray"
+"arc"
+"arcn"
+"artct"
+"clip"
+"cliprestore"
+"clipsave"
+"closepath"
+"currentlinewidth"
+"curveto"
+"fill"
+"grestone"
+"gsave"
+"image"
+"ineofill"
+"infill"
+"instroke"
+"inueofill"
+"inustroke"
+"lineto"
+"moveto"
+"newpath"
+"nocurrentpoint"
+"path"
+"position"
+"rcurveto"
+"rlineto"
+"setbox"
+"setlinewidth"
+"show"
+"stroke"
+"ucache"
+"ufill"
+"ustroke"
+"cvlit"
+"ufill"
+"ueofill"
+"rectfill"
+"rectstoke"
+"rectclip"
+"execform"
+"FormType"
+"XIUD"
+"BBox"
+"Matrix"
+"PaintProc"
+"Implementation"
+
+
+# Colorspace
+"setcolorspace"
+"setgray"
+"setrgbcolor"
+"setcmykcolor"
+"image"
+"colorimage"
+"sethsbcolor"
+"CIEBasedABC"
+"CIEBasedA"
+"CIEBaseDEF"
+"CIEBaseDEFG"
+"Pattern"
+"Indexed"
+"Separation"
+"DeviceN"
+"setpattern"
+"currentgray"
+"currentrgbcolor"
+"currentcmykcolor"
+"setcachedevice"
+"setcachedevice2"
+"BuildGlyph"
+"BuildChar"
+"CharString"
+"shfill"
+"setundercolorremoval"
+"settransfer"
+"setscreen"
+"sethalftone"
+"setcolortransfer"
+"DeviceRGB"
+"DeviceCMYK"
+"DeviceGray"
+"RangeABC"
+"DecodeABC"
+"MatrixABC"
+"RangeLMN"
+"DecodeLMN"
+"MatrixLMN"
+"WhitePoint"
+"BlackPoint"
+
+
+# Patterns
+"PatternType"
+"XUID"
+"PaintProc"
+"BBox"
+"XStep"
+"YStep"
+"PaintType"
+"TilingType"
+"Implementation"
+"Shading"
+"ShadingType"
+"AntiAlias"
+"Coords"
+"BitsPerFlag"
+"BitsPerCoordinate"
+"MultipleDataSources"
+
+
+# Misc things
+"[-1, 1, -1, 1]"
+"[-1 1]"
+"1337"
+"<</"
\ No newline at end of file
diff --git a/dictionaries/psd.dict b/dictionaries/psd.dict
new file mode 100644
index 00000000..fefb8869
--- /dev/null
+++ b/dictionaries/psd.dict
@@ -0,0 +1,180 @@
+# https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/
+
+"8BPS"
+"8BIM"
+"8B64"
+
+# blend mode keys
+"pass"
+"norm"
+"diss"
+"dark"
+"mul "
+"idiv"
+"lbrn"
+"dkCl"
+"lite"
+"scrn"
+"deiv"
+"lddg"
+"lgCl"
+"over"
+"sLit"
+"hLit"
+"vLit"
+"lLit"
+"pLit"
+"hMix"
+"diff"
+"smud"
+"fsub"
+"fdiv"
+"hue "
+"sat "
+"colr"
+"lum "
+
+# adjustment layers
+"SoCo"
+"GdFl"
+"PtFl"
+"brit"
+"levl"
+"curv"
+"expA"
+"vibA"
+"hue "
+"hue2"
+"blnc"
+"blwh"
+"phfl"
+"mixr"
+"clrL"
+"nvrt"
+"post"
+"thrs"
+"grdm"
+"selc"
+
+# effect signatures
+"cmnS"
+"dsdw"
+"isdw"
+"oglw"
+"iglw"
+"bevl"
+"sofi"
+
+# keys
+"Layr"
+"Lr16"
+"Lr32"
+"TySh"
+"tySt"
+"lrFX"
+"luni"
+"lyid"
+"lfx2"
+"Patt"
+"Pat2"
+"Pat3"
+"Anno"
+"clbl"
+"infx"
+"knko"
+"lspf"
+"lclr"
+"fxrp"
+"grdm"
+"lsct"
+"brst"
+"SoCo"
+"PtFl"
+"GdFl"
+"vmsk"
+"vsms"
+"vscg"
+"ffxi"
+"lnsr"
+"shpa"
+"shmd"
+"lyvr"
+"tsly"
+"lmgm"
+"vmgm"
+"brit"
+"mixr"
+"clrL"
+"plLd"
+"lnkD"
+"lnk2"
+"lnk3"
+"phfl"
+"blwh"
+"CgEd"
+"Txt2"
+"vibA"
+"pths"
+"anFX"
+"FMsk"
+"SoLd"
+"vstk"
+"vscg"
+"sn2P"
+"vogk"
+"PxSc"
+"cinf"
+"PxSD"
+"artb"
+"artd"
+"abdd"
+"SoLE"
+"Mtrn"
+"Mt16"
+"Mt32"
+"LMsk"
+"expA"
+"FXid"
+"FEid"
+
+# color handling
+"conv"
+"avod"
+"lumi"
+
+# descriptor structure
+"obj "
+"Objc"
+"VlLs"
+"doub"
+"UntF"
+"TEXT"
+"enum"
+"long"
+"comp"
+"bool"
+"GlbO"
+"type"
+"GlbC"
+"alis"
+"tdta"
+
+# reference structure
+"prop"
+"Clss"
+"Enmr"
+"rele"
+"Idnt"
+"indx"
+"name"
+
+# misc
+"txtA"
+"sndA"
+"txtC"
+"sndM"
+"plcL"
+"liFD"
+"liFE"
+"lifA"
+"soLD"
diff --git a/dictionaries/regexp.dict b/dictionaries/regexp.dict
index 4e2d7a0f..07b890a0 100644
--- a/dictionaries/regexp.dict
+++ b/dictionaries/regexp.dict
@@ -8,249 +8,237 @@
 #
 # Contributed by Dhiraj Mishra <dhiraj@inputzero.io>
 #
-"?"
-"abc"
-"()"
-"[]"
-"abc|def"
-"abc|def|ghi"
-"^xxx$"
-"ab\\b\\d\\bcd"
-"\\w|\\d"
-"a*?"
-"abc+"
-"abc+?"
-"xyz?"
-"xyz??"
-"xyz{0,1}"
-"xyz{0,1}?"
-"xyz{93}"
-"xyz{1,32}"
-"xyz{1,32}?"
-"xyz{1,}"
-"xyz{1,}?"
-"a\\fb\\nc\\rd\\te\\vf"
-"a\\nb\\bc"
-"(?:foo)"
-"(?: foo )"
-"foo|(bar|baz)|quux"
-"foo(?=bar)baz"
-"foo(?!bar)baz"
-"foo(?<=bar)baz"
-"foo(?<!bar)baz"
 "()"
+"(?<!)"
+"(?<=)"
 "(?=)"
+"?"
+"[\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ ]"
 "[]"
-"[x]"
-"[xyz]"
-"[a-zA-Z0-9]"
-"[-123]"
-"[^123]"
+"\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ "
 "]"
+"{"
+"{,}"
+"{}"
 "}"
-"[a-b-c]"
-"[x\\dz]"
-"[\\d-z]"
-"[\\d-\\d]"
-"[z-\\d]"
-"\\cj\\cJ\\ci\\cI\\ck\\cK"
-"\\c!"
-"\\c_"
-"\\c~"
-"[\\c!]"
-"[\\c_]"
-"[\\c~]"
-"[\\ca]"
-"[\\cz]"
-"[\\cA]"
-"[\\cZ]"
-"[\\c1]"
-"\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ "
-"[\\[\\]\\{\\}\\(\\)\\%\\^\\#\\ ]"
-"\\8"
-"\\9"
-"\\11"
-"\\11a"
+"[\\0]"
+"[\\00011]"
+"[\\011]"
 "\\011"
-"\\118"
+"?:\\1"
+"[\\11]"
+"\\11"
+"[\\111]"
 "\\111"
+"[\\1111]"
 "\\1111"
-"(x)(x)(x)\\1"
-"(x)(x)(x)\\2"
-"(x)(x)(x)\\3"
-"(x)(x)(x)\\4"
-"(x)(x)(x)\\1*"
-"(x)(x)(x)\\3*"
-"(x)(x)(x)\\4*"
-"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\10"
-"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\11"
-"(a)\\1"
-"(a\\1)"
-"(\\1a)"
-"(\\2)(\\1)"
-"(?=a){0,10}a"
-"(?=a){1,10}a"
-"(?=a){9,10}a"
-"(?!a)?a"
+"\\1112"
+"[\\118]"
+"\\118"
+"[\\11a]"
+"\\11a"
+"{12,"
+"[-123]"
+"[^123]"
+"{12,3b"
+"\\1\\2(a(?:\\1\\2))\\2)\\1"
+"\\1\\2(a(?:\\1(b\\1\\2))\\2)\\1"
+"\\1\\2(b\\1\\2))\\2)\\1"
 "\\1(a)"
-"(?!(a))\\1"
+"(\\1a)"
 "(?!\\1(a\\1)\\1)\\1"
-"\\1\\2(a(?:\\1(b\\1\\2))\\2)\\1"
-"[\\0]"
-"[\\11]"
-"[\\11a]"
-"[\\011]"
-"[\\00011]"
-"[\\118]"
-"[\\111]"
-"[\\1111]"
-"\\x60"
-"\\x3z"
-"\\c"
-"\\u0034"
-"\\u003z"
-"foo[z]*"
-"\\u{12345}"
-"\\u{12345}\\u{23456}"
-"\\u{12345}{3}"
-"\\u{12345}*"
-"\\ud808\\udf45*"
-"[\\ud808\\udf45-\\ud809\\udccc]"
+"\\1(b\\1\\2))\\2)\\1"
+"{1z}"
+"(\\2)(\\1)"
+"\\8"
+"\\9"
+"{93}"
+"(?:a*)*"
+"(?:a*)+"
+"(?:a+)*"
+"(?:a+)+"
+"(?:a+)?"
+"(?:a?)*"
+"(?:a?)+"
+"(?:a?)?"
+"(?:a?)??"
+"(?<!a)"
+"(?<=a)"
+"(?<a>)"
+"(?<a>.)"
+"(a)"
 "a"
-"a|b"
-"a\\n"
-"a$"
-"a\\b!"
-"a\\Bb"
 "a*?"
+"a+"
+"a+?"
+"a."
 "a?"
 "a??"
+"a{"
+"a{,}"
+"a{}"
+"a$"
+"a{0}"
+"(?:a+){0,0}"
 "a{0,1}?"
-"a{1,2}?"
-"a+?"
-"(a)"
+"(?=a){0,10}a"
+"(?!(a))\\1"
 "(a)\\1"
-"(\\1a)"
-"\\1(a)"
-"a\\s"
-"a\\S"
-"a\\D"
-"a\\w"
-"a\\W"
-"a."
-"a\\q"
-"a[a]"
+"(a\\1)"
+"(?=a){1,10}a"
+"a{1,2}?"
+"a{12,"
+"a{12,3b"
+"a{12z}"
+"a{12za?)?"
+"(?:a{5,1000000}){3,1000000}"
+"(?=a){9,10}a"
+"(?!a)?a"
 "a[^a]"
-"a[a-z]"
-"a(?:b)"
-"a(?=b)"
-"a(?!b)"
-"\\x60"
-"\\u0060"
-"\\cA"
-"\\q"
-"\\1112"
-"(a)\\1"
+"a[a]"
 "(?!a)?a\\1"
 "(?:(?=a))a\\1"
-"a{}"
-"a{,}"
-"a{"
-"a{z}"
-"a{12z}"
-"a{12,"
-"a{12,3b"
-"{}"
-"{,}"
-"{"
-"{z}"
-"{1z}"
-"{12,"
-"{12,3b"
-"a"
-"abc"
-"a[bc]d"
-"a|bc"
-"ab|c"
-"a||bc"
+"a[a-z]"
 "(?:ab)"
-"(?:ab|cde)"
-"(?:ab)|cde"
-"(ab)"
-"(ab|cde)"
-"(ab)\\1"
-"(ab|cde)\\1"
-"(?:ab)?"
 "(?:ab)+"
-"a?"
-"a+"
-"a??"
-"a*?"
-"a+?"
-"(?:a?)?"
-"(?:a+)?"
-"(?:a?)+"
-"(?:a*)+"
-"(?:a+)+"
-"(?:a?)*"
-"(?:a*)*"
-"(?:a+)*"
-"a{0}"
-"(?:a+){0,0}"
+"(?:ab)?"
+"(ab)"
+"a(?!b)"
+"a(?:b)"
+"a(?=b)"
 "a*b"
 "a+b"
+"a\\b!"
+"a|b"
+"a*b\\+\\|[0-9]\\|\\d{1,9}"
+"(ab)\\1"
+"(?:ab){4,7}"
+"a\\Bb"
+"a(?!bbb|bb)c"
+"a(?=bbb|bb)c"
+"ab\\b\\d\\bcd"
+"[a-b-c]"
+"a(?=b)c"
 "a*b|c"
 "a+b|c"
-"(?:a{5,1000000}){3,1000000}"
-"(?:ab){4,7}"
 "a\\bc"
+"a||bc"
+"a|bc"
+"ab|c"
+"abc"
+"abc+"
+"abc+?"
+"a[bc]d"
+"(?:ab)|cde"
+"(?:ab|cde)"
+"(ab|cde)"
+"(ab|cde)\\1"
+"abc|def"
+"abc|def|ghi"
+"a\\D"
+"a\\fb\\nc\\rd\\te\\vf"
+"(?<a>.)\\k<a>"
+"a\\n"
+"a\\nb\\bc"
+"a\\q"
+"a\\s"
+"a\\S"
 "a\\sc"
 "a\\Sc"
-"a(?=b)c"
-"a(?=bbb|bb)c"
-"a(?!bbb|bb)c"
-"\xe2\x81\xa3"
-"[\xe2\x81\xa3]"
-"\xed\xb0\x80"
-"\xed\xa0\x80"
-"(\xed\xb0\x80)\x01"
-"((\xed\xa0\x80))\x02"
-"\xf0\x9f\x92\xa9"
-"\x01"
-"\x0f"
-"[-\xf0\x9f\x92\xa9]+"
-"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\xbf]"
-"(?<=)"
-"(?<=a)"
-"(?<!)"
-"(?<!a)"
-"(?<a>)"
-"(?<a>.)"
-"(?<a>.)\\k<a>"
-"\\p{Script=Greek}"
-"\\P{sc=Greek}"
-"\\p{Script_Extensions=Greek}"
-"\\P{scx=Greek}"
-"\\p{General_Category=Decimal_Number}"
+"a\\w"
+"a\\W"
+"a?)"xyz{93}"
+"a{z}"
+"[a-zA-Z0-9]"
+"[\\c!]"
+"[\\c_]"
+"[\\c~]"
+"\\c!"
+"\\c"
+"\\c_"
+"\\c~"
+"[\\c1]"
+"[\\ca]"
+"[\\cA]"
+"\\cA"
+"\\cj\\cJ\\ci\\cI\\ck\\cK"
+"[\\cz]"
+"[\\cZ]"
+"/^\\d*\\./"
+"/\\d{1,2}\\/\\d{1,2}\\/\\d{4}/"
+"\\[DataMember\\((.+?)\\)\\]"
+"[\\d-\\d]"
+"[\\d-z]"
+"(?: foo )"
+"(?:foo)"
+"foo(?=bar)bar)az"
+"foo(?=bar)bar)baz"
+"foo(?!bar)baz"
+"foo(?<!bar)baz"
+"foo(?<=bar)baz"
+"foo(?=bar)baz"
+"foo|(bar|baz)|quux"
+"fo(?o(?o(?o(?=bar)baz"
+"foo[z]*"
+"\\P{Any}"
+"\\p{Changes_When_NFKC_Casefolded}"
+"\\P{Decimal_Number}"
 "\\P{gc=Decimal_Number}"
 "\\p{gc=Nd}"
-"\\P{Decimal_Number}"
+"\\p{General_Category=Decimal_Number}"
 "\\p{Nd}"
-"\\P{Any}"
-"\\p{Changes_When_NFKC_Casefolded}"
-"(?:a?)??"
-"a?)"xyz{93}"
-"{93}"
-"a{12za?)?"
+"\\P{sc=Greek}"
+"\\p{Script_Extensions=Greek}"
+"\\p{Script=Greek}"
+"\\P{scx=Greek}"
+"\\q"
+"\\u0034"
+"\\u003z"
+"\\u0060"
+"\\u{12345}"
+"\\u{12345}*"
+"\\u{12345}{3}"
+"\\u{12345}\\u{23456}"
+"\\ud808\\udf45*"
+"[\\ud808\\udf45-\\ud809\\udccc]"
+"\\w|\\d"
+"[x]"
+"\x01"
+"\x0f"
+"\\x3z"
+"\\x60"
 "[\x8f]"
-"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\x92\xa9-\xf4\x8f\xbf\xbf]"
 "[\x92\xa9-\xf4\x8f\xbf\xbf]"
-"\\1\\2(b\\1\\2))\\2)\\1"
-"\\1\\2(a(?:\\1\\2))\\2)\\1"
-"?:\\1"
-"\\1(b\\1\\2))\\2)\\1"
-"\\1\\2(a(?:\\1(b\\1\\2))\\2)\\1"
-"foo(?=bar)bar)baz"
-"fo(?o(?o(?o(?=bar)baz"
-"foo(?=bar)baz"
-"foo(?=bar)bar)az"
+"[x\\dz]"
+"[\xe2\x81\xa3]"
+"\xe2\x81\xa3"
+"\xed\xa0\x80"
+"((\xed\xa0\x80))\x02"
+"\xed\xb0\x80"
+"(\xed\xb0\x80)\x01"
+"[-\xf0\x9f\x92\xa9]+"
+"\xf0\x9f\x92\xa9"
+"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\x92\xa9-\xf4\x8f\xbf\xbf]"
+"[\xf0\x9f\x92\xa9-\xf4\x8f\xbf\xbf]"
+"^xxx$"
+"(x)(x)(x)\\1"
+"(x)(x)(x)\\1*"
+"(x)(x)(x)\\2"
+"(x)(x)(x)\\3"
+"(x)(x)(x)\\3*"
+"(x)(x)(x)\\4"
+"(x)(x)(x)\\4*"
+"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\10"
+"(x)(x)(x)(x)(x)(x)(x)(x)(x)(x)\\11"
+"[xyz]"
+"xyz?"
+"xyz??"
+"xyz{0,1}"
+"xyz{0,1}?"
+"xyz{1,}"
+"xyz{1,}?"
+"xyz{1,32}"
+"xyz{1,32}?"
+"xyz{93}"
+"{z}"
+"[z-\\d]"
diff --git a/dictionaries/riff.dict b/dictionaries/riff.dict
new file mode 100644
index 00000000..627c72e7
--- /dev/null
+++ b/dictionaries/riff.dict
@@ -0,0 +1,17 @@
+# https://developers.google.com/speed/webp/docs/riff_container
+
+# FourCC
+"ALPH"
+"ANIM"
+"ANMF"
+"EXIF"
+"ICCP"
+"RIFF"
+"VP8 "
+"VP8L"
+"VP8X"
+"WEBP"
+"XMP "
+
+# VP8 signature
+"\x9D\x01\x2A"
diff --git a/dictionaries/rss.dict b/dictionaries/rss.dict
new file mode 100644
index 00000000..8dfb3340
--- /dev/null
+++ b/dictionaries/rss.dict
@@ -0,0 +1,31 @@
+# https://en.wikipedia.org/wiki/RSS
+
+"<?xml version='1.0' encoding='UTF-8' ?>"
+"<rss version='2.0'>"
+"<author>"
+"<category>"
+"<channel>"
+"<cloud>"
+"<comments>"
+"<copyright>"
+"<description>"
+"<docs>"
+"<enclosure>"
+"<generator>"
+"<guid>"
+"<image>"
+"<item>"
+"<language>"
+"<lastBuildDate>"
+"<link>"
+"<managingEditor>"
+"<pubDate>"
+"<rating>"
+"<skipDays>"
+"<skipHours>"
+"<source>"
+"<textInput>"
+"<title>"
+"<ttl>"
+"<url>"
+"<webMaster>"
diff --git a/dictionaries/rst.dict b/dictionaries/rst.dict
new file mode 100644
index 00000000..bdad2338
--- /dev/null
+++ b/dictionaries/rst.dict
@@ -0,0 +1,21 @@
+# https://docutils.readthedocs.io/en/sphinx-docs/ref/rst/restructuredtext.html
+
+bold="**"
+list1="1. "
+list2="(1) "
+list3="1) "
+list4="I. "
+list5="i. "
+list6="* "
+list7="- "
+list8="+ "
+end_of_paragraph="::"
+title="====="
+image=".. image:: "
+image_attr="    :a: 1"
+doctest=">>>"
+table1="+--+""
+table2="+==+""
+footnote_and_citation=".. [a] "
+hyperlink=".. _a: http://a "
+macro=".. |b| a"
diff --git a/dictionaries/rtf.dict b/dictionaries/rtf.dict
new file mode 100644
index 00000000..8b8f0cad
--- /dev/null
+++ b/dictionaries/rtf.dict
@@ -0,0 +1,419 @@
+# http://latex2rtf.sourceforge.net/RTF-Spec-1.0.txt
+
+# charset
+"\\ansi"
+"\\mac"
+"\\pca"
+
+# font table
+"\\fnil"
+"\\fswiss"
+"\\fmodern"
+"\\fscript"
+"\\fdecor"
+"\\ftech"
+
+
+# stylesheet
+"\\sbasedon"
+"\\snext"
+"\\keycode"
+
+
+# colors
+"\\red"
+"\\green"
+"\\blue"
+"\\cf"
+"\\cb"
+
+# pictures
+"\\macpict"
+"\\pmmetafile"
+"\\wmetafile"
+"\\dibitmap"
+"\\wbitmap"
+"\\wbmbitspixel"
+"\\wbmplanes"
+"\\wbmwidthbytes"
+"\\picw"
+"\\pich"
+"\\picwgoal"
+"\\pichgoal"
+"\\picscaley"
+"\\picscaled"
+"\\piccropt"
+"\\piccropb"
+"\\piccropl"
+"\\piccropr"
+"\\brdrs"
+"\\brdrdb"
+"\\brdrth"
+"\\brdrsh"
+"\\brdrdot"
+"\\brdrhair"
+"\\brdrw"
+"\\brdrcf"
+"\\shading"
+"\\bghoriz"
+"\\bgvert"
+"\\bgfdiag"
+"\\bgbdiag"
+"\\bgcross"
+"\\bgdcross"
+"\\bgdkhoriz"
+"\\bgdkvert"
+"\\bgdkfdiag"
+"\\bgdkbdiag"
+"\\bgdkcross"
+"\\bgdkdcross"
+"\\cfpat"
+"\\cbpat"
+"\\bin"
+"MM_TEXT"
+"MM_LOMETRIC"
+"MM_HIMETRIC"
+"MM_LOENGLISH"
+"MM_HIENGLISH"
+"MM_TWIPS"
+"MM_ISOTROPIC"
+"MM_ANISOTROPIC"
+"PU_ARBITRARY"
+"PU_PELS"
+"PU_LOMETRIC"
+"PU_HIMETRIC"
+"PU_LOENGLISH"
+"PU_HIENGLISH"
+"PU_TWIPS"
+
+# headers and gooters
+"\headerr"
+"\headerf"
+"\footerl"
+"\footerr"
+"\footerf"
+
+# misc
+"\\chftn"
+"\\*\\footnote"
+"\\*\\annotation"
+"\\bxe"
+"\\ixe"
+"\\tcf"
+"\\tcl"
+"\\*\\bkmkstart"
+"\\*\\bkmkend"
+
+# metadata
+"\\title"
+"\\subject"
+"\\author"
+"\\operator"
+"\\keywords"
+"\\comment"
+"\\version"
+"\\doccomm"
+"\\vern"
+"\\creatim"
+"\\revtim"
+"\\printim"
+"\\buptim"
+"\\edmins"
+"\\yr"
+"\\mo"
+"\\dy"
+"\\hr"
+"\\min"
+"\\nofpages"
+"\\nofwords"
+"\\nofchars"
+"\\id"
+"\\flddirty"
+"\\fldedit"
+"\\fldlock"
+"\\fldpriv"
+
+# objects
+"\\objemb"
+"\\objlink"
+"\\objautlink"
+"\\objsub"
+"\\objicemb"
+"\\linkself"
+"\\objlock"
+"\\objclass"
+"\\objname"
+"\\objh"
+"\\objw"
+"\\objsetsize"
+"\\objtransy"
+"\\objcropt"
+"\\objcropb"
+"\\objcropl"
+"\\objcropr"
+"\\objscalex"
+"\\objscaley"
+"\\objdata"
+"\\objalias"
+"\\objsect"
+"\\rsltrtf"
+"\\rsltpict"
+"\\rsltbmp"
+"\\rslttxt"
+"\\rsltmerge"
+"\\result"
+
+# macintosh editor
+"\\bkmkpub"
+"\\pubauto"
+"\\objalias"
+"\\objsect"
+
+# formating
+"\\deftab"
+"\\hyphhotz"
+"\\linestart"
+"\\fracwidth"
+"\\*\nextfile"
+"\\*\template"
+"\\makebackup"
+"\\defformat"
+"\\psover"
+"\\deflang"
+"\\ftnsep"
+"\\ftnsepc"
+"\\ftncn"
+"\\endnotes"
+"\\enddoc"
+"\\ftntj"
+"\\ftnbj"
+"\\ftnstart"
+"\\ftnrestart"
+"\\paperw"
+"\\paperh"
+"\\margl"
+"\\margr"
+"\\margt"
+"\\margb"
+"\\facingp"
+"\\gutter"
+"\\margmirror"
+"\\landscape"
+"\\pgnstart"
+"\\widowctrl"
+"\\revisions"
+"\\revprop"
+"\\revbar"
+"\\sectd"
+"\\endnhere"
+"\\binfsxn"
+"\\binsxn"
+"\\sbknone"
+"\\sbkcol"
+"\\sbkpage"
+"\\sbkeven"
+"\\sbkodd"
+"\\cols"
+"\\colsx"
+"\\linebetcol"
+"\\linemod"
+"\\linex"
+"\\linestarts"
+"\\linerestart"
+"\\lineppage"
+"\\linecont"
+"\\pgwsxn"
+"\\pghsxn"
+"\\marglsxn"
+"\\margrsxn"
+"\\margtsxn"
+"\\margbsxn"
+"\\guttersxn"
+"\\lndscpsxn"
+"\\titlepg"
+"\\headery"
+"\\footery"
+"\\pgnstarts"
+"\\pgncont"
+"\\pgnrestart"
+"\\pgnx"
+"\\pgny"
+"\\pgndec"
+"\\pgnucrm"
+"\\pgnlcrm"
+"\\pgnucltr"
+"\\pgnlcltr"
+"\\vertalt"
+"\\vertal"
+"\\vertalc"
+"\\vertalj"
+"\\pard"
+"\\s"
+"\\intbl"
+"\\keep"
+"\\keepn"
+"\\noline"
+"\\pagebb"
+"\\sbys"
+"\\ql"
+"\\qr"
+"\\qj"
+"\\qc"
+"\\fi"
+"\\li"
+"\\ri"
+"\\sb"
+"\\sa"
+"\\sl"
+"\\tx"
+"\\tqr"
+"\\tqc"
+"\\tqdec"
+"\\tb"
+"\\tldot"
+"\\tlhyph"
+"\\tlul"
+"\\tlth"
+"\\tleq"
+"\\brdrt"
+"\\brdrb"
+"\\brdrl"
+"\\brdrr"
+"\\brdrbtw"
+"\\brdrbar"
+"\\box"
+"\\brdrs"
+"\\brdrth"
+"\\brdrsh"
+"\\brdrdb"
+"\\brdrdot"
+"\\brdrhair"
+"\\brdrw"
+"\\brdrcf"
+"\\brsp"
+"\\shading"
+"\\bghoriz"
+"\\bgvert"
+"\\bgfdiag"
+"\\bgbdiag"
+"\\bgcross"
+"\\bgdcross"
+"\\bgdkhoriz"
+"\\bgdkvert"
+"\\bgdkfdiag"
+"\\bgdkbdiag"
+"\\bgdkcross"
+"\\bgdkdcross"
+"\\cfpat"
+"\\cbpat"
+"\\absw"
+"\\absh"
+"\\phmrg"
+"\\phpg"
+"\\phcol"
+"\\posx"
+"\\posxc"
+"\\posxi"
+"\\posxo"
+"\\posxr"
+"\\posxl"
+"\\pvmrg"
+"\\pvpg"
+"\\pvpara"
+"\\posy"
+"\\posyil"
+"\\posyt"
+"\\posyc"
+"\\posyb"
+"\\dxfrtext"
+"\\dyfrtext"
+
+#tables
+"\\trowd"
+"\\trgaph"
+"\\cellx"
+"\\clmgf"
+"\\clmrg"
+"\\clbrdrt"
+"\\clbrdrl"
+"\\clbrdrr"
+"\\trql"
+"\\trqr"
+"\\trqc"
+"\\trleft"
+"\\trrh"
+"\\clshdng"
+"\\clbghoriz"
+"\\clbgvert"
+"\\clbgfdiag"
+"\\clbgbdiag"
+"\\clbgcross"
+"\\clbgdcross"
+"\\clbgdkhor"
+"\\clbgdkvert"
+"\\clbgdkfdiag"
+"\\clbgdkbdiag"
+"\\clbgdkcross"
+"\\clbgdkdcross"
+"\\clcfpat"
+"\\clcbpat"
+
+# char format
+"\\plain"
+"\\b"
+"\\caps"
+"\\deleted"
+"\\dn"
+"\\expnd"
+"\\f"
+"\\fs"
+"\\i"
+"\\outl"
+"\\revised"
+"\\scaps"
+"\\shad"
+"\\strike"
+"\\ul"
+"\\uld"
+"\\uldb"
+"\\ulnone"
+"\\ulw"
+"\\up"
+"\\v"
+"\\lang"
+
+# special chars
+"\\chdate"
+"\\chdpl"
+"\\chdpa"
+"\\chtime"
+"\\chpgn"
+"\\chftn"
+"\\chatn"
+"\\chftnsep"
+"\\chftnsepc"
+"\\cell"
+"\\row"
+"\\par"
+"\\sect"
+"\\page"
+"\\column"
+"\\line"
+"\\tab"
+"\\emdash"
+"\\endash"
+"\\bullet"
+"\\lquote"
+"\\rquote"
+"\\ldblquote"
+"\\rdblquote"
+"\\|"
+"\\~"
+"\\-"
+"\\_"
+"\\:"
+"\\*"
+"\\'hh"
+"\\alt"
+"\\shift"
+"\\ctrl"
diff --git a/dictionaries/sas.dict b/dictionaries/sas.dict
new file mode 100644
index 00000000..2c8d14b2
--- /dev/null
+++ b/dictionaries/sas.dict
@@ -0,0 +1,37 @@
+" "
+"#"
+"$"
+"$CHAR"
+"%LET"
+"("
+")"
+"*/"
+"/*"
+";"
+"@"
+"ATTRIB"
+"CLEAR"
+"CONTENTS"
+"DATA"
+"DATE"
+"FILENAME"
+"FOOTNOTE"
+"FORMAT"
+"IF"
+"INFILE"
+"INPUT"
+"INVALUE"
+"LABEL"
+"LENGTH"
+"LIBNAME"
+"LIST"
+"MISSING"
+"OPTIONS"
+"OTHER"
+"PRINT"
+"PROC"
+"RUN"
+"VALUE"
+"_ALL_"
+"dlm"
+"firstobs"
diff --git a/dictionaries/spss.dict b/dictionaries/spss.dict
new file mode 100644
index 00000000..a9debe0e
--- /dev/null
+++ b/dictionaries/spss.dict
@@ -0,0 +1,46 @@
+"("
+"(NOMINAL)"
+"(ORDINAL)"
+"(SCALE)"
+")"
+"."
+"/"
+"/VARIABLES"
+"="
+" "
+"A"
+"ADATE"
+"COMMENT"
+"DATA"
+"DATASET"
+"DATE"
+"DELIMITERS"
+"DICTIONARY"
+"DISPLAY"
+"END"
+"EXECUTE"
+"F"
+"FILE"
+"FIRSTCASE"
+"FIXED"
+"FORMATS"
+"HANDLE"
+"IF"
+"INPUT"
+"LABEL"
+"LABELS"
+"LEVEL"
+"LIST"
+"NAME"
+"OUTFILE"
+"PROGRAM"
+"RECODE"
+"RECORD"
+"SAVE"
+"SELECT"
+"SET"
+"SYSMIS"
+"TABLE"
+"VALUE"
+"VARIABLE"
+"WINDOW"
diff --git a/dictionaries/stata.dict b/dictionaries/stata.dict
new file mode 100644
index 00000000..2c619db8
--- /dev/null
+++ b/dictionaries/stata.dict
@@ -0,0 +1,22 @@
+" "
+")"
+"*/"
+"/*"
+"_column("
+"_firstlineoffile("
+"_line("
+"_lines("
+"_lrecl("
+"_newline"
+"_skip("
+"byte"
+"dictionary"
+"double"
+"float"
+"infile"
+"int"
+"long"
+"str"
+"using"
+"{"
+"}"
diff --git a/dictionaries/svg.dict b/dictionaries/svg.dict
new file mode 100644
index 00000000..36071baf
--- /dev/null
+++ b/dictionaries/svg.dict
@@ -0,0 +1,170 @@
+# Keywords taken from
+#  - https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/Introduction
+#  - https://css-tricks.com/svg-properties-and-css/
+
+"<?xml version=\"1.0\" encoding=\"utf-8\"?>"
+"standalone="
+"version="
+"encoding="
+"<?xml"
+"?>"
+"/>"
+"<![CDATA["
+
+# tags
+"<svg"
+"xmlns=\"http://www.w3.org/2000/svg\""
+"<a"
+"<animate"
+"<animateMotion"
+"<animateTransform"
+"<circle"
+"<clipPath"
+"<color-profile"
+"<defs"
+"<desc"
+"<discard"
+"<ellipse"
+"<feBlend"
+"<feColorMatrix"
+"<feComponentTransfer"
+"<feComposite"
+"<feConvolveMatrix"
+"<feDiffuseLighting"
+"<feDisplacementMap"
+"<feDistantLight"
+"<feDropShadow"
+"<feFlood"
+"<feFuncA"
+"<feFuncB"
+"<feFuncG"
+"<feFuncR"
+"<feGaussianBlur"
+"<feImage"
+"<feMerge"
+"<feMergeNode"
+"<feMorphology"
+"<feOffset"
+"<fePointLight"
+"<feSpecularLighting"
+"<feSpotLight"
+"<feTile"
+"<feTurbulence"
+"<filter"
+"<foreignObject"
+"<g"
+"<hatch"
+"<hatchpath"
+"<image"
+"<line"
+"<linearGradient"
+"<marker"
+"<mask"
+"<mesh"
+"<meshgradient"
+"<meshpatch"
+"<meshrow"
+"<metadata"
+"<mpath"
+"<path"
+"<pattern"
+"<polygon"
+"<polyline"
+"<radialGradient"
+"<rect"
+"<rect"
+"<script"
+"<script>"
+"<set"
+"<solidcolor"
+"<stop"
+"<style"
+"<svg"
+"<switch"
+"<symbol"
+"<text"
+"<textArea"
+"<textPath"
+"<title"
+"<title>"
+"<tspan"
+"<unknown"
+"<use"
+"<view"
+
+
+# attributes
+"alignment-baseline"
+"baseline-shift"
+"class"
+"color"
+"cursor"
+"cx"
+"cy"
+"direction"
+"display"
+"dominant-baseline"
+"editable"
+"fill"
+"fill-opacity"
+"font-family"
+"font-size"
+"font-size-adjust"
+"font-stretch"
+"font-style"
+"font-variant"
+"font-weight"
+"glyph-orientation-horizontal"
+"glyph-orientation-vertical"
+"gradientUnits"
+"height"
+"kerning""
+"letter-spacing"
+"offset"
+"overflow"
+"patternContentUnits"
+"pointer-events"
+"points"
+"rotate"
+"rx"
+"ry"
+"spreadMethod"
+"stop-color"
+"stop-opacity"
+"stroke"
+"stroke-dasharray"
+"stroke-linecap"
+"stroke-linejoin"
+"stroke-opacity"
+"stroke-width"
+"style"
+"text-anchor"
+"text-decoration"
+"textlength"
+"transform"
+"unicode-bidi"
+"visibility"
+"width"
+"word-spacing"
+"writing-mode"
+"x1"
+"x2"
+"y1"
+"y2"
+
+# attributes' values
+"bounding-Box"
+"repeat"
+"display"
+"transparent"
+"orange"
+"round"
+"butt"
+"userSpaceOnUse"
+"objectBoundingBox"
+"square"
+"miter"
+"bevel"
+"translate("
+"rotate("
+"matrix("
\ No newline at end of file
diff --git a/dictionaries/tex.dict b/dictionaries/tex.dict
new file mode 100644
index 00000000..ce40fff5
--- /dev/null
+++ b/dictionaries/tex.dict
@@ -0,0 +1,122 @@
+# main keywords
+
+"@article{"
+"@conference{"
+"@misc{"
+"\\@."
+"\\Huge"
+"\\LARGE"
+"\\LaTeX\\"
+"\\Large"
+"\\author{"
+"\\begin{"
+"\\caption"
+"\\centering"
+"\\chapter{"
+"\\citeA{"
+"\\citeNP"
+"\\citeN{"
+"\\citeyear{"
+"\\cite{"
+"\\cline{"
+"\\date{"
+"\\documentclass{"
+"\\emph{"
+"\\end{"
+"\\footnotesize"
+"\\footnote{"
+"\\frac{"
+"\\hline"
+"\\hspace{"
+"\\huge"
+"\\includegraphics"
+"\\item{"
+"\\kill"
+"\\label{"
+"\\large"
+"\\ldots"
+"\\leq"
+"\\linespread"
+"\\maketitle{}"
+"\\multicolumn{"
+"\\newcommand{"
+"\\noindent"
+"\\normalfont{"
+"\\normalsize"
+"\\pagebreak"
+"\\pageref{"
+"\\pagestyle{"
+"\\part{"
+"\\prod_{"
+"\\raggedleft"
+"\\raggedright"
+"\\ref{"
+"\\rule{"
+"\\scriptsize"
+"\\section{"
+"\\setcounter{"
+"\\shortciteA{"
+"\\shortciteNP"
+"\\shortciteN{"
+"\\shortcite{"
+"\\small"
+"\\sqrt{"
+"\\subsection{"
+"\\sum_{"
+"\\tableofcontents"
+"\\textbackslash"
+"\\textbar"
+"\\textbf{"
+"\\textgreater"
+"\\textit{"
+"\\textless"
+"\\textmd{"
+"\\textnormal{"
+"\\textrm{"
+"\\textsc{"
+"\\textsf{"
+"\\textsl{"
+"\\texttt{"
+"\\textup{"
+"\\tiny"
+"\\title{"
+"\\today"
+"\\underline{"
+"\\usepackage"
+"\\vspace{"
+
+
+# misc
+
+"abbrv"
+"addres"
+"article"
+"book"
+"center"
+"description"
+"document"
+"draft"
+"em"
+"enumerate"
+"equation"
+"figure"
+"flushleft"
+"flushright"
+"hyperref"
+"itemize"
+"landscape"
+"letter"
+"letterpaper"
+"plain"
+"publisher"
+"quotation"
+"quote"
+"report"
+"slides"
+"tabular*"
+"twocolumn"
+"twoside"
+"unsrt"
+"verbatim*"
+"verse"
+"year"
diff --git a/dictionaries/theme-load-fuzz.dict b/dictionaries/theme-load-fuzz.dict
new file mode 100644
index 00000000..928b2a79
--- /dev/null
+++ b/dictionaries/theme-load-fuzz.dict
@@ -0,0 +1,9 @@
+"{"
+"}"
+"\""
+";"
+"="
+"formats"
+"replaces"
+"abstracts"
+"timestamp"
diff --git a/dictionaries/tokener_parse_ex.dict b/dictionaries/tokener_parse_ex.dict
new file mode 100644
index 00000000..23c6fa2c
--- /dev/null
+++ b/dictionaries/tokener_parse_ex.dict
@@ -0,0 +1,18 @@
+"{"
+"}"
+","
+"["
+"]"
+","
+":"
+"e"
+"e+"
+"e-"
+"E"
+"E+"
+"E-"
+"\""
+"null"
+"1"
+"1.234"
+"3e4"
diff --git a/dictionaries/toml.dict b/dictionaries/toml.dict
new file mode 100644
index 00000000..5fa58065
--- /dev/null
+++ b/dictionaries/toml.dict
@@ -0,0 +1,22 @@
+# https://github.com/toml-lang/toml
+
+key_value="a.b=\"c\""
+unicode="\\u1234"
+unicode_long="\\u12345678"
+true="true"
+false="false"
+multiline_literal="'''"
+multiline="\"\"\""
+integer="+1_2_3_4"
+negative_integer="-1"
+hex="0xde_ad"
+oct="0o6"
+bin="0b1"
+float="-6_3.6e-05"
+nan="nan"
+inf="inf"
+time="1979-05-27T07:32:00Z"
+array="[1,2]"
+table="[a]"
+inline_table="a={1=2,3=4}"
+array_table="[[a]]"
diff --git a/dictionaries/type42.dict b/dictionaries/type42.dict
new file mode 100644
index 00000000..f0aac6bc
--- /dev/null
+++ b/dictionaries/type42.dict
@@ -0,0 +1,25 @@
+# https://www.adobe.com/content/dam/acom/en/devnet/font/pdfs/5012.Type42_Spec.pdf
+# This format is a super-set of postscript, so don't forget to use ps.dict as well
+
+magic="%!PS-TrueTypeFont"
+"%%VMUsage:"
+"/FontType"
+"/FontMatrix"
+"/FontName"
+"/FontInfo"
+"/Encoding"
+"/FontBBox"
+"/UniqueID"
+"/XUID"
+"/PaintType"
+"/StrokeWidth"
+"/Metrics"
+"/Metrics2"
+"/CDevProc"
+"/CharStrings"
+"/sfnts"
+"/CIDMap"
+"/GDBytes"
+"/GlyphDirectory"
+"/MetricsCount"
+"/WMode"
diff --git a/dictionaries/url.dict b/dictionaries/url.dict
new file mode 100644
index 00000000..098f9053
--- /dev/null
+++ b/dictionaries/url.dict
@@ -0,0 +1,62 @@
+# https://en.wikipedia.org/wiki/Uniform_Resource_Identifier
+
+# scheme
+"aim"
+"callto"
+"cvs"
+"data"
+"facetime"
+"feed"
+"file"
+"ftp"
+"git"
+"gopher"
+"gtalk"
+"h323"
+"hdl"
+"http"
+"https"
+"imap"
+"irc"
+"irc6"
+"ircs"
+"itms"
+"javascript"
+"magnet"
+"mailto"
+"mms"
+"msnim"
+"news"
+"nntp"
+"prospero"
+"rsync"
+"rtsp"
+"rtspu"
+"sftp"
+"shttp"
+"sip"
+"sips"
+"skype"
+"smb"
+"snews"
+"ssh"
+"svn"
+"svn"
+"svn+ssh"
+"telnet"
+"tel"
+"wais"
+"ymsg" 
+
+# encoded characters
+"%2f"
+"%40"
+"%26"
+
+# misc
+"://"
+"//"
+"\\"
+"../"
+";type=a"
+"xn--"
diff --git a/dictionaries/utf8.dict b/dictionaries/utf8.dict
new file mode 100644
index 00000000..fecf163a
--- /dev/null
+++ b/dictionaries/utf8.dict
@@ -0,0 +1,73 @@
+# https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-test.txt
+
+
+# Defines byteorder and endianess
+byte_order="\xFE\xFF"
+
+# Reorder the display of text for RTL reading
+right_to_left="\x20\x2E"
+
+# Mongolian Vowel Separator: invisible and has the whitespace property
+invisible_separator="\x18\x03"
+
+# Invisible zero-width character.
+word_join="\x20\x60"
+
+# Reserved code point
+reserved="\xfe\xfe"
+
+# Invalid code point
+invalid1="\xff\xff"
+invalid2="\x01\xff\xff"
+invalid3="\xfdd0"
+
+# unassigned code point
+unassigned="\x0f\xed"
+
+# illegal low half-surrogate
+illegal_low="\xde\xad"
+
+# illegal high half-surrogate
+illegal_high="\xda\xad"
+
+# private use area code usbed by apple for its logo
+apple="\xf8\xff"
+
+# hostname normalization
+fullwidth_solidus="\xff\x0f"
+
+# numerical mapping and a value
+bold_eight="\x01\xd7\xd6"
+
+# # U+00DF normalizes to "ss" during IDNA2003's mapping phase,
+# different from its IDNA2008 mapping. See http://www.unicode.org/reports/tr46/
+weird="\x00\xdf"
+
+# U+FDFD expands by 11x (UTF-8) and 18x (UTF-16) under NFKC/NFKC
+expansion="\xfd\xfd"
+
+# U+0390 expands by 3x (UTF-8) under NFD
+expansion2="\x03\x90"
+
+# U+1F82 expands by 4x (UTF-16) under NFD
+expansion3= "\x1F\x82"
+
+# U+FB2C expands by 3x (UTF-16) under NFC
+expansion4="\xFB\x2C"
+
+# Lowecaser expansion: https://twitter.com/jifa/status/625776454479970304
+low_exp1="\x02\x3a"
+low_exp2="\x02\x3e"
+low_exp3="\x00\xdf"
+low_exp4="\x1e\x9e"
+
+# Null byte
+null="\x00\x00"
+"\xfc\x80\x80\x80\x80\x80"
+"fc\x80\x80\x80\x80\xaf"
+
+# Confusing new lines
+"\x00\x1b"
+"\x00\x85"
+"\x20\x28"
+"\x20\x29"
\ No newline at end of file
diff --git a/dictionaries/vcf.dict b/dictionaries/vcf.dict
new file mode 100644
index 00000000..3043f611
--- /dev/null
+++ b/dictionaries/vcf.dict
@@ -0,0 +1,119 @@
+# https://en.wikipedia.org/wiki/VCard
+
+# Properties
+"ADR;"
+"AGENT:"
+"ANNIVERSARY:"
+"BDAY:"
+"BEGIN:VCARD"
+"BIRTHPLACE;"
+"CALADRURI:"
+"CALURI:"
+"CATEGORIES:"
+"CLASS:"
+"CLIENTPIDMAP:"
+"DEATHDATE:"
+"DEATHPLACE;"
+"EMAIL:"
+"END:VCARD"
+"EXPERTISE;"
+"FBURL:"
+"FN:"
+"GENDER:"
+"GEO:"
+"HOBBY;"
+"IMPP:"
+"INTEREST;"
+"KEY"
+"KIND"
+"LABEL;"
+"LANG"
+"LOGO"
+"MAILER"
+"N:"
+"NAME:"
+"NICKNAME:"
+"NOTE:"
+"ORG:"
+"ORG-DIRECTORY:"
+"PHOTO;"
+"PRODID:"
+"PROFILE:VCARD"
+"RELATED;"
+"REV:"
+"ROLE:"
+"SHORT-STRING:"
+"SOUND;"
+"SOURCES:"
+"TEL;"
+"TITLE:"
+"TZ:"
+"UID:"
+"URL:"
+"VERSION:3.0"
+"XML:"
+
+# Extensions
+"X-ABUID"
+"X-AIM"
+"X-ANNIVERSARY"
+"X-ASSISTANT"
+"X-EVOLUTION-ANNIVERSARY"
+"X-EVOLUTION-ASSISTANT"
+"X-EVOLUTION-BLOG-URL"
+"X-EVOLUTION-CALLBACK"
+"X-EVOLUTION-FILE-AS"
+"X-EVOLUTION-LIST"
+"X-EVOLUTION-LIST-SHOW_ADDRESSES"
+"X-EVOLUTION-MANAGER"
+"X-EVOLUTION-RADIO"
+"X-EVOLUTION-SPOUSE"
+"X-EVOLUTION-TELEX"
+"X-EVOLUTION-TTYTDD"
+"X-EVOLUTION-VIDEO-URL"
+"X-GADUGADU"
+"X-GENDER"
+"X-GOOGLE-TALK,"
+"X-GROUPWISE"
+"X-ICQ"
+"X-JABBER"
+"X-KADDRESSBOOK-BlogFeed"
+"X-KADDRESSBOOK-OPENPGPFP"
+"X-KADDRESSBOOK-X-Anniversary"
+"X-KADDRESSBOOK-X-AssistantsName"
+"X-KADDRESSBOOK-X-IMAddress"
+"X-KADDRESSBOOK-X-ManagersName"
+"X-KADDRESSBOOK-X-Office"
+"X-KADDRESSBOOK-X-Profession"
+"X-KADDRESSBOOK-X-SpouseName"
+"X-MANAGER"
+"X-MOZILLA-HTML"
+"X-MOZILLA-PROPERTY"
+"X-MS-CARDPICTURE"
+"X-MS-IMADDRESS"
+"X-MS-OL-DESIGN"
+"X-MSN"
+"X-PHONETIC-FIRST-NAME,"
+"X-SKYPE,"
+"X-SPOUSE"
+"X-TWITTER"
+"X-WAB-GENDER"
+"X-WEBMONEY-ID"
+"X-YAHOO"
+
+# Misc
+"MEDIATYPE="
+"uri:tel"
+"TYPE=HOME,PREF:"
+"TYPE=PNG;"
+"TYPE=WORK,VOICE:"
+"x-qq:"
+"ENCODING=b:"
+"ENCODING=BASE64:"
+"MEDIATYPE="
+"data:"
+"application/gpg-keys;"
+"image/png;"
+"base64,"
+"audio/ogg"
+"LEVEL=expert:"
diff --git a/dictionaries/vhd.dict b/dictionaries/vhd.dict
new file mode 100644
index 00000000..100f17b3
--- /dev/null
+++ b/dictionaries/vhd.dict
@@ -0,0 +1,10 @@
+# https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-VHDX/%5bMS-VHDX%5d.pdf
+
+magic="\x65\x6C\x69\x66\x78\x64\x68\x76"
+head="\x64\x61\x65\x68"
+regi="\x69\x67\x65\x72"
+loge="\x65\x67\x6F\x6C"
+zero="\x6F\x72\x65\x7A"
+desc="\x63\x73\x65\x64"
+data="\x61\x74\x61\x64"
+metadata="\x61\x74\x61\x64\x61\x74\x65\x6D"
diff --git a/dictionaries/vpx_dec.dict b/dictionaries/vpx_dec.dict
new file mode 100644
index 00000000..c6dc1807
--- /dev/null
+++ b/dictionaries/vpx_dec.dict
@@ -0,0 +1,8 @@
+# IVF Signature + version (bytes 0-5)
+kw1="DKIF\x00\x00"
+
+# VP9 codec fourCC (bytes 8-11)
+kw2="VP90"
+
+# VP8 codec fourCC (bytes 8-11)
+kw3="VP80"
diff --git a/dictionaries/wav.dict b/dictionaries/wav.dict
new file mode 100644
index 00000000..83a26d0b
--- /dev/null
+++ b/dictionaries/wav.dict
@@ -0,0 +1,25 @@
+header="RIFF"
+header_id="WAVE"
+
+fmt_chunk="fmt "
+fact_chunk="fact"
+data_chunk="data"
+cue_chunk="cue "
+playlist_chunk="plst"
+list_chunk="list"
+label_chunk="labl"
+note_chunk="note"
+labeled_text_chunk="ltxt"
+sampler_chunk="smpl"
+instrument_chunk="inst"
+
+# IFF extension: https://web.archive.org/web/20080114200405/http://www.borg.com/~jglatt/tech/aboutiff.htm
+"FORM"
+"LIST"
+"CAT "
+"ILBM"
+"AIFF"
+"ANIM"
+"CMAP"
+"MIDI"
+"MThd"
\ No newline at end of file
diff --git a/dictionaries/webm.dict b/dictionaries/webm.dict
new file mode 100644
index 00000000..04e174f2
--- /dev/null
+++ b/dictionaries/webm.dict
@@ -0,0 +1,152 @@
+# Element IDs.
+IdEbml = "\x1A\x45\xDF\xA3"
+IdEbmlVersion = "\x42\x86"
+IdEbmlReadVersion = "\x42\xF7"
+IdEbmlMaxIdLength = "\x42\xF2"
+IdEbmlMaxSizeLength = "\x42\xF3"
+IdDocType = "\x42\x82"
+IdDocTypeVersion = "\x42\x87"
+IdDocTypeReadVersion = "\x42\x85"
+IdVoid = "\xEC"
+IdSegment = "\x18\x53\x80\x67"
+IdSeekHead = "\x11\x4D\x9B\x74"
+IdSeek = "\x4D\xBB"
+IdSeekId = "\x53\xAB"
+IdSeekPosition = "\x53\xAC"
+IdInfo = "\x15\x49\xA9\x66"
+IdTimecodeScale = "\x2A\xD7\xB1"
+IdDuration = "\x44\x89"
+IdDateUtc = "\x44\x61"
+IdTitle = "\x7B\xA9"
+IdMuxingApp = "\x4D\x80"
+IdWritingApp = "\x57\x41"
+IdCluster = "\x1F\x43\xB6\x75"
+IdTimecode = "\xE7"
+IdPrevSize = "\xAB"
+IdSimpleBlock = "\xA3"
+IdBlockGroup = "\xA0"
+IdBlock = "\xA1"
+IdBlockVirtual = "\xA2"
+IdBlockAdditions = "\x75\xA1"
+IdBlockMore = "\xA6"
+IdBlockAddId = "\xEE"
+IdBlockAdditional = "\xA5"
+IdBlockDuration = "\x9B"
+IdReferenceBlock = "\xFB"
+IdDiscardPadding = "\x75\xA2"
+IdSlices = "\x8E"
+IdTimeSlice = "\xE8"
+IdLaceNumber = "\xCC"
+IdTracks = "\x16\x54\xAE\x6B"
+IdTrackEntry = "\xAE"
+IdTrackNumber = "\xD7"
+IdTrackUid = "\x73\xC5"
+IdTrackType = "\x83"
+IdFlagEnabled = "\xB9"
+IdFlagDefault = "\x88"
+IdFlagForced = "\x55\xAA"
+IdFlagLacing = "\x9C"
+IdDefaultDuration = "\x23\xE3\x83"
+IdName = "\x53\x6E"
+IdLanguage = "\x22\xB5\x9C"
+IdCodecId = "\x86"
+IdCodecPrivate = "\x63\xA2"
+IdCodecName = "\x25\x86\x88"
+IdCodecDelay = "\x56\xAA"
+IdSeekPreRoll = "\x56\xBB"
+IdVideo = "\xE0"
+IdFlagInterlaced = "\x9A"
+IdStereoMode = "\x53\xB8"
+IdAlphaMode = "\x53\xC0"
+IdPixelWidth = "\xB0"
+IdPixelHeight = "\xBA"
+IdPixelCropBottom = "\x54\xAA"
+IdPixelCropTop = "\x54\xBB"
+IdPixelCropLeft = "\x54\xCC"
+IdPixelCropRight = "\x54\xDD"
+IdDisplayWidth = "\x54\xB0"
+IdDisplayHeight = "\x54\xBA"
+IdDisplayUnit = "\x54\xB2"
+IdAspectRatioType = "\x54\xB3"
+IdFrameRate = "\x23\x83\xE3"
+IdColour = "\x55\xB0"
+IdMatrixCoefficients = "\x55\xB1"
+IdBitsPerChannel = "\x55\xB2"
+IdChromaSubsamplingHorz = "\x55\xB3"
+IdChromaSubsamplingVert = "\x55\xB4"
+IdCbSubsamplingHorz = "\x55\xB5"
+IdCbSubsamplingVert = "\x55\xB6"
+IdChromaSitingHorz = "\x55\xB7"
+IdChromaSitingVert = "\x55\xB8"
+IdRange = "\x55\xB9"
+IdTransferCharacteristics = "\x55\xBA"
+IdPrimaries = "\x55\xBB"
+IdMaxCll = "\x55\xBC"
+IdMaxFall = "\x55\xBD"
+IdMasteringMetadata = "\x55\xD0"
+IdPrimaryRChromaticityX = "\x55\xD1"
+IdPrimaryRChromaticityY = "\x55\xD2"
+IdPrimaryGChromaticityX = "\x55\xD3"
+IdPrimaryGChromaticityY = "\x55\xD4"
+IdPrimaryBChromaticityX = "\x55\xD5"
+IdPrimaryBChromaticityY = "\x55\xD6"
+IdWhitePointChromaticityX = "\x55\xD7"
+IdWhitePointChromaticityY = "\x55\xD8"
+IdLuminanceMax = "\x55\xD9"
+IdLuminanceMin = "\x55\xDA"
+IdProjection = "\x76\x70"
+IdProjectionType = "\x76\x71"
+IdProjectionPrivate = "\x76\x72"
+IdProjectionPoseYaw = "\x76\x73"
+IdProjectionPosePitch = "\x76\x74"
+IdProjectionPoseRoll = "\x76\x75"
+IdAudio = "\xE1"
+IdSamplingFrequency = "\xB5"
+IdOutputSamplingFrequency = "\x78\xB5"
+IdChannels = "\x9F"
+IdBitDepth = "\x62\x64"
+IdContentEncodings = "\x6D\x80"
+IdContentEncoding = "\x62\x40"
+IdContentEncodingOrder = "\x50\x31"
+IdContentEncodingScope = "\x50\x32"
+IdContentEncodingType = "\x50\x33"
+IdContentEncryption = "\x50\x35"
+IdContentEncAlgo = "\x47\xE1"
+IdContentEncKeyId = "\x47\xE2"
+IdContentEncAesSettings = "\x47\xE7"
+IdAesSettingsCipherMode = "\x47\xE8"
+IdCues = "\x1C\x53\xBB\x6B"
+IdCuePoint = "\xBB"
+IdCueTime = "\xB3"
+IdCueTrackPositions = "\xB7"
+IdCueTrack = "\xF7"
+IdCueClusterPosition = "\xF1"
+IdCueRelativePosition = "\xF0"
+IdCueDuration = "\xB2"
+IdCueBlockNumber = "\x53\x78"
+IdChapters = "\x10\x43\xA7\x70"
+IdEditionEntry = "\x45\xB9"
+IdChapterAtom = "\xB6"
+IdChapterUid = "\x73\xC4"
+IdChapterStringUid = "\x56\x54"
+IdChapterTimeStart = "\x91"
+IdChapterTimeEnd = "\x92"
+IdChapterDisplay = "\x80"
+IdChapString = "\x85"
+IdChapLanguage = "\x43\x7C"
+IdChapCountry = "\x43\x7E"
+IdTags = "\x12\x54\xC3\x67"
+IdTag = "\x73\x73"
+IdTargets = "\x63\xC0"
+IdTargetTypeValue = "\x68\xCA"
+IdTargetType = "\x63\xCA"
+IdTagTrackUid = "\x63\xC5"
+IdSimpleTag = "\x67\xC8"
+IdTagName = "\x45\xA3"
+IdTagLanguage = "\x44\x7A"
+IdTagDefault = "\x44\x84"
+IdTagString = "\x44\x87"
+IdTagBinary = "\x44\x85"
+
+# Interesting sizes.
+SizeUnknown = "\xFF"
\ No newline at end of file
diff --git a/dictionaries/wkt.dict b/dictionaries/wkt.dict
new file mode 100644
index 00000000..68423b52
--- /dev/null
+++ b/dictionaries/wkt.dict
@@ -0,0 +1,35 @@
+# https://en.wikipedia.org/wiki/Well-known_text_representation_of_geometry
+
+"AFFINEPLACEMENT"
+"BREPSOLID"
+"CIRCLE"
+"CIRCULARSTRING"
+"CLOTHOID"
+"COMPOUNDCURVE"
+"CURVE"
+"CURVEPOLYGON"
+"ELLIPTICALCURVE"
+"EMPTY"
+"GEODESICSTRING"
+"GEOMETRY"
+"GEOMETRYCOLLECTION"
+"LINESTRING"
+"MULTICURVE"
+"MULTILINESTRING"
+"MULTIPOINT"
+"MULTIPOLYGON"
+"MULTISURFACE"
+"NURBSCURVE"
+"POINT"
+"PATCHES"
+"POLYGON"
+"POLYHEDRALSURFACE"
+"SPIRALCURVE"
+"SRID"
+"SURFACE"
+"TIN"
+"TRIANGLE"
+"ZM"
+
+# misc
+"(1,2)"
diff --git a/dictionaries/x86.dict b/dictionaries/x86.dict
new file mode 100644
index 00000000..9b87a504
--- /dev/null
+++ b/dictionaries/x86.dict
@@ -0,0 +1,1885 @@
+# https://www.felixcloutier.com/x86/
+# https://en.wikipedia.org/wiki/X86_instruction_listings
+# https://www.nasm.us/doc/nasmdocb.html
+
+"AAA"
+"AAD"
+"AAM"
+"AAS"
+"ADC"
+"ADCX"
+"ADD"
+"ADDPD"
+"ADDPS"
+"ADDSD"
+"ADDSS"
+"ADDSUBPD"
+"ADDSUBPS"
+"ADOX"
+"AESDEC"
+"AESDECLAST"
+"AESENC"
+"AESENCLAST"
+"AESIMC"
+"AESKEYGENASSIST"
+"ALTINST"
+"AMD"
+"AND"
+"ANDN"
+"ANDNPD"
+"ANDNPS"
+"ANDPD"
+"ANDPS"
+"ARPL"
+"AVX"
+"BEXTR"
+"BLCFILL"
+"BLCI"
+"BLCIC"
+"BLCMSK"
+"BLCS"
+"BLENDPD"
+"BLENDPS"
+"BLENDVPD"
+"BLENDVPS"
+"BLSFILL"
+"BLSI"
+"BLSIC"
+"BLSMSK"
+"BLSR"
+"BNDCL"
+"BNDCN"
+"BNDCU"
+"BNDLDX"
+"BNDMK"
+"BNDMOV"
+"BNDSTX"
+"BOUND"
+"BSF"
+"BSR"
+"BSWAP"
+"BT"
+"BTC"
+"BTR"
+"BTS"
+"BZHI"
+"CALL"
+"CBW"
+"CDQ"
+"CDQE"
+"CLAC"
+"CLC"
+"CLD"
+"CLDEMOTE"
+"CLFLUSH"
+"CLFLUSHOPT"
+"CLGI"
+"CLI"
+"CLTS"
+"CLWB"
+"CLZERO"
+"CMC"
+"CMOVB"
+"CMOVcc"
+"CMP"
+"CMPEQPD"
+"CMPEQSS"
+"CMPLEPD"
+"CMPLESS"
+"CMPLTPD"
+"CMPLTSS"
+"CMPNEQPD"
+"CMPNEQSS"
+"CMPNLEPD"
+"CMPNLESS"
+"CMPNLTPD"
+"CMPNLTSS"
+"CMPORDPD"
+"CMPORDSS"
+"CMPPD"
+"CMPPS"
+"CMPS"
+"CMPSB"
+"CMPSD"
+"CMPSD*"
+"CMPSQ"
+"CMPSS"
+"CMPSW"
+"CMPUNORDPD"
+"CMPUNORDSS"
+"CMPXCHG"
+"CMPXCHG16B"
+"CMPXCHG486"
+"CMPXCHG8B"
+"COMISD"
+"COMISS"
+"CPUID"
+"CPU_READ"
+"CPU_WRITE"
+"CQO"
+"CRC32"
+"CVTDQ2PD"
+"CVTDQ2PS"
+"CVTPD2DQ"
+"CVTPD2PI"
+"CVTPD2PS"
+"CVTPI2PD"
+"CVTPI2PS"
+"CVTPS2DQ"
+"CVTPS2PD"
+"CVTPS2PI"
+"CVTSD2SI"
+"CVTSD2SS"
+"CVTSI2SD"
+"CVTSI2SS"
+"CVTSS2SD"
+"CVTSS2SI"
+"CVTTPD2DQ"
+"CVTTPD2PI"
+"CVTTPS2DQ"
+"CVTTPS2PI"
+"CVTTSD2SI"
+"CVTTSS2SI"
+"CWD"
+"CWDE"
+"DAA"
+"DAS"
+"DB"
+"DEC"
+"DIV"
+"DIVPD"
+"DIVPS"
+"DIVSD"
+"DIVSS"
+"DMINT"
+"DO"
+"DPPD"
+"DPPS"
+"EACCEPT"
+"EACCEPTCOPY"
+"EADD"
+"EAUG"
+"EBLOCK"
+"ECREATE"
+"EDBGRD"
+"EDBGWR"
+"EDECVIRTCHILD"
+"EENTER"
+"EEXIT"
+"EEXTEND"
+"EGETKEY"
+"EINCVIRTCHILD"
+"EINIT"
+"ELBUC"
+"ELDB"
+"ELDBC"
+"ELDU"
+"EMMS"
+"EMODPE"
+"EMODPR"
+"EMODT"
+"ENCLS"
+"ENCLU"
+"ENCLV"
+"ENTER"
+"EPA"
+"EQU"
+"ERDINFO"
+"EREMOVE"
+"EREPORT"
+"ERESUME"
+"ESC"
+"ESETCONTEXT"
+"ETRACK"
+"ETRACKC"
+"EWB]"
+"EXTRACTPS"
+"EXTRQ"
+"F2XM1"
+"FABS"
+"FADD"
+"FADDP"
+"FBLD"
+"FBSTP"
+"FCHS"
+"FCLEX"
+"FCMOV"
+"FCMOVB"
+"FCMOVBE"
+"FCMOVE"
+"FCMOVNB"
+"FCMOVNBE"
+"FCMOVNE"
+"FCMOVNU"
+"FCMOVU"
+"FCMOVcc"
+"FCOM"
+"FCOMI"
+"FCOMIP"
+"FCOMP"
+"FCOMPP"
+"FCOS"
+"FDECSTP"
+"FDISI"
+"FDIV"
+"FDIVP"
+"FDIVR"
+"FDIVRP"
+"FEMMS"
+"FENI"
+"FFREE"
+"FFREEP"
+"FIADD"
+"FICOM"
+"FICOMP"
+"FIDIV"
+"FIDIVR"
+"FILD"
+"FIMUL"
+"FINCSTP"
+"FINIT"
+"FIST"
+"FISTP"
+"FISTTP"
+"FISUB"
+"FISUBR"
+"FLD"
+"FLD1"
+"FLDCW"
+"FLDENV"
+"FLDENVD"
+"FLDENVW"
+"FLDL2E"
+"FLDL2T"
+"FLDLG2"
+"FLDLN2"
+"FLDPI"
+"FLDZ"
+"FMUL"
+"FMULP"
+"FNCLEX"
+"FNDISI"
+"FNENI"
+"FNINIT"
+"FNOP"
+"FNSAVE"
+"FNSAVEW"
+"FNSTCW"
+"FNSTENV"
+"FNSTENVW"
+"FNSTSW"
+"FPATAN"
+"FPREM"
+"FPREM1"
+"FPTAN"
+"FRNDINT"
+"FRSTOR"
+"FRSTORD"
+"FRSTORW"
+"FSAVE"
+"FSAVED"
+"FSAVEW"
+"FSCALE"
+"FSETPM"
+"FSIN"
+"FSINCOS"
+"FSQRT"
+"FST"
+"FSTCW"
+"FSTENV"
+"FSTENVD"
+"FSTENVW"
+"FSTP"
+"FSTSW"
+"FSUB"
+"FSUBP"
+"FSUBR"
+"FSUBRP"
+"FTST"
+"FUCOM"
+"FUCOMI"
+"FUCOMIP"
+"FUCOMP"
+"FUCOMPP"
+"FWAIT"
+"FXAM"
+"FXCH"
+"FXRSTOR"
+"FXRSTOR64"
+"FXSAVE"
+"FXSAVE64"
+"FXTRACT"
+"FYL2X"
+"FYL2XP1"
+"GF2P8AFFINEINVQB"
+"GF2P8AFFINEQB"
+"GF2P8MULB"
+"HADDPD"
+"HADDPS"
+"HINT"
+"HLT"
+"HSUBPD"
+"HSUBPS"
+"IBTS"
+"ICEBP"
+"IDIV"
+"IMUL"
+"IN"
+"INC"
+"INS"
+"INSB"
+"INSD"
+"INSERTPS"
+"INSERTQ"
+"INSW"
+"INT"
+"INT01"
+"INT03"
+"INT1"
+"INT3"
+"INTO"
+"INVD"
+"INVEPT"
+"INVLPG"
+"INVLPGA"
+"INVPCID"
+"INVVPID"
+"IRET"
+"IRETD"
+"IRETQ"
+"IRETW"
+"IRETx"
+"JCXZ"
+"JECXZ"
+"JMP"
+"JMPE"
+"JRCXZ"
+"Jcc"
+"KADDB"
+"KADDD"
+"KADDQ"
+"KADDW"
+"KANDB"
+"KANDD"
+"KANDNB"
+"KANDND"
+"KANDNQ"
+"KANDNW"
+"KANDQ"
+"KANDW"
+"KMOVB"
+"KMOVD"
+"KMOVQ"
+"KMOVW"
+"KNOTB"
+"KNOTD"
+"KNOTQ"
+"KNOTW"
+"KORB"
+"KORD"
+"KORQ"
+"KORTESTB"
+"KORTESTD"
+"KORTESTQ"
+"KORTESTW"
+"KORW"
+"KSHIFTLB"
+"KSHIFTLD"
+"KSHIFTLQ"
+"KSHIFTLW"
+"KSHIFTRB"
+"KSHIFTRD"
+"KSHIFTRQ"
+"KSHIFTRW"
+"KTESTB"
+"KTESTD"
+"KTESTQ"
+"KTESTW"
+"KUNPCKBW"
+"KUNPCKDQ"
+"KUNPCKWD"
+"KXNORB"
+"KXNORD"
+"KXNORQ"
+"KXNORW"
+"KXORB"
+"KXORD"
+"KXORQ"
+"KXORW"
+"LAHF"
+"LAR"
+"LDDQU"
+"LDMXCSR"
+"LDS"
+"LEA"
+"LEAVE"
+"LES"
+"LFENCE"
+"LFS"
+"LGDT"
+"LGS"
+"LIDT"
+"LLDT"
+"LLWPCB"
+"LMSW"
+"LOADALL"
+"LOADALL286"
+"LOADALLD"
+"LOCK"
+"LODS"
+"LODSB"
+"LODSD"
+"LODSQ"
+"LODSW"
+"LOOP"
+"LOOPD"
+"LOOPE"
+"LOOPNE"
+"LOOPNZ"
+"LOOPW"
+"LOOPZ"
+"LOOPcc"
+"LSL"
+"LSS"
+"LTR"
+"LWPINS"
+"LWPVAL"
+"LZCNT"
+"MASKMOVDQU"
+"MASKMOVQ"
+"MAXPD"
+"MAXPS"
+"MAXSD"
+"MAXSS"
+"MFENCE"
+"MINPD"
+"MINPS"
+"MINSD"
+"MINSS"
+"MONITOR"
+"MONITORX"
+"MOV"
+"MOVAPD"
+"MOVAPS"
+"MOVBE"
+"MOVD"
+"MOVDDUP"
+"MOVDIR64B"
+"MOVDIRI"
+"MOVDQ2Q"
+"MOVDQA"
+"MOVDQU"
+"MOVHLPS"
+"MOVHPD"
+"MOVHPS"
+"MOVLHPS"
+"MOVLPD"
+"MOVLPS"
+"MOVMSKPD"
+"MOVMSKPS"
+"MOVNTDQ"
+"MOVNTDQA"
+"MOVNTI"
+"MOVNTPD"
+"MOVNTPS"
+"MOVNTQ"
+"MOVNTSD"
+"MOVNTSS"
+"MOVQ"
+"MOVQ2DQ"
+"MOVS"
+"MOVSB"
+"MOVSD"
+"MOVSD*"
+"MOVSHDUP"
+"MOVSLDUP"
+"MOVSQ"
+"MOVSS"
+"MOVSW"
+"MOVSX"
+"MOVSXD"
+"MOVUPD"
+"MOVUPS"
+"MOVZX"
+"MPSADBW"
+"MUL"
+"MULPD"
+"MULPS"
+"MULSD"
+"MULSS"
+"MULX"
+"MWAIT"
+"MWAITX"
+"NEG"
+"NOP"
+"NOT"
+"OR"
+"ORPD"
+"ORPS"
+"OUT"
+"OUTS"
+"OUTSB"
+"OUTSD"
+"OUTSW"
+"PABSB"
+"PABSD"
+"PABSQ"
+"PABSW"
+"PACKSSDW"
+"PACKSSWB"
+"PACKUSDW"
+"PACKUSWB"
+"PADDB"
+"PADDD"
+"PADDQ"
+"PADDSB"
+"PADDSIW"
+"PADDSW"
+"PADDUSB"
+"PADDUSW"
+"PADDW"
+"PALIGNR"
+"PAND"
+"PANDN"
+"PAUSE"
+"PAVEB"
+"PAVGB"
+"PAVGUSB"
+"PAVGW"
+"PBLENDVB"
+"PBLENDW"
+"PCLMULHQHQDQ"
+"PCLMULHQLQDQ"
+"PCLMULQDQ"
+"PCMPEQB"
+"PCMPEQD"
+"PCMPEQQ"
+"PCMPEQW"
+"PCMPESTRI"
+"PCMPESTRM"
+"PCMPGTB"
+"PCMPGTD"
+"PCMPGTQ"
+"PCMPGTW"
+"PCMPISTRI"
+"PCMPISTRM"
+"PCOMMIT"
+"PCONFIG"
+"PDEP"
+"PDISTIB"
+"PEXT"
+"PEXTRB"
+"PEXTRD"
+"PEXTRQ"
+"PEXTRW"
+"PF2ID"
+"PF2IW"
+"PFACC"
+"PFADD"
+"PFCMPEQ"
+"PFCMPGE"
+"PFCMPGT"
+"PFMAX"
+"PFMIN"
+"PFMUL"
+"PFNACC"
+"PFPNACC"
+"PFRCP"
+"PFRCPIT1"
+"PFRCPIT2"
+"PFRCPV"
+"PFRSQIT1"
+"PFRSQRT"
+"PFRSQRTV"
+"PFSUB"
+"PFSUBR"
+"PHADDD"
+"PHADDSW"
+"PHADDW"
+"PHMINPOSUW"
+"PHSUBD"
+"PHSUBSW"
+"PHSUBW"
+"PI2FD"
+"PI2FW"
+"PINSRB"
+"PINSRD"
+"PINSRQ"
+"PINSRW"
+"PMACHRIW"
+"PMADDUBSW"
+"PMADDWD"
+"PMAGW"
+"PMAXSB"
+"PMAXSD"
+"PMAXSQ"
+"PMAXSW"
+"PMAXUB"
+"PMAXUD"
+"PMAXUQ"
+"PMAXUW"
+"PMINSB"
+"PMINSD"
+"PMINSQ"
+"PMINSW"
+"PMINUB"
+"PMINUD"
+"PMINUQ"
+"PMINUW"
+"PMOVMSKB"
+"PMOVSX"
+"PMOVSXBD"
+"PMOVSXBQ"
+"PMOVSXBW"
+"PMOVSXDQ"
+"PMOVSXWD"
+"PMOVSXWQ"
+"PMOVZX"
+"PMOVZXBD"
+"PMOVZXBQ"
+"PMOVZXBW"
+"PMOVZXDQ"
+"PMOVZXWD"
+"PMOVZXWQ"
+"PMULDQ"
+"PMULHRIW"
+"PMULHRSW"
+"PMULHRW"
+"PMULHRWA"
+"PMULHRWC"
+"PMULHUW"
+"PMULHW"
+"PMULLD"
+"PMULLQ"
+"PMULLW"
+"PMULUDQ"
+"PMVGEZB"
+"PMVLZB"
+"PMVNZB"
+"PMVZB"
+"POP"
+"POPA"
+"POPAD"
+"POPAW"
+"POPCNT"
+"POPF"
+"POPFD"
+"POPFQ"
+"POPFW"
+"POR"
+"PREFETCH"
+"PREFETCHNTA"
+"PREFETCHT0"
+"PREFETCHT1"
+"PREFETCHT2"
+"PREFETCHW"
+"PREFETCHWT1"
+"PREFETCHh"
+"PSADBW"
+"PSHUFB"
+"PSHUFD"
+"PSHUFHW"
+"PSHUFLW"
+"PSHUFW"
+"PSIGNB"
+"PSIGND"
+"PSIGNW"
+"PSLLD"
+"PSLLDQ"
+"PSLLQ"
+"PSLLW"
+"PSRAD"
+"PSRAQ"
+"PSRAW"
+"PSRLD"
+"PSRLDQ"
+"PSRLQ"
+"PSRLW"
+"PSUBB"
+"PSUBD"
+"PSUBQ"
+"PSUBSB"
+"PSUBSIW"
+"PSUBSW"
+"PSUBUSB"
+"PSUBUSW"
+"PSUBW"
+"PSWAPD"
+"PTEST"
+"PTWRITE"
+"PUNPCKHBW"
+"PUNPCKHDQ"
+"PUNPCKHQDQ"
+"PUNPCKHWD"
+"PUNPCKLBW"
+"PUNPCKLDQ"
+"PUNPCKLQDQ"
+"PUNPCKLWD"
+"PUSH"
+"PUSHA"
+"PUSHAD"
+"PUSHAW"
+"PUSHF"
+"PUSHFD"
+"PUSHFQ"
+"PUSHFW"
+"PXOR"
+"RCL"
+"RCPPS"
+"RCPSS"
+"RCR"
+"RDFSBASE"
+"RDGSBASE"
+"RDM"
+"RDMSR"
+"RDPID"
+"RDPKRU"
+"RDPMC"
+"RDRAND"
+"RDSEED"
+"RDSHR"
+"RDTSC"
+"RDTSCP"
+"REP"
+"REPE"
+"REPNE"
+"REPNZ"
+"REPZ"
+"REPxx"
+"RESO"
+"RESW"
+"RESZ"
+"RET"
+"RETD"
+"RETF"
+"RETFD"
+"RETFQ"
+"RETFW"
+"RETN"
+"RETND"
+"RETNQ"
+"RETNW"
+"RETQ"
+"RETW"
+"ROL"
+"ROR"
+"RORX"
+"ROUNDPD"
+"ROUNDPS"
+"ROUNDSD"
+"ROUNDSS"
+"RSDC"
+"RSLDT"
+"RSM"
+"RSQRTPS"
+"RSQRTSS"
+"RSTS"
+"SAHF"
+"SAL"
+"SALC"
+"SAR"
+"SARX"
+"SBB"
+"SCAS"
+"SCASB"
+"SCASD"
+"SCASQ"
+"SCASW"
+"SETcc"
+"SETALC"
+"SFENCE"
+"SGDT"
+"SGX"
+"SHA1MSG1"
+"SHA1MSG2"
+"SHA1NEXTE"
+"SHA1RNDS4"
+"SHA256MSG1"
+"SHA256MSG2"
+"SHA256RNDS2"
+"SHL"
+"SHLD"
+"SHLX"
+"SHR"
+"SHRD"
+"SHRX"
+"SHUFPD"
+"SHUFPS"
+"SIDT"
+"SKINIT"
+"SLDT"
+"SLWPCB"
+"SMI"
+"SMINT"
+"SMINTOLD"
+"SMSW"
+"SMX"
+"SQRTPD"
+"SQRTPS"
+"SQRTSD"
+"SQRTSS"
+"SSE2"
+"STAC"
+"STC"
+"STD"
+"STGI"
+"STI"
+"STMXCSR"
+"STOS"
+"STOSB"
+"STOSD"
+"STOSQ"
+"STOSW"
+"STR"
+"SUB"
+"SUBPD"
+"SUBPS"
+"SUBSD"
+"SUBSS"
+"SVDC"
+"SVLDT"
+"SVTS"
+"SWAPGS"
+"SYSCALL"
+"SYSENTER"
+"SYSEXIT"
+"SYSRET"
+"T1MSKC"
+"TEST"
+"TPAUSE"
+"TZCNT"
+"TZMSK"
+"UCOMISD"
+"UCOMISS"
+"UD"
+"UD0"
+"UD1"
+"UD2"
+"UD2A"
+"UD2B"
+"UMONITOR"
+"UMOV"
+"UMWAIT"
+"UNPCKHPD"
+"UNPCKHPS"
+"UNPCKLPD"
+"UNPCKLPS"
+"V4DPWSSDS"
+"V4FMADDPS"
+"V4FMADDSS"
+"V4FNMADDPS"
+"V4FNMADDSS"
+"VADDPD"
+"VADDPS"
+"VADDSD"
+"VADDSS"
+"VADDSUBPD"
+"VADDSUBPS"
+"VAESDEC"
+"VAESDECLAST"
+"VAESENC"
+"VAESENCLAST"
+"VAESIMC"
+"VALIGND"
+"VALIGNQ"
+"VANDNPD"
+"VANDNPS"
+"VANDPD"
+"VANDPS"
+"VBLENDMPD"
+"VBLENDMPS"
+"VBLENDPD"
+"VBLENDPS"
+"VBLENDVPD"
+"VBLENDVPS"
+"VBROADCAST"
+"VBROADCASTF32X2"
+"VBROADCASTF32X4"
+"VBROADCASTF32X8"
+"VBROADCASTF64X2"
+"VBROADCASTF64X4"
+"VBROADCASTI128"
+"VBROADCASTI32X2"
+"VBROADCASTI32X4"
+"VBROADCASTI32X8"
+"VBROADCASTI64X2"
+"VBROADCASTI64X4"
+"VBROADCASTSD"
+"VBROADCASTSS"
+"VCMPEQPD"
+"VCMPEQPS"
+"VCMPEQSS"
+"VCMPEQ_OSPD"
+"VCMPEQ_OSPS"
+"VCMPEQ_OSSD"
+"VCMPEQ_UQPD"
+"VCMPEQ_UQPS"
+"VCMPEQ_UQSD"
+"VCMPEQ_USPD"
+"VCMPEQ_USPS"
+"VCMPEQ_USSD"
+"VCMPFALSEPD"
+"VCMPFALSEPS"
+"VCMPFALSESD"
+"VCMPFALSE_OQPD"
+"VCMPFALSE_OQPS"
+"VCMPFALSE_OQSS"
+"VCMPFALSE_OSPD"
+"VCMPFALSE_OSPS"
+"VCMPFALSE_OSSS"
+"VCMPGEPD"
+"VCMPGEPS"
+"VCMPGESS"
+"VCMPGE_OQPD"
+"VCMPGE_OQPS"
+"VCMPGE_OQSS"
+"VCMPGE_OSPD"
+"VCMPGE_OSPS"
+"VCMPGE_OSSD"
+"VCMPGTPD"
+"VCMPGTPS"
+"VCMPGTSS"
+"VCMPGT_OQPD"
+"VCMPGT_OQPS"
+"VCMPGT_OQSD"
+"VCMPGT_OSPD"
+"VCMPGT_OSPS"
+"VCMPGT_OSSD"
+"VCMPLEPD"
+"VCMPLEPS"
+"VCMPLESS"
+"VCMPLE_OQPD"
+"VCMPLE_OQPS"
+"VCMPLE_OQSD"
+"VCMPLE_OSPD"
+"VCMPLE_OSPS"
+"VCMPLE_OSSD"
+"VCMPLTPD"
+"VCMPLTPS"
+"VCMPLTSS"
+"VCMPLT_OQPD"
+"VCMPLT_OQPS"
+"VCMPLT_OQSS"
+"VCMPLT_OSPD"
+"VCMPLT_OSPS"
+"VCMPLT_OSSD"
+"VCMPNEQPD"
+"VCMPNEQPS"
+"VCMPNEQSS"
+"VCMPNEQ_OQPD"
+"VCMPNEQ_OQPS"
+"VCMPNEQ_OQSS"
+"VCMPNEQ_OSPD"
+"VCMPNEQ_OSPS"
+"VCMPNEQ_OSSD"
+"VCMPNEQ_UQPD"
+"VCMPNEQ_UQPS"
+"VCMPNEQ_UQSD"
+"VCMPNEQ_USPD"
+"VCMPNEQ_USPS"
+"VCMPNEQ_USSD"
+"VCMPNGEPD"
+"VCMPNGEPS"
+"VCMPNGESD"
+"VCMPNGE_UQPD"
+"VCMPNGE_UQPS"
+"VCMPNGE_UQSS"
+"VCMPNGE_USPD"
+"VCMPNGE_USPS"
+"VCMPNGE_USSS"
+"VCMPNGTPD"
+"VCMPNGTPS"
+"VCMPNGTSD"
+"VCMPNGT_UQPD"
+"VCMPNGT_UQPS"
+"VCMPNGT_UQSD"
+"VCMPNGT_USPD"
+"VCMPNGT_USPS"
+"VCMPNGT_USSS"
+"VCMPNLEPD"
+"VCMPNLEPS"
+"VCMPNLESS"
+"VCMPNLE_UQPD"
+"VCMPNLE_UQPS"
+"VCMPNLE_UQSD"
+"VCMPNLE_USPD"
+"VCMPNLE_USPS"
+"VCMPNLE_USSD"
+"VCMPNLTPD"
+"VCMPNLTPS"
+"VCMPNLTSS"
+"VCMPNLT_UQPD"
+"VCMPNLT_UQPS"
+"VCMPNLT_UQSS"
+"VCMPNLT_USPD"
+"VCMPNLT_USPS"
+"VCMPNLT_USSD"
+"VCMPORDPD"
+"VCMPORDPS"
+"VCMPORDSS"
+"VCMPORD_QPD"
+"VCMPORD_QPS"
+"VCMPORD_QSD"
+"VCMPORD_SPD"
+"VCMPORD_SPS"
+"VCMPORD_SSS"
+"VCMPPD"
+"VCMPPS"
+"VCMPSD"
+"VCMPTRUEPD"
+"VCMPTRUEPS"
+"VCMPTRUESS"
+"VCMPTRUE_UQPD"
+"VCMPTRUE_UQPS"
+"VCMPTRUE_UQSD"
+"VCMPTRUE_USPD"
+"VCMPTRUE_USPS"
+"VCMPTRUE_USSS"
+"VCMPUNORDPD"
+"VCMPUNORDPS"
+"VCMPUNORDSS"
+"VCMPUNORD_QPD"
+"VCMPUNORD_QPS"
+"VCMPUNORD_QSD"
+"VCMPUNORD_SPD"
+"VCMPUNORD_SPS"
+"VCMPUNORD_SSS"
+"VCOMISD"
+"VCOMPRESSPD"
+"VCOMPRESSPS"
+"VCVTDQ2PD"
+"VCVTDQ2PS"
+"VCVTPD2DQ"
+"VCVTPD2PS"
+"VCVTPD2QQ"
+"VCVTPD2UDQ"
+"VCVTPD2UQQ"
+"VCVTPH2PS"
+"VCVTPS2DQ"
+"VCVTPS2PD"
+"VCVTPS2PH"
+"VCVTPS2QQ"
+"VCVTPS2UDQ"
+"VCVTPS2UQQ"
+"VCVTQQ2PD"
+"VCVTQQ2PS"
+"VCVTSD2SI"
+"VCVTSD2SS"
+"VCVTSD2USI"
+"VCVTSI2SD"
+"VCVTSI2SS"
+"VCVTSS2SD"
+"VCVTSS2SI"
+"VCVTSS2USI"
+"VCVTTPD2DQ"
+"VCVTTPD2QQ"
+"VCVTTPD2UDQ"
+"VCVTTPD2UQQ"
+"VCVTTPS2DQ"
+"VCVTTPS2QQ"
+"VCVTTPS2UDQ"
+"VCVTTPS2UQQ"
+"VCVTTSD2SI"
+"VCVTTSD2USI"
+"VCVTTSS2SI"
+"VCVTTSS2USI"
+"VCVTUDQ2PD"
+"VCVTUDQ2PS"
+"VCVTUQQ2PD"
+"VCVTUQQ2PS"
+"VCVTUSI2SD"
+"VCVTUSI2SS"
+"VDBPSADBW"
+"VDIVPD"
+"VDIVPS"
+"VDIVSD"
+"VDPPD"
+"VDPPS"
+"VERR"
+"VERW"
+"VEXP2PD"
+"VEXP2PS"
+"VEXPANDPD"
+"VEXPANDPS"
+"VEXTRACTF128"
+"VEXTRACTF32X4"
+"VEXTRACTF32X8"
+"VEXTRACTF32x4"
+"VEXTRACTF32x8"
+"VEXTRACTF64X2"
+"VEXTRACTF64X4"
+"VEXTRACTF64x2"
+"VEXTRACTF64x4"
+"VEXTRACTI128"
+"VEXTRACTI32X4"
+"VEXTRACTI32X8"
+"VEXTRACTI32x4"
+"VEXTRACTI32x8"
+"VEXTRACTI64X2"
+"VEXTRACTI64X4"
+"VEXTRACTI64x2"
+"VEXTRACTI64x4"
+"VEXTRACTPS"
+"VFIXUPIMMPD"
+"VFIXUPIMMPS"
+"VFIXUPIMMSD"
+"VFIXUPIMMSS"
+"VFMADD123PD"
+"VFMADD123PS"
+"VFMADD123SD"
+"VFMADD132PD"
+"VFMADD132PS"
+"VFMADD132SD"
+"VFMADD132SS"
+"VFMADD213PD"
+"VFMADD213PS"
+"VFMADD213SD"
+"VFMADD213SS"
+"VFMADD231PD"
+"VFMADD231PS"
+"VFMADD231SD"
+"VFMADD231SS"
+"VFMADD312PD"
+"VFMADD312PS"
+"VFMADD312SD"
+"VFMADD321PD"
+"VFMADD321PS"
+"VFMADD321SD"
+"VFMADDPD"
+"VFMADDPS"
+"VFMADDSD"
+"VFMADDSS"
+"VFMADDSUB123PD"
+"VFMADDSUB123PS"
+"VFMADDSUB132PD"
+"VFMADDSUB132PS"
+"VFMADDSUB213PD"
+"VFMADDSUB213PS"
+"VFMADDSUB231PD"
+"VFMADDSUB231PS"
+"VFMADDSUB312PD"
+"VFMADDSUB312PS"
+"VFMADDSUB321PD"
+"VFMADDSUB321PS"
+"VFMADDSUBPD"
+"VFMADDSUBPS"
+"VFMSUB123PD"
+"VFMSUB123PS"
+"VFMSUB123SD"
+"VFMSUB132PD"
+"VFMSUB132PS"
+"VFMSUB132SD"
+"VFMSUB132SS"
+"VFMSUB213PD"
+"VFMSUB213PS"
+"VFMSUB213SD"
+"VFMSUB213SS"
+"VFMSUB231PD"
+"VFMSUB231PS"
+"VFMSUB231SD"
+"VFMSUB231SS"
+"VFMSUB312PD"
+"VFMSUB312PS"
+"VFMSUB312SD"
+"VFMSUB321PD"
+"VFMSUB321PS"
+"VFMSUB321SD"
+"VFMSUBADD123PD"
+"VFMSUBADD123PS"
+"VFMSUBADD132PD"
+"VFMSUBADD132PS"
+"VFMSUBADD213PD"
+"VFMSUBADD213PS"
+"VFMSUBADD231PD"
+"VFMSUBADD231PS"
+"VFMSUBADD312PD"
+"VFMSUBADD312PS"
+"VFMSUBADD321PD"
+"VFMSUBADD321PS"
+"VFMSUBADDPD"
+"VFMSUBADDPS"
+"VFMSUBPD"
+"VFMSUBPS"
+"VFMSUBSD"
+"VFMSUBSS"
+"VFNMADD123PD"
+"VFNMADD123PS"
+"VFNMADD123SD"
+"VFNMADD132PD"
+"VFNMADD132PS"
+"VFNMADD132SD"
+"VFNMADD132SS"
+"VFNMADD213PD"
+"VFNMADD213PS"
+"VFNMADD213SD"
+"VFNMADD213SS"
+"VFNMADD231PD"
+"VFNMADD231PS"
+"VFNMADD231SD"
+"VFNMADD231SS"
+"VFNMADD312PD"
+"VFNMADD312PS"
+"VFNMADD312SD"
+"VFNMADD321PD"
+"VFNMADD321PS"
+"VFNMADD321SD"
+"VFNMADDPD"
+"VFNMADDPS"
+"VFNMADDSD"
+"VFNMADDSS"
+"VFNMSUB123PD"
+"VFNMSUB123PS"
+"VFNMSUB123SD"
+"VFNMSUB132PD"
+"VFNMSUB132PS"
+"VFNMSUB132SD"
+"VFNMSUB132SS"
+"VFNMSUB213PD"
+"VFNMSUB213PS"
+"VFNMSUB213SD"
+"VFNMSUB213SS"
+"VFNMSUB231PD"
+"VFNMSUB231PS"
+"VFNMSUB231SD"
+"VFNMSUB231SS"
+"VFNMSUB312PD"
+"VFNMSUB312PS"
+"VFNMSUB312SD"
+"VFNMSUB321PD"
+"VFNMSUB321PS"
+"VFNMSUB321SD"
+"VFNMSUBPD"
+"VFNMSUBPS"
+"VFNMSUBSD"
+"VFNMSUBSS"
+"VFPCLASSPD"
+"VFPCLASSPS"
+"VFPCLASSSD"
+"VFPCLASSSS"
+"VFRCZPD"
+"VFRCZPS"
+"VFRCZSD"
+"VGATHERDPD"
+"VGATHERDPS"
+"VGATHERPF0DPD"
+"VGATHERPF0DPS"
+"VGATHERPF0QPD"
+"VGATHERPF0QPS"
+"VGATHERPF1DPD"
+"VGATHERPF1DPS"
+"VGATHERPF1QPD"
+"VGATHERPF1QPS"
+"VGATHERQPD"
+"VGATHERQPS"
+"VGETEXPPD"
+"VGETEXPPS"
+"VGETEXPSD"
+"VGETEXPSS"
+"VGETMANTPD"
+"VGETMANTPS"
+"VGETMANTSD"
+"VGETMANTSS"
+"VGF2P8AFFINEINVQB"
+"VGF2P8AFFINEQB"
+"VGF2P8MULB"
+"VHADDPD"
+"VHADDPS"
+"VHSUBPD"
+"VHSUBPS"
+"VINSERTF128"
+"VINSERTF32X4"
+"VINSERTF32x4"
+"VINSERTF32x8"
+"VINSERTF64X2"
+"VINSERTF64X4"
+"VINSERTF64x2"
+"VINSERTF64x4"
+"VINSERTI128"
+"VINSERTI32X4"
+"VINSERTI32x4"
+"VINSERTI32x8"
+"VINSERTI64X2"
+"VINSERTI64X4"
+"VINSERTI64x2"
+"VINSERTI64x4"
+"VINSERTPS"
+"VLDMXCSR"
+"VLDQQU"
+"VMASKMOV"
+"VMASKMOVPD"
+"VMASKMOVPS"
+"VMAXPD"
+"VMAXPS"
+"VMAXSD"
+"VMCALL"
+"VMCLEAR"
+"VMFUNC"
+"VMINPD"
+"VMINPS"
+"VMINSD"
+"VMLAUNCH"
+"VMLOAD"
+"VMMCALL"
+"VMOVAPD"
+"VMOVAPS"
+"VMOVD"
+"VMOVDDUP"
+"VMOVDQA"
+"VMOVDQA32"
+"VMOVDQA64"
+"VMOVDQU"
+"VMOVDQU16"
+"VMOVDQU32"
+"VMOVDQU64"
+"VMOVDQU8"
+"VMOVHLPS"
+"VMOVHPD"
+"VMOVHPS"
+"VMOVLHPS"
+"VMOVLPD"
+"VMOVLPS"
+"VMOVMSKPD"
+"VMOVMSKPS"
+"VMOVNTDQ"
+"VMOVNTDQA"
+"VMOVNTPD"
+"VMOVNTPS"
+"VMOVQ"
+"VMOVQQA"
+"VMOVQQU"
+"VMOVSD"
+"VMOVSHDUP"
+"VMOVSLDUP"
+"VMOVSS"
+"VMOVUPD"
+"VMOVUPS"
+"VMPSADBW"
+"VMPTRLD"
+"VMPTRST"
+"VMREAD"
+"VMRESUME"
+"VMRUN"
+"VMSAVE"
+"VMULPD"
+"VMULPS"
+"VMULSS"
+"VMWRITE"
+"VMX"
+"VMXOFF"
+"VMXON"
+"VORPD"
+"VORPS"
+"VP4DPWSSD"
+"VP4DPWSSDS"
+"VPABSB"
+"VPABSD"
+"VPABSQ"
+"VPABSW"
+"VPACKSSDW"
+"VPACKSSWB"
+"VPACKUSDW"
+"VPACKUSWB"
+"VPADDB"
+"VPADDD"
+"VPADDQ"
+"VPADDSB"
+"VPADDSW"
+"VPADDUSB"
+"VPADDUSW"
+"VPADDW"
+"VPALIGNR"
+"VPANDD"
+"VPANDN"
+"VPANDND"
+"VPANDNQ"
+"VPANDQ"
+"VPAVGB"
+"VPAVGW"
+"VPBLENDD"
+"VPBLENDMB"
+"VPBLENDMD"
+"VPBLENDMQ"
+"VPBLENDMW"
+"VPBLENDW"
+"VPBROADCAST"
+"VPBROADCASTB"
+"VPBROADCASTD"
+"VPBROADCASTM"
+"VPBROADCASTMB2Q"
+"VPBROADCASTMW2D"
+"VPBROADCASTQ"
+"VPBROADCASTW"
+"VPCLMULHQHQDQ"
+"VPCLMULHQLQDQ"
+"VPCLMULLQHQDQ"
+"VPCLMULLQLQDQ"
+"VPCLMULQDQ"
+"VPCMOV"
+"VPCMPB"
+"VPCMPD"
+"VPCMPEQB"
+"VPCMPEQD"
+"VPCMPEQQ"
+"VPCMPEQW"
+"VPCMPESTRM"
+"VPCMPGTB"
+"VPCMPGTD"
+"VPCMPGTQ"
+"VPCMPGTW"
+"VPCMPISTRM"
+"VPCMPQ"
+"VPCMPUB"
+"VPCMPUD"
+"VPCMPUQ"
+"VPCMPUW"
+"VPCMPW"
+"VPCOMB"
+"VPCOMPRESSB"
+"VPCOMPRESSD"
+"VPCOMPRESSQ"
+"VPCOMPRESSW"
+"VPCOMQ"
+"VPCOMUD"
+"VPCOMUW"
+"VPCONFLICTD"
+"VPCONFLICTQ"
+"VPDPBUSD"
+"VPDPBUSDS"
+"VPDPWSSD"
+"VPDPWSSDS"
+"VPERM2F128"
+"VPERM2I128"
+"VPERMB"
+"VPERMD"
+"VPERMI2B"
+"VPERMI2D"
+"VPERMI2PD"
+"VPERMI2PS"
+"VPERMI2Q"
+"VPERMI2W"
+"VPERMILPD"
+"VPERMILPS"
+"VPERMPD"
+"VPERMPS"
+"VPERMQ"
+"VPERMT2B"
+"VPERMT2D"
+"VPERMT2PD"
+"VPERMT2PS"
+"VPERMT2Q"
+"VPERMT2W"
+"VPERMW"
+"VPEXPANDB"
+"VPEXPANDD"
+"VPEXPANDQ"
+"VPEXPANDW"
+"VPEXTRB"
+"VPEXTRD"
+"VPEXTRQ"
+"VPEXTRW"
+"VPGATHERDD"
+"VPGATHERDQ"
+"VPGATHERQD"
+"VPGATHERQQ"
+"VPHADDBD"
+"VPHADDBW"
+"VPHADDD"
+"VPHADDUBD"
+"VPHADDUBW"
+"VPHADDUWD"
+"VPHADDWD"
+"VPHMINPOSUW"
+"VPHSUBBW"
+"VPHSUBD"
+"VPHSUBSW"
+"VPHSUBW"
+"VPHSUBWD"
+"VPINSRB"
+"VPINSRD"
+"VPINSRQ"
+"VPINSRW"
+"VPLZCNTD"
+"VPLZCNTQ"
+"VPMACSDQH"
+"VPMACSSDD"
+"VPMACSSDQL"
+"VPMACSSWW"
+"VPMACSWW"
+"VPMADCSWD"
+"VPMADD52HUQ"
+"VPMADD52LUQ"
+"VPMADDUBSW"
+"VPMADDWD"
+"VPMASKMOV"
+"VPMASKMOVD"
+"VPMASKMOVQ"
+"VPMAXSB"
+"VPMAXSD"
+"VPMAXSQ"
+"VPMAXSW"
+"VPMAXUB"
+"VPMAXUD"
+"VPMAXUQ"
+"VPMAXUW"
+"VPMINSB"
+"VPMINSD"
+"VPMINSQ"
+"VPMINSW"
+"VPMINUB"
+"VPMINUD"
+"VPMINUQ"
+"VPMINUW"
+"VPMOVB2M"
+"VPMOVD2M"
+"VPMOVDB"
+"VPMOVDW"
+"VPMOVM2B"
+"VPMOVM2D"
+"VPMOVM2Q"
+"VPMOVM2W"
+"VPMOVMSKB"
+"VPMOVQ2M"
+"VPMOVQB"
+"VPMOVQD"
+"VPMOVQW"
+"VPMOVSDB"
+"VPMOVSDW"
+"VPMOVSQB"
+"VPMOVSQD"
+"VPMOVSQW"
+"VPMOVSWB"
+"VPMOVSXBD"
+"VPMOVSXBQ"
+"VPMOVSXBW"
+"VPMOVSXDQ"
+"VPMOVSXWD"
+"VPMOVSXWQ"
+"VPMOVUSDB"
+"VPMOVUSDW"
+"VPMOVUSQB"
+"VPMOVUSQD"
+"VPMOVUSQW"
+"VPMOVUSWB"
+"VPMOVW2M"
+"VPMOVWB"
+"VPMOVZXBD"
+"VPMOVZXBQ"
+"VPMOVZXBW"
+"VPMOVZXDQ"
+"VPMOVZXWD"
+"VPMOVZXWQ"
+"VPMULDQ"
+"VPMULHRSW"
+"VPMULHUW"
+"VPMULHW"
+"VPMULLD"
+"VPMULLQ"
+"VPMULLW"
+"VPMULTISHIFTQB"
+"VPMULUDQ"
+"VPOPCNTB"
+"VPOPCNTD"
+"VPOPCNTQ"
+"VPOPCNTW"
+"VPOR"
+"VPORD"
+"VPORQ"
+"VPPERM"
+"VPROLD"
+"VPROLQ"
+"VPROLVD"
+"VPROLVQ"
+"VPRORD"
+"VPRORQ"
+"VPRORVD"
+"VPRORVQ"
+"VPROTB"
+"VPROTD"
+"VPROTQ"
+"VPROTW"
+"VPSADBW"
+"VPSCATTERDD"
+"VPSCATTERDQ"
+"VPSCATTERQD"
+"VPSCATTERQQ"
+"VPSHAB"
+"VPSHAD"
+"VPSHAQ"
+"VPSHAW"
+"VPSHLB"
+"VPSHLD"
+"VPSHLDD"
+"VPSHLDQ"
+"VPSHLDVD"
+"VPSHLDVQ"
+"VPSHLDVW"
+"VPSHLDW"
+"VPSHLQ"
+"VPSHLW"
+"VPSHRDD"
+"VPSHRDQ"
+"VPSHRDVD"
+"VPSHRDVQ"
+"VPSHRDVW"
+"VPSHRDW"
+"VPSHUFB"
+"VPSHUFBITQMB"
+"VPSHUFD"
+"VPSHUFHW"
+"VPSHUFLW"
+"VPSIGNB"
+"VPSIGND"
+"VPSIGNW"
+"VPSLLD"
+"VPSLLDQ"
+"VPSLLQ"
+"VPSLLVD"
+"VPSLLVQ"
+"VPSLLVW"
+"VPSLLW"
+"VPSRAD"
+"VPSRAQ"
+"VPSRAVD"
+"VPSRAVQ"
+"VPSRAVW"
+"VPSRAW"
+"VPSRLD"
+"VPSRLDQ"
+"VPSRLQ"
+"VPSRLVD"
+"VPSRLVQ"
+"VPSRLVW"
+"VPSRLW"
+"VPSUBB"
+"VPSUBD"
+"VPSUBQ"
+"VPSUBSB"
+"VPSUBSW"
+"VPSUBUSB"
+"VPSUBUSW"
+"VPSUBW"
+"VPTERNLOGD"
+"VPTERNLOGQ"
+"VPTEST"
+"VPTESTMB"
+"VPTESTMD"
+"VPTESTMQ"
+"VPTESTMW"
+"VPTESTNMB"
+"VPTESTNMD"
+"VPTESTNMQ"
+"VPTESTNMW"
+"VPUNPCKHBW"
+"VPUNPCKHDQ"
+"VPUNPCKHQDQ"
+"VPUNPCKHWD"
+"VPUNPCKLBW"
+"VPUNPCKLDQ"
+"VPUNPCKLQDQ"
+"VPUNPCKLWD"
+"VPXOR"
+"VPXORD"
+"VPXORQ"
+"VRANGEPD"
+"VRANGEPS"
+"VRANGESD"
+"VRANGESS"
+"VRCP14PD"
+"VRCP14PS"
+"VRCP14SD"
+"VRCP14SS"
+"VRCP28PD"
+"VRCP28PS"
+"VRCP28SD"
+"VRCP28SS"
+"VRCPPS"
+"VREDUCEPD"
+"VREDUCEPS"
+"VREDUCESD"
+"VREDUCESS"
+"VRNDSCALEPD"
+"VRNDSCALEPS"
+"VRNDSCALESD"
+"VRNDSCALESS"
+"VROUNDPD"
+"VROUNDPS"
+"VROUNDSS"
+"VRSQRT14PD"
+"VRSQRT14PS"
+"VRSQRT14SD"
+"VRSQRT14SS"
+"VRSQRT28PD"
+"VRSQRT28PS"
+"VRSQRT28SD"
+"VRSQRT28SS"
+"VRSQRTPS"
+"VRSQRTSS"
+"VSCALEFPD"
+"VSCALEFPS"
+"VSCALEFSD"
+"VSCALEFSS"
+"VSCATTERDPD"
+"VSCATTERDPS"
+"VSCATTERPF0DPD"
+"VSCATTERPF0DPS"
+"VSCATTERPF0QPD"
+"VSCATTERPF0QPS"
+"VSCATTERPF1DPD"
+"VSCATTERPF1DPS"
+"VSCATTERPF1QPD"
+"VSCATTERPF1QPS"
+"VSCATTERQPD"
+"VSCATTERQPS"
+"VSHUFF32X4"
+"VSHUFF32x4"
+"VSHUFF64X2"
+"VSHUFF64x2"
+"VSHUFI32X4"
+"VSHUFI32x4"
+"VSHUFI64X2"
+"VSHUFI64x2"
+"VSHUFPD"
+"VSHUFPS"
+"VSQRTPD"
+"VSQRTPS"
+"VSQRTSD"
+"VSQRTSS"
+"VSUBPD"
+"VSUBPS"
+"VSUBSD"
+"VTESTPD"
+"VTESTPS"
+"VUCOMISD"
+"VUNPCKHPD"
+"VUNPCKHPS"
+"VUNPCKLPD"
+"VUNPCKLPS"
+"VXORPD"
+"VXORPS"
+"VZEROALL"
+"VZEROUPPER"
+"WAIT"
+"WBINVD"
+"WBNOINVD"
+"WRFSBASE"
+"WRGSBASE"
+"WRMSR"
+"WRPKRU"
+"WRSHR"
+"XABORT"
+"XACQUIRE"
+"XADD"
+"XBEGIN"
+"XBTS"
+"XCHG"
+"XCRYPTCTR"
+"XCRYPTECB"
+"XCRYPTOFB"
+"XEND"
+"XGETBV"
+"XLAT"
+"XLATB"
+"XOR"
+"XORPD"
+"XORPS"
+"XRELEASE"
+"XRSTOR"
+"XRSTORS"
+"XSAVE"
+"XSAVEC"
+"XSAVEOPT"
+"XSAVES"
+"XSETBV"
+"XSHA1"
+"XTEST"
+
+
+# registers
+"RAX"
+"RBX"
+"RCX"
+"RDX"
+"RSI"
+"RBP"
+"RSP"
+"R8"
+"R9"
+"R10"
+"R11"
+"R12"
+"R13"
+"R14"
+"R15"
+"RIP"
+"EAX"
+"EBX"
+"ECX"
+"EDX"
+"ESI"
+"EBP"
+"ESP"
+"AX"
+"BX"
+"CX"
+"DX"
+"SI"
+"BP"
+"SP"
+"SI"
+"DI"
+"R8W"
+"R9W"
+"R10W"
+"R11W"
+"R12W"
+"R13W"
+"R14W"
+"R15W"
+"IP"
+"AH"
+"BH"
+"CH"
+"DH"
+"AL"
+"BL"
+"CL"
+"DL"
+"dil"
+"sil"
+"R8B"
+"R9B"
+"R10B"
+"R11B"
+"R12B"
+"R13B"
+"R14B"
+"R15B"
+"CS"
+"DS"
+"ES"
+"SS"
+"FS"
+"GS"
+"CR2"
+"CR3"
+"CR4"
+"DR0"
+"DR1"
+"DR2"
+"DR3"
+"DR6"
+"DR7"
+"TR3"
+"TR4"
+"TR5"
+"TR6"
+"TR7"
+"GDTR"
+"LDTR"
+"IDTR"
+
+# sizes
+"WORD"
+"DWORD"
+"QWORD"
+"far"
\ No newline at end of file
diff --git a/dictionaries/xml_UTF_16.dict b/dictionaries/xml_UTF_16.dict
new file mode 100644
index 00000000..404d327b
--- /dev/null
+++ b/dictionaries/xml_UTF_16.dict
@@ -0,0 +1,103 @@
+# xml.dict converted to UTF-16 encoding.
+"\xff\xfe \x00e\x00n\x00c\x00o\x00d\x00i\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00a\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00h\x00r\x00e\x00f\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00s\x00t\x00a\x00n\x00d\x00a\x00l\x00o\x00n\x00e\x00=\x00\\\x00"\x00n\x00o\x00\\\x00"\x00"
+"\xff\xfe \x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00x\x00m\x00l\x00:\x00b\x00a\x00s\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00x\x00m\x00l\x00:\x00i\x00d\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00x\x00m\x00l\x00:\x00l\x00a\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00x\x00m\x00l\x00:\x00s\x00p\x00a\x00c\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe \x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"\xff\xfe&\x00l\x00t\x00;\x00"
+"\xff\xfe&\x00#\x001\x00;\x00"
+"\xff\xfe&\x00a\x00;\x00"
+"\xff\xfe&\x00#\x00x\x001\x00;\x00"
+"\xff\xfeA\x00N\x00Y\x00"
+"\xff\xfeA\x00T\x00T\x00L\x00I\x00S\x00T\x00"
+"\xff\xfeC\x00D\x00A\x00T\x00A\x00"
+"\xff\xfeD\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
+"\xff\xfeE\x00L\x00E\x00M\x00E\x00N\x00T\x00"
+"\xff\xfeE\x00M\x00P\x00T\x00Y\x00"
+"\xff\xfeE\x00N\x00T\x00I\x00T\x00I\x00E\x00S\x00"
+"\xff\xfeE\x00N\x00T\x00I\x00T\x00Y\x00"
+"\xff\xfeF\x00I\x00X\x00E\x00D\x00"
+"\xff\xfeI\x00D\x00"
+"\xff\xfeI\x00D\x00R\x00E\x00F\x00"
+"\xff\xfeI\x00D\x00R\x00E\x00F\x00S\x00"
+"\xff\xfeI\x00G\x00N\x00O\x00R\x00E\x00"
+"\xff\xfeI\x00M\x00P\x00L\x00I\x00E\x00D\x00"
+"\xff\xfeI\x00N\x00C\x00L\x00U\x00D\x00E\x00"
+"\xff\xfeN\x00D\x00A\x00T\x00A\x00"
+"\xff\xfeN\x00M\x00T\x00O\x00K\x00E\x00N\x00"
+"\xff\xfeN\x00M\x00T\x00O\x00K\x00E\x00N\x00S\x00"
+"\xff\xfeN\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
+"\xff\xfeP\x00C\x00D\x00A\x00T\x00A\x00"
+"\xff\xfeP\x00U\x00B\x00L\x00I\x00C\x00"
+"\xff\xfeR\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
+"\xff\xfeS\x00Y\x00S\x00T\x00E\x00M\x00"
+"\xff\xfe<\x00"
+"\xff\xfe>\x00"
+"\xff\xfe/\x00>\x00"
+"\xff\xfe<\x00/\x00"
+"\xff\xfe<\x00?\x00"
+"\xff\xfe?\x00>\x00"
+"\xff\xfe<\x00!\x00"
+"\xff\xfe!\x00>\x00"
+"\xff\xfe[\x00]\x00"
+"\xff\xfe]\x00]\x00"
+"\xff\xfe<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00"
+"\xff\xfe<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00]\x00]\x00>\x00"
+"\xff\xfe\\\x00"\x00\\\x00"\x00"
+"\xff\xfe'\x00'\x00"
+"\xff\xfe=\x00\\\x00"\x00\\\x00"\x00"
+"\xff\xfe=\x00'\x00'\x00"
+"\xff\xfe<\x00!\x00A\x00T\x00T\x00L\x00I\x00S\x00T\x00"
+"\xff\xfe<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
+"\xff\xfe<\x00!\x00E\x00L\x00E\x00M\x00E\x00N\x00T\x00"
+"\xff\xfe<\x00!\x00E\x00N\x00T\x00I\x00T\x00Y\x00"
+"\xff\xfe<\x00!\x00[\x00I\x00G\x00N\x00O\x00R\x00E\x00[\x00"
+"\xff\xfe<\x00!\x00[\x00I\x00N\x00C\x00L\x00U\x00D\x00E\x00[\x00"
+"\xff\xfe<\x00!\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
+"\xff\xfe#\x00C\x00D\x00A\x00T\x00A\x00"
+"\xff\xfe#\x00F\x00I\x00X\x00E\x00D\x00"
+"\xff\xfe#\x00I\x00M\x00P\x00L\x00I\x00E\x00D\x00"
+"\xff\xfe#\x00P\x00C\x00D\x00A\x00T\x00A\x00"
+"\xff\xfe#\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
+"\xff\xfeI\x00S\x00O\x00-\x008\x008\x005\x009\x00-\x001\x00"
+"\xff\xfeU\x00S\x00-\x00A\x00S\x00C\x00I\x00I\x00"
+"\xff\xfeU\x00T\x00F\x00-\x008\x00"
+"\xff\xfeU\x00T\x00F\x00-\x001\x006\x00"
+"\xff\xfeU\x00T\x00F\x00-\x001\x006\x00B\x00E\x00"
+"\xff\xfeU\x00T\x00F\x00-\x001\x006\x00L\x00E\x00"
+"\xff\xfex\x00m\x00l\x00n\x00s\x00"
+"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00"
+"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00x\x00h\x00t\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x001\x009\x009\x009\x00/\x00x\x00h\x00t\x00m\x00l\x00\\\x00"\x00"
+"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x00X\x00M\x00L\x00/\x001\x009\x009\x008\x00/\x00n\x00a\x00m\x00e\x00s\x00p\x00a\x00c\x00e\x00\\\x00"\x00"
+"\xff\xfex\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x002\x000\x000\x000\x00/\x00x\x00m\x00l\x00n\x00s\x00\\\x00"\x00"
+"\xff\xfe:\x00f\x00a\x00l\x00l\x00b\x00a\x00c\x00k\x00"
+"\xff\xfe:\x00a\x00"
+"\xff\xfe:\x00i\x00n\x00c\x00l\x00u\x00d\x00e\x00"
+"\xff\xfe-\x00-\x00"
+"\xff\xfe(\x00)\x00"
+"\xff\xfe%\x00a\x00"
+"\xff\xfe:\x00s\x00c\x00h\x00e\x00m\x00a\x00"
+"\xff\xfeU\x00C\x00S\x00-\x004\x00"
+"\xff\xfe<\x00/\x00a\x00>\x00"
+"\xff\xfe<\x00a\x00>\x00"
+"\xff\xfe<\x00a\x00 \x00/\x00>\x00"
+"\xff\xfe<\x00?\x00x\x00m\x00l\x00?\x00>\x00"
+"\xff\xfeh\x00t\x00t\x00p\x00:\x00/\x00/\x00d\x00o\x00c\x00b\x00o\x00o\x00"
+"\xff\xfeh\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x00"
+"\xff\xfeh\x00e\x003\x000\x00"
+"\xff\xfeh\x00e\x002\x00"
+"\xff\xfeI\x00E\x00T\x00"
+"\xff\xfeF\x00D\x00F\x00-\x001\x000\x00"
+"\xff\xfea\x00D\x00U\x00C\x00S\x00-\x004\x00O\x00P\x00v\x00e\x00b\x00:\x00"
+"\xff\xfea\x00>\x00"
+"\xff\xfeU\x00T\x00"
+"\xff\xfex\x00M\x00l\x00"
+"\xff\xfe/\x00u\x00s\x00r\x00/\x00s\x00h\x00a\x00r\x00e\x00/\x00s\x00g\x00"
+"\xff\xfeh\x00a\x000\x007\x00"
+"\xff\xfeh\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00o\x00a\x00"
+"\xff\xfec\x00l\x00e\x00"
diff --git a/dictionaries/xml_UTF_16BE.dict b/dictionaries/xml_UTF_16BE.dict
new file mode 100644
index 00000000..c1bdbcf9
--- /dev/null
+++ b/dictionaries/xml_UTF_16BE.dict
@@ -0,0 +1,103 @@
+# xml.dict converted to UTF-16BE encoding.
+"\x00 \x00e\x00n\x00c\x00o\x00d\x00i\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00a\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00h\x00r\x00e\x00f\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00s\x00t\x00a\x00n\x00d\x00a\x00l\x00o\x00n\x00e\x00=\x00\\\x00"\x00n\x00o\x00\\\x00""
+"\x00 \x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00x\x00m\x00l\x00:\x00b\x00a\x00s\x00e\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00x\x00m\x00l\x00:\x00i\x00d\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00x\x00m\x00l\x00:\x00l\x00a\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00x\x00m\x00l\x00:\x00s\x00p\x00a\x00c\x00e\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00 \x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x001\x00\\\x00""
+"\x00&\x00l\x00t\x00;"
+"\x00&\x00#\x001\x00;"
+"\x00&\x00a\x00;"
+"\x00&\x00#\x00x\x001\x00;"
+"\x00A\x00N\x00Y"
+"\x00A\x00T\x00T\x00L\x00I\x00S\x00T"
+"\x00C\x00D\x00A\x00T\x00A"
+"\x00D\x00O\x00C\x00T\x00Y\x00P\x00E"
+"\x00E\x00L\x00E\x00M\x00E\x00N\x00T"
+"\x00E\x00M\x00P\x00T\x00Y"
+"\x00E\x00N\x00T\x00I\x00T\x00I\x00E\x00S"
+"\x00E\x00N\x00T\x00I\x00T\x00Y"
+"\x00F\x00I\x00X\x00E\x00D"
+"\x00I\x00D"
+"\x00I\x00D\x00R\x00E\x00F"
+"\x00I\x00D\x00R\x00E\x00F\x00S"
+"\x00I\x00G\x00N\x00O\x00R\x00E"
+"\x00I\x00M\x00P\x00L\x00I\x00E\x00D"
+"\x00I\x00N\x00C\x00L\x00U\x00D\x00E"
+"\x00N\x00D\x00A\x00T\x00A"
+"\x00N\x00M\x00T\x00O\x00K\x00E\x00N"
+"\x00N\x00M\x00T\x00O\x00K\x00E\x00N\x00S"
+"\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N"
+"\x00P\x00C\x00D\x00A\x00T\x00A"
+"\x00P\x00U\x00B\x00L\x00I\x00C"
+"\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D"
+"\x00S\x00Y\x00S\x00T\x00E\x00M"
+"\x00<"
+"\x00>"
+"\x00/\x00>"
+"\x00<\x00/"
+"\x00<\x00?"
+"\x00?\x00>"
+"\x00<\x00!"
+"\x00!\x00>"
+"\x00[\x00]"
+"\x00]\x00]"
+"\x00<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00["
+"\x00<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00]\x00]\x00>"
+"\x00\\\x00"\x00\\\x00""
+"\x00'\x00'"
+"\x00=\x00\\\x00"\x00\\\x00""
+"\x00=\x00'\x00'"
+"\x00<\x00!\x00A\x00T\x00T\x00L\x00I\x00S\x00T"
+"\x00<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\x00E"
+"\x00<\x00!\x00E\x00L\x00E\x00M\x00E\x00N\x00T"
+"\x00<\x00!\x00E\x00N\x00T\x00I\x00T\x00Y"
+"\x00<\x00!\x00[\x00I\x00G\x00N\x00O\x00R\x00E\x00["
+"\x00<\x00!\x00[\x00I\x00N\x00C\x00L\x00U\x00D\x00E\x00["
+"\x00<\x00!\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N"
+"\x00#\x00C\x00D\x00A\x00T\x00A"
+"\x00#\x00F\x00I\x00X\x00E\x00D"
+"\x00#\x00I\x00M\x00P\x00L\x00I\x00E\x00D"
+"\x00#\x00P\x00C\x00D\x00A\x00T\x00A"
+"\x00#\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D"
+"\x00I\x00S\x00O\x00-\x008\x008\x005\x009\x00-\x001"
+"\x00U\x00S\x00-\x00A\x00S\x00C\x00I\x00I"
+"\x00U\x00T\x00F\x00-\x008"
+"\x00U\x00T\x00F\x00-\x001\x006"
+"\x00U\x00T\x00F\x00-\x001\x006\x00B\x00E"
+"\x00U\x00T\x00F\x00-\x001\x006\x00L\x00E"
+"\x00x\x00m\x00l\x00n\x00s"
+"\x00x\x00m\x00l\x00n\x00s\x00:"
+"\x00x\x00m\x00l\x00n\x00s\x00:\x00x\x00h\x00t\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x001\x009\x009\x009\x00/\x00x\x00h\x00t\x00m\x00l\x00\\\x00""
+"\x00x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x00X\x00M\x00L\x00/\x001\x009\x009\x008\x00/\x00n\x00a\x00m\x00e\x00s\x00p\x00a\x00c\x00e\x00\\\x00""
+"\x00x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x002\x000\x000\x000\x00/\x00x\x00m\x00l\x00n\x00s\x00\\\x00""
+"\x00:\x00f\x00a\x00l\x00l\x00b\x00a\x00c\x00k"
+"\x00:\x00a"
+"\x00:\x00i\x00n\x00c\x00l\x00u\x00d\x00e"
+"\x00-\x00-"
+"\x00(\x00)"
+"\x00%\x00a"
+"\x00:\x00s\x00c\x00h\x00e\x00m\x00a"
+"\x00U\x00C\x00S\x00-\x004"
+"\x00<\x00/\x00a\x00>"
+"\x00<\x00a\x00>"
+"\x00<\x00a\x00 \x00/\x00>"
+"\x00<\x00?\x00x\x00m\x00l\x00?\x00>"
+"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00d\x00o\x00c\x00b\x00o\x00o"
+"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w"
+"\x00h\x00e\x003\x000"
+"\x00h\x00e\x002"
+"\x00I\x00E\x00T"
+"\x00F\x00D\x00F\x00-\x001\x000"
+"\x00a\x00D\x00U\x00C\x00S\x00-\x004\x00O\x00P\x00v\x00e\x00b\x00:"
+"\x00a\x00>"
+"\x00U\x00T"
+"\x00x\x00M\x00l"
+"\x00/\x00u\x00s\x00r\x00/\x00s\x00h\x00a\x00r\x00e\x00/\x00s\x00g"
+"\x00h\x00a\x000\x007"
+"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00o\x00a"
+"\x00c\x00l\x00e"
diff --git a/dictionaries/xml_UTF_16LE.dict b/dictionaries/xml_UTF_16LE.dict
new file mode 100644
index 00000000..02619db5
--- /dev/null
+++ b/dictionaries/xml_UTF_16LE.dict
@@ -0,0 +1,103 @@
+# xml.dict converted to UTF-16LE encoding.
+" \x00e\x00n\x00c\x00o\x00d\x00i\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00a\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00h\x00r\x00e\x00f\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00s\x00t\x00a\x00n\x00d\x00a\x00l\x00o\x00n\x00e\x00=\x00\\\x00"\x00n\x00o\x00\\\x00"\x00"
+" \x00v\x00e\x00r\x00s\x00i\x00o\x00n\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00x\x00m\x00l\x00:\x00b\x00a\x00s\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00x\x00m\x00l\x00:\x00i\x00d\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00x\x00m\x00l\x00:\x00l\x00a\x00n\x00g\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00x\x00m\x00l\x00:\x00s\x00p\x00a\x00c\x00e\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+" \x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x001\x00\\\x00"\x00"
+"&\x00l\x00t\x00;\x00"
+"&\x00#\x001\x00;\x00"
+"&\x00a\x00;\x00"
+"&\x00#\x00x\x001\x00;\x00"
+"A\x00N\x00Y\x00"
+"A\x00T\x00T\x00L\x00I\x00S\x00T\x00"
+"C\x00D\x00A\x00T\x00A\x00"
+"D\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
+"E\x00L\x00E\x00M\x00E\x00N\x00T\x00"
+"E\x00M\x00P\x00T\x00Y\x00"
+"E\x00N\x00T\x00I\x00T\x00I\x00E\x00S\x00"
+"E\x00N\x00T\x00I\x00T\x00Y\x00"
+"F\x00I\x00X\x00E\x00D\x00"
+"I\x00D\x00"
+"I\x00D\x00R\x00E\x00F\x00"
+"I\x00D\x00R\x00E\x00F\x00S\x00"
+"I\x00G\x00N\x00O\x00R\x00E\x00"
+"I\x00M\x00P\x00L\x00I\x00E\x00D\x00"
+"I\x00N\x00C\x00L\x00U\x00D\x00E\x00"
+"N\x00D\x00A\x00T\x00A\x00"
+"N\x00M\x00T\x00O\x00K\x00E\x00N\x00"
+"N\x00M\x00T\x00O\x00K\x00E\x00N\x00S\x00"
+"N\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
+"P\x00C\x00D\x00A\x00T\x00A\x00"
+"P\x00U\x00B\x00L\x00I\x00C\x00"
+"R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
+"S\x00Y\x00S\x00T\x00E\x00M\x00"
+"<\x00"
+">\x00"
+"/\x00>\x00"
+"<\x00/\x00"
+"<\x00?\x00"
+"?\x00>\x00"
+"<\x00!\x00"
+"!\x00>\x00"
+"[\x00]\x00"
+"]\x00]\x00"
+"<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00"
+"<\x00!\x00[\x00C\x00D\x00A\x00T\x00A\x00[\x00]\x00]\x00>\x00"
+"\\\x00"\x00\\\x00"\x00"
+"'\x00'\x00"
+"=\x00\\\x00"\x00\\\x00"\x00"
+"=\x00'\x00'\x00"
+"<\x00!\x00A\x00T\x00T\x00L\x00I\x00S\x00T\x00"
+"<\x00!\x00D\x00O\x00C\x00T\x00Y\x00P\x00E\x00"
+"<\x00!\x00E\x00L\x00E\x00M\x00E\x00N\x00T\x00"
+"<\x00!\x00E\x00N\x00T\x00I\x00T\x00Y\x00"
+"<\x00!\x00[\x00I\x00G\x00N\x00O\x00R\x00E\x00[\x00"
+"<\x00!\x00[\x00I\x00N\x00C\x00L\x00U\x00D\x00E\x00[\x00"
+"<\x00!\x00N\x00O\x00T\x00A\x00T\x00I\x00O\x00N\x00"
+"#\x00C\x00D\x00A\x00T\x00A\x00"
+"#\x00F\x00I\x00X\x00E\x00D\x00"
+"#\x00I\x00M\x00P\x00L\x00I\x00E\x00D\x00"
+"#\x00P\x00C\x00D\x00A\x00T\x00A\x00"
+"#\x00R\x00E\x00Q\x00U\x00I\x00R\x00E\x00D\x00"
+"I\x00S\x00O\x00-\x008\x008\x005\x009\x00-\x001\x00"
+"U\x00S\x00-\x00A\x00S\x00C\x00I\x00I\x00"
+"U\x00T\x00F\x00-\x008\x00"
+"U\x00T\x00F\x00-\x001\x006\x00"
+"U\x00T\x00F\x00-\x001\x006\x00B\x00E\x00"
+"U\x00T\x00F\x00-\x001\x006\x00L\x00E\x00"
+"x\x00m\x00l\x00n\x00s\x00"
+"x\x00m\x00l\x00n\x00s\x00:\x00"
+"x\x00m\x00l\x00n\x00s\x00:\x00x\x00h\x00t\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x001\x009\x009\x009\x00/\x00x\x00h\x00t\x00m\x00l\x00\\\x00"\x00"
+"x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x00X\x00M\x00L\x00/\x001\x009\x009\x008\x00/\x00n\x00a\x00m\x00e\x00s\x00p\x00a\x00c\x00e\x00\\\x00"\x00"
+"x\x00m\x00l\x00n\x00s\x00:\x00x\x00m\x00l\x00n\x00s\x00=\x00\\\x00"\x00h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x003\x00.\x00o\x00r\x00g\x00/\x002\x000\x000\x000\x00/\x00x\x00m\x00l\x00n\x00s\x00\\\x00"\x00"
+":\x00f\x00a\x00l\x00l\x00b\x00a\x00c\x00k\x00"
+":\x00a\x00"
+":\x00i\x00n\x00c\x00l\x00u\x00d\x00e\x00"
+"-\x00-\x00"
+"(\x00)\x00"
+"%\x00a\x00"
+":\x00s\x00c\x00h\x00e\x00m\x00a\x00"
+"U\x00C\x00S\x00-\x004\x00"
+"<\x00/\x00a\x00>\x00"
+"<\x00a\x00>\x00"
+"<\x00a\x00 \x00/\x00>\x00"
+"<\x00?\x00x\x00m\x00l\x00?\x00>\x00"
+"h\x00t\x00t\x00p\x00:\x00/\x00/\x00d\x00o\x00c\x00b\x00o\x00o\x00"
+"h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00w\x00"
+"h\x00e\x003\x000\x00"
+"h\x00e\x002\x00"
+"I\x00E\x00T\x00"
+"F\x00D\x00F\x00-\x001\x000\x00"
+"a\x00D\x00U\x00C\x00S\x00-\x004\x00O\x00P\x00v\x00e\x00b\x00:\x00"
+"a\x00>\x00"
+"U\x00T\x00"
+"x\x00M\x00l\x00"
+"/\x00u\x00s\x00r\x00/\x00s\x00h\x00a\x00r\x00e\x00/\x00s\x00g\x00"
+"h\x00a\x000\x007\x00"
+"h\x00t\x00t\x00p\x00:\x00/\x00/\x00w\x00w\x00w\x00.\x00o\x00a\x00"
+"c\x00l\x00e\x00"
diff --git a/dictionaries/xpath.dict b/dictionaries/xpath.dict
new file mode 100644
index 00000000..1101585c
--- /dev/null
+++ b/dictionaries/xpath.dict
@@ -0,0 +1,66 @@
+# https://developer.mozilla.org/en-US/docs/Web/XPath
+# https://devhints.io/xpath
+
+# selectors
+"//"
+"./"
+"::"
+"[*]"
+
+
+# functions - https://developer.mozilla.org/en-US/docs/Web/XPath/Functions
+"boolean("
+"ceiling("
+"choose("
+"concat("
+"contains("
+"count("
+"current()"
+"document("
+"element-available("
+"ends-with("
+"false()"
+"floor("
+"format-number("
+"function-available("
+"generate-id("
+"id("
+"key("
+"lang("
+"last()"
+"local-name("
+"name("
+"namespace-uri("
+"normalize-space("
+"not("
+"number("
+"or"
+"position("
+"round("
+"starts-with("
+"string("
+"string-length("
+"substring("
+"substring-after("
+"substring-before("
+"sum("
+"system-property("
+"text()"
+"translate("
+"true()"
+"unparsed-entity-url("
+
+# axes - https://developer.mozilla.org/en-US/docs/Web/XPath/Axes
+"ancestor"
+"ancestor-or-self"
+"attribute"
+"child"
+"descendant"
+"descendant-or-self"
+"following"
+"following-sibling"
+"namespace"
+"parent"
+"preceding"
+"preceding-sibling"
+"self"
diff --git a/dictionaries/xslt.dict b/dictionaries/xslt.dict
new file mode 100644
index 00000000..81633b12
--- /dev/null
+++ b/dictionaries/xslt.dict
@@ -0,0 +1,118 @@
+# Tokens taken from:
+# - https://www.w3.org/TR/xslt20/
+# - https://en.wikipedia.org/wiki/XSLT_elements
+# - https://developer.mozilla.org/en-US/docs/Web/XSLT/Element
+
+
+"<?"
+"<?xslt-"
+"?>"
+"version=\"1.0\""
+"encoding=\""
+"<xsl:"
+"/>"
+"</xsl:"
+">"
+"<"
+"<!--"
+"-->"
+"@"
+
+"apply-imports"
+"apply-templates"
+"attribute"
+"attribute-set"
+"call-template"
+"character-map"
+"choose"
+"comment"
+"copy"
+"copy-of"
+"decimal-format"
+"default-collection"
+"element"
+"exclude-result-prefixes"
+"extension-element-prefixes"
+"fallback"
+"for-each"
+"function"
+"if"
+"import"
+"import-schema"
+"include"
+"key"
+"message"
+"namespace-alias"
+"number"
+"otherwise"
+"output"
+"param"
+"preserve-space"
+"processing-instruction"
+"sort"
+"strip-space"
+"stylesheet"
+"template"
+"text"
+"transform"
+"use-when"
+"value-of"
+"variable"
+"version"
+"when"
+"with-param"
+
+# attributes
+" name=\""
+" namespace=\""
+" select=\""
+" test=\""
+" type=\""
+" value=\""
+" prefix=\""
+
+# functions
+"ceiling"
+"concat"
+"contains"
+"count"
+"floor"
+"normalize_space"
+"position"
+"round"
+"string"
+"string-length"
+"substring"
+"substring-after"
+"substring-before"
+"sum"
+"translate"
+
+
+# math extension
+"http://exslt.org/math"
+"math:highest"
+"math:lowest"
+"math:max"
+"math:min"
+
+# regex extension
+"http://exslt.org/regular-expressions"
+"regexp:match"
+"regexp:replace"
+"regexp:test"
+
+# set extension
+"http://exslt.org/sets"
+"set:difference"
+"set:distinct"
+"set:has-same-node"
+"set:intersection"
+"set:leading"
+"set:trailing"
+
+# str extension
+"http://exslt.org/strings"
+"str:concat"
+"str:split"
+"str:tokenize"
diff --git a/dictionaries/yaml.dict b/dictionaries/yaml.dict
new file mode 100644
index 00000000..f535d508
--- /dev/null
+++ b/dictionaries/yaml.dict
@@ -0,0 +1,79 @@
+# sources:
+# - https://en.wikipedia.org/wiki/YAML
+# - https://yaml.org/spec/1.1/
+# - https://yaml.org/type/
+
+directive_yaml="%YAML 1.2"
+directive_tag="%TAG !yaml! tag:yaml.org,2002:"
+directive_tag2="%TAG !m! !my-"
+true="true"
+caps_true="TRUE"
+caps_false="FALSE"
+literal_true="YES"
+literal_false="NO"
+false="false"
+start="---"
+comment="#"
+list="- "
+key="k: "
+walrus="=:"
+question_key="?k: "
+number="\"0e5\""
+expand="!!"
+list="[a,b]"
+dict="{k: v, x: y}"
+value=": v"
+exponent="e+03"
+neg_inf="-.inf"
+nan=".NaN"
+end="..."
+quoted_key="'k'"
+newline="k: |"
+newline2="k: >"
+anchor="&a"
+reference="*a"
+type_binary="!!binary"
+type_bool="!!bool"
+type_float="!!float"
+type_int="!!int"
+type_map="!!map"
+type_merge="!!merge"
+type_null="!!null"
+type_omap="!!omap"
+type_pairs="!!pairs"
+type_seq="!!seq"
+type_set="!!set"
+type_str="!!str"
+type_timestamp="!!timestamp"
+type_value="!!value"
+type_yaml="!!yaml"
+type_python="!!python"
+merge = "<<"
+number_separation="_"
+decimal_number="+30_123"
+octal_number="0123"
+hex_number="0x_12_23"
+bin_number="0b1001_1001"
+sexa_number="123:34:75"
+complex_mapping="? "
+litteral_style=" |"
+folded_style=" >"
+timestamp="2001-12-14t21:59:43.10-05:00"
+escaped_unicode="\\u2029"
+"["
+"]"
+"{"
+"}"
+"-"
+","
+"&"
+"<<"
+":"
+"|"
+"!!"
+">"
+"\""
+"'"
+integer="123"
+float="12.5"
+mantissa="1.3e+9"
diff --git a/dictionaries/yara.dict b/dictionaries/yara.dict
new file mode 100644
index 00000000..844d3e58
--- /dev/null
+++ b/dictionaries/yara.dict
@@ -0,0 +1,196 @@
+# https://yara.readthedocs.io/en/latest/
+
+# Keywords
+"all"
+"and"
+"any"
+"ascii"
+"at"
+"condition"
+"contains"
+"entrypoint"
+"false"
+"filesize"
+"for"
+"fullword"
+"global"
+"import"
+"in"
+"include"
+"int16"
+"int16be"
+"int32"
+"int32be"
+"int8"
+"int8be"
+"matches"
+"meta"
+"nocase"
+"not"
+"of"
+"or"
+"private"
+"rule"
+"strings"
+"them"
+"true"
+"uint16"
+"uint16be"
+"uint32"
+"uint32be"
+"uint8"
+"uint8be"
+"wide"
+"xor"
+
+# pe module
+"\"pe\""
+"pe.machine"
+"pe.checksum"
+"pe.calculate_checksum"
+"pe.subsystem"
+"pe.timestamp"
+"pe.pointer_to_symbol_table"
+"pe.number_of_sumbols"
+"pe.size_of_optional_header"
+"pe.pothdr_magic"
+"pe.size_of_code"
+"pe.size_of_initialized_data"
+"pe.size_of_unnitialized_data"
+"pe.entrypoint"
+"pe.base_of_code"
+"pe.base_of_data"
+"pe.image_base"
+"pe.section_alignment"
+"pe.file_alignment"
+"pe.win32_version_value"
+"pe.size_of_image"
+"pe.size_of_headers"
+"pe.characteristics"
+"pe.linker_version"
+"pe.os_version"
+"pe.image_version"
+"pe.subsystem_version"
+"pe.dll_characteristics"
+"pe.size_of_stack_reserve"
+"pe.size_of_stack_commit"
+"pe.size_of_heap_reserve"
+"pe.size_of_heap_commit"
+"pe.loader_flags"
+"pe.number_of_rva_and_sizes"
+"pe.data_directories"
+"pe.number_of_sections"
+"pe.sections"
+"pe.overlay"
+"pe.number_of_resources"
+"pe.resource_timestamp"
+"pe.resource_version"
+"pe.resources"
+"pe.version_info"
+"pe.number_of_signatures"
+"pe.signatures"
+"pe.rich_signature"
+"pe.exports"
+"pe.number_of_exports"
+"pe.number_of_imports"
+"pe.imports"
+"pe.locale"
+"pe.language"
+"pe.imphash"
+"pe.section_index"
+"pe.is_dll()"
+"pe.is_32bit()"
+"pe.is_64bit()"
+"pe.rva_to_offset"
+
+# elf module
+"\"elf\""
+"elf.type"
+"elf.machine"
+"elf.entry_point"
+"elf.number_of_sections"
+"elf.sections"
+"elf.number_of_segments"
+"elf.segments"
+"elf.dynamic_section_entires"
+"elf.dynamic"
+"elf.symtab_entries"
+"elf.symtab"
+
+# cuckoo module
+"\"cuckoo\""
+"cuckoo.network"
+"cuckoo.registry"
+"cuckoo.filesystem"
+"cuckoo.sync"
+
+# magic module
+"\"magic\""
+"magic.type()"
+"magic.mime_type()"
+
+
+# hash module
+"\"hash\""
+"hash.md5"
+"hash.sha1"
+"hash.sha256"
+"hash.checksum32"
+"hash.crc32"
+
+# math module
+"\"math\""
+"math.entropuy"
+"math.monte_carlo_pi"
+"math.serial_correlation"
+"math.mean"
+"math.deviation"
+"math.in_range"
+"math.max"
+"max.min"
+
+# dotnet module
+"\"dotnet\""
+"dotnet.version"
+"dotnet.module_name"
+"dotnet.number_of_streams"
+"dotnet.streams"
+"dotnet.number_of_guid"
+"dotnet.guids"
+"dotnet.number_of_resources"
+"dotnet.resources"
+"dotnet.assembly"
+"dotnet.number_of_modulerefs"
+"dotnet.modulerefs"
+"dotnet.typelib"
+"dotnet.assembly_refs"
+"dotnet.number_of_user_strings"
+"dotnet.user_strings"
+"dotnet.number_of_field_offsets"
+"dotnet.field_offsets"
+
+# time module
+"\"time\""
+"time.now()"
+
+
+# misc
+"/*"
+"*/"
+"//"
+"$a="
+"{a?}"
+"[0-9]"
+"{(0A|??)}"
+"<<"
+">>"
+"#a"
+"$a"
+".."
+"@a"
+
+# regex
+"*?"
+"+?"
+"??"
+"{1,2}?"
diff --git a/dictionaries/zip.dict b/dictionaries/zip.dict
new file mode 100644
index 00000000..9d873dce
--- /dev/null
+++ b/dictionaries/zip.dict
@@ -0,0 +1,3 @@
+header1="\x50\x4B\x03\x04"
+header2="\x50\x4B\x05\x06"
+header2="\x50\x4B\x07\x08"
\ No newline at end of file
diff --git a/docs/Changelog.md b/docs/Changelog.md
index 40b841a5..62de7f87 100644
--- a/docs/Changelog.md
+++ b/docs/Changelog.md
@@ -14,6 +14,7 @@ sending a mail to <afl-users+subscribe@googlegroups.com>.
      - -S slaves now only sync from the master to increase performance,
        the -M master stilly syncs from everyone. Added checks that exactly
        one master is present
+  - added lots of dictionaries from oss-fuzz, go-fuzz and Jakub Wilk
   - added former post_library examples to examples/custom_mutators/