# Copyright (c) 2019, the Dart project authors.  Please see the AUTHORS file
# for details. All rights reserved. Use of this source code is governed by a
# BSD-style license that can be found in the LICENSE file.

# Blank lines and comments are ignored.
# Comments can also be inline like 'correct # this is ok'.
# Note that at least one space before the hash is required.

# Comments on a line by itself will be considered a header of the file and
# automatic tools might move it to the top of the file.

aa
aaa
abcompile
adapter
adaptor
adopted
advantages
albeit
aligns
allocations
allowlist
allowlisting
alt
amend
amended
amortized
analyses
andahalf
animal
animated
annoying
anon
aoo
applier
approval
approximation
arbitrarily
asdf
asserter
assure
asterisk
atomic
augmented
auth
authority
autobianchi
automatic
averaged
averages
axis
ba
baba
backed
background
bail
bailing
bailout
bar'baz
bar\'baz
barbar
bash
bat
bazbaz
bbb
bc
bench
benchmarker
benchmarkers
besides
beta
bigger
bitmask
bkonyi
bla
blah
blorp
bold
boo
bots
boundarykey
bowtie
boz
bp
bq
brand
brave
brown
bt
btw
builddir
bulkcompile
busy
busywait
bye
c's
ca
cafebabe
calloc
camel
capitalized
categorization
causal
cb
cc
ccc
cdee
certificate
cf
characteristics
charset
checkme
checkout
chunked
cipd
circular
cloneable
cm
cmd
cmp
cnn
coded
codepath
collisions
columns
commented
commit
commits
companion
comparative
comparer
compiler's
complement
complicated
concurrently
confidence
confident
confirm
consecutive
considering
constr
constrains
consts
contract
conversions
coo
corge
corners
cov
coverages
cp
csi
ct
ctrl
cumulative
cursor
cuts
cx
da
dacoharkes
dadd
daemon
dart$doc$test$tester
dart\$doc\$test\$tester
dartanalyzer
dartdocs
dartdoctest
dartdoctestrun
dartfile
dartfmt
darttest
dash
datatype
datatypes
day
days
db
ddart
dds
debugger
declarative
decrease
decrements
dectcem
deleting
denylist
depended
depfile
desc
descending
descriptors
deviation
dfast
dfuzz
di
diagnosticable
dictionaries
dictionary
differentiate
dijkstra
dijkstras
dinteractive
dirname
disagree
disagreement
disconnect
discovering
discrepancies
dispatcher
dispose
dist
div
divergent
doctest
doctype
doesnt
dog
donly
doo
downstream
draw
dry
dsemi
dskip
dumping
dumps
dupe
durations
dw
e's
ea
ease
ec
echo
edits
ei
einst
elapse
elegantly
ell
emethod
entrypoints
eoo
epoch
equally
erase
err
esc
estat
et
everytime
evicting
exceed
excess
exe
exercised
exercises
exitcode
exiting
expanded
expansive
explainer
extern
f\u
fac
faking
falling
favors
fi
fibonacci
filesystem
filler
filters
fisk
five
fl
floor
fluctuate
foo'bar'baz
foos
forbidden
forces
foreground
forrest
forty
foundation
fox
frequency
frozen
fulfill
func
futu
futures
fuzz
fuzzed
fuzzing
fx
gallery
gamma
gave
gc
gcd
gesture
gi
gm
goo
google
graphic
grault
greeting
gtgt
gulp
gunk
hackish
hardly
hest
heuristics
hi
hints
hits
hkt
home
hoo
hook
horizontally
hosted
hosting
hot
hotreload
hunk
hurray
i'm
ia
identification
idle
ikg
illustrate
image
images
implemen
implementor
implementors
imprecision
improvement
inclosure
inconsistencies
increasing
incrementally
increments
indents
ing
inlinable
inlineable
insights
instrument
insufficient
intdiv
interactive
interchangeable
internet
interpolate
introducer
inv
ioo
ish
it'll
italic
iter
jlcontreras
joo
jumped
kernels
kitty
ko
koo
la
launch
launching
law
le
legs
lengths
lightly
likewise
lily
linebreaks
lints
listening
listing
ln
logd
logs
loo
lookahead
loopback
mac
maker
matters
mds
meaningless
measured
measurement
mf
mfs
micro
minimize
minimizer
minimizing
minitest
minst
mintty
minutes
mis
mismatched
misnamed
miss
misses
misspelled
mistake
mistakes
mmethod
mod
modelled
month
moo
mouse
mstat
mul
mx
mxn
mysdk
naively
naturally
negatable
newworld
ninja
noisy
nominal
nondefault
nonexisting
noo
noted
nottest
null'ed
numerator
nums
ob
obool
observable
offers
oh
okay
ol
onull
oo
oobar
oocf
ooo
oovf
opacity
operate
ops
optimal
oracle
outbound
outliers
overhead
overlay
overly
ox
pack
paging
paint
parallax
parameterized
partfoo
party
pause
paused
pc
periodic
periodically
person
phrase
pink
placement
planned
plug
policy
pooled
population
portions
pp
preliminary
prematurely
prerequisite
press
pretends
printouts
processes
processors
producer
profile
profiler
proportional
protected
proved
proxy
pseudocode
pubspec
pv
px
py
python
quicker
quit
quot
quux
quuz
reality
recompilation
recompiles
redir
redirections
rediscover
reducer
reenable
referential
refusing
regards
regenerate
regressions
reify
reject
remap
remaps
rendition
reorder
reordering
repaint
repro
reproduce
reproduction
req
resuming
retaining
retainingpath
rev
revealed
risky
rk
row
rows
runtimes
rv
sanitize
saves
scans
scenarios
scheduler
screen
scripts
scroll
sdkroot
sdks
secondary
secondtest
segment
selection
semifuzz
sensitive
series
services
setups
severe
sheets
shipped
shortest
shot
sidebar
sigint
signalled
sigwinch
slashes
slight
sliver
smoke
snull
somehow
sorter
spans
spell
spellcheck
spelled
spelling
spent
spills
splay
splitting
spurious
sqrt
squared
sssp
stacks
stashed
stat
stats
stay
std
stopwatches
stress
stringy
strip
strongest
stub's
stupid
subcommand
subdir
subfolder
subtool
subtools
successes
summarization
summarized
sup
supermixin
supplement
suspension
swallow
t\b\f\u
t\u
ta
tails
templates
theoretically
thereof
thread
ticks
timed
timeout
timer
timings
tinv
tk
told
touch
tpt
transitively
translators
transparent
triangle
triggers
trimming
tripped
tripping
truncated
tt
tta
ttest
ttta
tttta
txt
typeargs
typeparam
typeparambounds
ugly
unassignment
unawaited
unbreak
unconverted
uncover
uncovers
underline
undocumented
unpacked
unpatched
unpaused
unregistered
unsurprisingly
untransformed
untrimmed
unusual
unversioned
upload
upward
uuid
val
verbatim
versioned
vf
vp
vt
vte
waited
waits
walt
warmup
week
weekly
wherever
whiskers
wins
wording
workflow
worlds
wrongly
ws
x's
xlate
xrequired
xxx
xxxxxxxx
xxxxxxxxxxxx
xyz
y's
year
yxxx
yy
zeroth
zipf's
zyx
zz
