# eclipse conf file
.settings
.classpath
.project
.manager
.scala_dependencies
.cache
.actionScriptProperties
.flexProperties
.flexLibProperties

# idea conf files
.idea
*.iml
*.ipr
*.iws

# building
target/
[Bb]uild/
null
tmp
temp
dist
test-output
build.log
release
fonts
out
gen
bin-debug
bin-release
binjs-debug
binjs-release
examples/FlexJSTest_again/html-template
examples/FlexJSTest_again/bin
rat.report
mustella/tests/basicTests/bin
asdoc-output

#Apache Flex Projects
lib/
libs/
in/
swfobject/
flex2/
thirdparty/
3.0.33/
3.0.33

*.pbj
*.vms
*.ser
*.mxp
bundles.properties
empty.properties
css_*.properties
FXGException_*.properties
FXGLog_*.properties
FABridge.js
frameworks/projects/spark/manifest.xml
env.properties
local.properties
/flex-sdk-description.xml

#OS junk files
[Tt]humbs.db
*.DS_Store

#Visual Studio files
*.[Oo]bj
*.user
*.aps
*.pch
*.vspscc
*.vssscc
*_i.c
*_p.c
*.ncb
*.suo
*.tlb
*.tlh
*.bak
*.[Cc]ache
*.ilk
*.log
*.lib
*.sbr
*.sdf
ipch/
obj/
[Dd]ebug*/
[Rr]elease*/
Ankh.NoLoad

#Tooling
_ReSharper*/
*.resharper

#CVS files
.svn
.git

# Office Temp Files
~$*

#Binaries
*.dll
*.bin
*.com
*.exe
*.class
*.jar
*.swf
*.swc

#Compressed Files
*.zip
*.rar
*.tar

#VF2JS generated files
vf2js/frameworks/js/

#FlexJS generated files
frameworks/js/FlexJS/generated-sources
manualtests/FlexJSTest_SVG/bin
