diff --git a/.gitignore b/.gitignore
index aa56f32b..bdeb6e48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ packages
pubspec.lock
build
.pub
+.settings/
diff --git a/.project b/.project
new file mode 100644
index 00000000..51ef3695
--- /dev/null
+++ b/.project
@@ -0,0 +1,27 @@
+
+
+ stagehand
+
+
+
+
+
+ com.google.dart.tools.core.dartBuilder
+
+
+
+
+
+ com.google.dart.tools.core.dartNature
+
+
+
+ 1418751676225
+
+ 30
+
+ com.google.dart.tools.core.packagesFolderMatcher
+
+
+
+
diff --git a/lib/generators/appengineapp_data.dart b/lib/generators/appengineapp_data.dart
index bd721203..74790812 100644
--- a/lib/generators/appengineapp_data.dart
+++ b/lib/generators/appengineapp_data.dart
@@ -3,6 +3,48 @@
// license that can be found in the LICENSE file.
List data = [
+ "CHANGELOG.md",
+ "text",
+ """IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
+ZWhhbmQuCg==""",
+ "Dockerfile",
+ "text",
+ "RlJPTSBnb29nbGUvZGFydC1ydW50aW1lCg==",
+ "LICENSE",
+ "text",
+ """Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
+ClJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
+b3Igd2l0aG91dAptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
+Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
+dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAgICAgbm90aWNlLCB0
+aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAg
+KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
+IGNvcHlyaWdodAogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
+Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
+aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgICAqIE5laXRo
+ZXIgdGhlIG5hbWUgb2YgdGhlIDxvcmdhbml6YXRpb24+IG5vciB0aGUKICAgICAgbmFtZXMgb2Yg
+aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
+dHMKICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
+ciB3cml0dGVuIHBlcm1pc3Npb24uCgpUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
+T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECkFOWSBFWFBSRVNT
+IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
+RSBJTVBMSUVECldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
+IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgPENP
+UFlSSUdIVCBIT0xERVI+IEJFIExJQUJMRSBGT1IgQU5ZCkRJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
+RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCihJTkNM
+VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
+UyBPUiBTRVJWSUNFUzsKTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
+IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECk9OIEFOWSBUSEVPUlkgT0YgTElBQklM
+SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
+VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
+VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
+SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
+ "README.md",
+ "text",
+ """IyB7e3Byb2plY3ROYW1lfX0KClRoaXMgaXMgYSBzaW1wbGUgQXBwRW5naW5lIERhcnQgYXBwbGlj
+YXRpb24uIEl0IHNob3dzIGEgc2ltcGxlIHdheSBvZiBoYW5kbGluZyBIVFRQIHJlcXVlc3RzIGFu
+ZCBob3cgdG8gdXNlIHRoZSBwcmVjb25maWd1cmVkIEFwcEVuZ2luZSBtZW1jYWNoZSBBUEkgc2Vy
+dmljZS4K""",
"app.yaml",
"text",
"""dmVyc2lvbjogdjEKcnVudGltZTogY3VzdG9tCnZtOiB0cnVlCmFwaV92ZXJzaW9uOiAxCnRocmVh
@@ -74,13 +116,6 @@ ICAgICAgICAgICAgICAgICAgLSBSZWFkcyBiYWNrIHRoZSB2YWx1ZXMgY29ycmVzcG9uZGluZyB0
byB0aGUgZ2l2ZW4ga2V5cy4KICAgICAgJmx0O2Jhc2UtdXJsPi9jbGVhcl9jYWNoZSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIC0gQ2xlYXJzIHRoZSBjYWNoZSBhbmQgc2V0cyB0aGUg
aW5pdGlhbCBrZXkvdmFsdWUgcGFpci4KICAgIDwvcHJlPgogIDwvYm9keT4KPC9odG1sPgo=""",
- "CHANGELOG.md",
- "text",
- """IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
-ZWhhbmQuCg==""",
- "Dockerfile",
- "text",
- "RlJPTSBnb29nbGUvZGFydC1ydW50aW1lCg==",
"lib/memcache.dart",
"text",
"""Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
@@ -114,46 +149,11 @@ RnV0dXJlLmZvckVhY2goa2V5cywgKGtleSkgPT4gbWVtY2FjaGUuZ2V0KGtleSkKICAgICAgLnRo
ZW4oKHZhbHVlKSA9PiByZXNwb25zZS53cml0ZWxuKCciJHtrZXl9IjogIiR7dmFsdWV9IicpKQog
ICAgICAuY2F0Y2hFcnJvcigoXykgPT4gcmVzcG9uc2Uud3JpdGVsbignIiR7a2V5fSI6IHZhbHVl
IG5vdCBmb3VuZCEnKSkpCiAgICAud2hlbkNvbXBsZXRlKHJlc3BvbnNlLmNsb3NlKTsKfQo=""",
- "LICENSE",
- "text",
- """Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
-ClJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
-b3Igd2l0aG91dAptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
-Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
-dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAgICAgbm90aWNlLCB0
-aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAg
-KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
-IGNvcHlyaWdodAogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
-Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
-aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgICAqIE5laXRo
-ZXIgdGhlIG5hbWUgb2YgdGhlIDxvcmdhbml6YXRpb24+IG5vciB0aGUKICAgICAgbmFtZXMgb2Yg
-aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
-dHMKICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
-ciB3cml0dGVuIHBlcm1pc3Npb24uCgpUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
-T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECkFOWSBFWFBSRVNT
-IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
-RSBJTVBMSUVECldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
-IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgPENP
-UFlSSUdIVCBIT0xERVI+IEJFIExJQUJMRSBGT1IgQU5ZCkRJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
-RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCihJTkNM
-VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
-UyBPUiBTRVJWSUNFUzsKTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
-IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECk9OIEFOWSBUSEVPUlkgT0YgTElBQklM
-SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
-VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
-VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
-SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
"pubspec.yaml",
"text",
"""bmFtZToge3twcm9qZWN0TmFtZX19CnZlcnNpb246IDAuMC4xCmRlc2NyaXB0aW9uOiBBIHNpbXBs
ZSBBcHBFbmdpbmUgYXBwbGljYXRpb24uCiNhdXRob3I6IHt7YXV0aG9yfX0gPGVtYWlsQGV4YW1w
bGUuY29tPgojaG9tZXBhZ2U6IGh0dHBzOi8vd3d3LmV4YW1wbGUuY29tCmVudmlyb25tZW50Ogog
IHNkazogJz49MS41LjAgPDIuMC4wJwpkZXBlbmRlbmNpZXM6CiAgYXBwZW5naW5lOiAnPj0wLjIu
-MyA8MC4zLjAnCg==""",
- "README.md",
- "text",
- """IyB7e3Byb2plY3ROYW1lfX0KClRoaXMgaXMgYSBzaW1wbGUgQXBwRW5naW5lIERhcnQgYXBwbGlj
-YXRpb24uIEl0IHNob3dzIGEgc2ltcGxlIHdheSBvZiBoYW5kbGluZyBIVFRQIHJlcXVlc3RzIGFu
-ZCBob3cgdG8gdXNlIHRoZSBwcmVjb25maWd1cmVkIEFwcEVuZ2luZSBtZW1jYWNoZSBBUEkgc2Vy
-dmljZS4K"""
+MyA8MC4zLjAnCg=="""
];
diff --git a/lib/generators/consoleapp_data.dart b/lib/generators/consoleapp_data.dart
index 705b318b..2729e5a8 100644
--- a/lib/generators/consoleapp_data.dart
+++ b/lib/generators/consoleapp_data.dart
@@ -6,25 +6,10 @@ List data = [
".gitignore",
"text",
"LkRTX1N0b3JlCi5pZGVhCi5wdWIvCmJ1aWxkLwpwYWNrYWdlcwpwdWJzcGVjLmxvY2sK",
- "bin/main.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKaW1wb3J0ICdw
-YWNrYWdlOnt7cHJvamVjdE5hbWV9fS97e3Byb2plY3ROYW1lfX0uZGFydCcgYXMge3twcm9qZWN0
-TmFtZX19OwoKbWFpbigpIHsKICBwcmludCgnSGVsbG8gd29ybGQ6ICR7e3twcm9qZWN0TmFtZX19
-LmNhbGN1bGF0ZSgpfSEnKTsKfQo=""",
"CHANGELOG.md",
"text",
"""IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
ZWhhbmQuCg==""",
- "lib/projectName.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8vIFRoZSB7
-e3Byb2plY3ROYW1lfX0gbGlicmFyeS4KbGlicmFyeSB7e3Byb2plY3ROYW1lfX07CgppbnQgY2Fs
-Y3VsYXRlKCkgewogIHJldHVybiA2ICogNzsKfQo=""",
"LICENSE",
"text",
"""Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
@@ -54,6 +39,24 @@ SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
+ "README.md",
+ "text",
+ "IyB7e3Byb2plY3ROYW1lfX0KCkEgbWluaW1hbCBjb21tYW5kLWxpbmUgYXBwbGljYXRpb24uCg==",
+ "bin/main.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKaW1wb3J0ICdw
+YWNrYWdlOnt7cHJvamVjdE5hbWV9fS97e3Byb2plY3ROYW1lfX0uZGFydCcgYXMge3twcm9qZWN0
+TmFtZX19OwoKbWFpbigpIHsKICBwcmludCgnSGVsbG8gd29ybGQ6ICR7e3twcm9qZWN0TmFtZX19
+LmNhbGN1bGF0ZSgpfSEnKTsKfQo=""",
+ "lib/projectName.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8vIFRoZSB7
+e3Byb2plY3ROYW1lfX0gbGlicmFyeS4KbGlicmFyeSB7e3Byb2plY3ROYW1lfX07CgppbnQgY2Fs
+Y3VsYXRlKCkgewogIHJldHVybiA2ICogNzsKfQo=""",
"pubspec.yaml",
"text",
"""bmFtZToge3twcm9qZWN0TmFtZX19CnZlcnNpb246IDAuMC4xCmRlc2NyaXB0aW9uOiBBIG1pbmlt
@@ -61,9 +64,6 @@ YWwgY29tbWFuZC1saW5lIGFwcGxpY2F0aW9uLgojYXV0aG9yOiB7e2F1dGhvcn19IDxlbWFpbEBl
eGFtcGxlLmNvbT4KI2hvbWVwYWdlOiBodHRwczovL3d3dy5leGFtcGxlLmNvbQplbnZpcm9ubWVu
dDoKICBzZGs6ICc+PTEuMC4wIDwyLjAuMCcKI2RlcGVuZGVuY2llczoKIyAgZm9vX2JhcjogJz49
MS4wLjAgPDIuMC4wJwpkZXZfZGVwZW5kZW5jaWVzOgogIHVuaXR0ZXN0OiBhbnkK""",
- "README.md",
- "text",
- "IyB7e3Byb2plY3ROYW1lfX0KCkEgbWluaW1hbCBjb21tYW5kLWxpbmUgYXBwbGljYXRpb24uCg==",
"test/all.dart",
"text",
"""Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
diff --git a/lib/generators/package_data.dart b/lib/generators/package_data.dart
index 4f220e89..0dff69c2 100644
--- a/lib/generators/package_data.dart
+++ b/lib/generators/package_data.dart
@@ -10,31 +10,6 @@ List data = [
"text",
"""IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
ZWhhbmQuCg==""",
- "example/projectName.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSB7
-e3Byb2plY3ROYW1lfX0uZXhhbXBsZTsKCmltcG9ydCAncGFja2FnZTp7e3Byb2plY3ROYW1lfX0v
-e3twcm9qZWN0TmFtZX19LmRhcnQnOwoKbWFpbigpIHsKICB2YXIgYXdlc29tZSA9IG5ldyBBd2Vz
-b21lKCk7CiAgcHJpbnQoJ2F3ZXNvbWU6ICR7YXdlc29tZS5pc0F3ZXNvbWV9Jyk7Cn0K""",
- "lib/projectName.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8vIFRoZSB7
-e3Byb2plY3ROYW1lfX0gbGlicmFyeS4KLy8vCi8vLyBUaGlzIGlzIGFuIGF3ZXNvbWUgbGlicmFy
-eS4gTW9yZSBkYXJ0ZG9jcyBnbyBoZXJlLgpsaWJyYXJ5IHt7cHJvamVjdE5hbWV9fTsKCi8vIFRP
-RE86IEV4cG9ydCBhbnkgbGlicmFyaWVzIGludGVuZGVkIGZvciBjbGllbnRzIG9mIHRoaXMgcGFj
-a2FnZS4KCmV4cG9ydCAnc3JjL3t7cHJvamVjdE5hbWV9fV9iYXNlLmRhcnQnOwo=""",
- "lib/src/projectName_base.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8gVE9ETzog
-UHV0IHB1YmxpYyBmYWNpbmcgdHlwZXMgaW4gdGhpcyBmaWxlLgoKbGlicmFyeSB7e3Byb2plY3RO
-YW1lfX0uYmFzZTsKCi8vLyBDaGVja3MgaWYgeW91IGFyZSBhd2Vzb21lLiBTcG9pbGVyOiB5b3Ug
-YXJlLgpjbGFzcyBBd2Vzb21lIHsKICBib29sIGdldCBpc0F3ZXNvbWUgPT4gdHJ1ZTsKfQo=""",
"LICENSE",
"text",
"""Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
@@ -64,13 +39,6 @@ SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
- "pubspec.yaml",
- "text",
- """bmFtZToge3twcm9qZWN0TmFtZX19CmRlc2NyaXB0aW9uOiA+CiAgQSBsaWJyYXJ5IHVzZWZ1bCBm
-b3IgYXBwbGljYXRpb25zIG9yIGZvciBzaGFyaW5nIG9uIHB1Yi5kYXJ0bGFuZy5vcmcuCnZlcnNp
-b246IDAuMC4xCiNhdXRob3I6IHt7YXV0aG9yfX0gPGVtYWlsQGV4YW1wbGUuY29tPgojaG9tZXBh
-Z2U6IGh0dHBzOi8vd3d3LmV4YW1wbGUuY29tCiNkZXBlbmRlbmNpZXM6CiMgIGxpYl9uYW1lOiBh
-bnkKZGV2X2RlcGVuZGVuY2llczoKICB1bml0dGVzdDogYW55Cg==""",
"README.md",
"text",
"""IyB7e3Byb2plY3ROYW1lfX0KCkEgbGlicmFyeSBmb3IgRGFydCBkZXZlbG9wZXJzLiBJdCBpcyBh
@@ -80,6 +48,38 @@ IHsKICAgICAgdmFyIGF3ZXNvbWUgPSBuZXcgQXdlc29tZSgpOwogICAgfQoKIyMgRmVhdHVyZXMg
YW5kIGJ1Z3MKClBsZWFzZSBmaWxlIGZlYXR1cmUgcmVxdWVzdHMgYW5kIGJ1Z3MgYXQgdGhlIFtp
c3N1ZSB0cmFja2VyXVt0cmFja2VyXS4KClt0cmFja2VyXTogaHR0cDovL2V4YW1wbGUuY29tL2lz
c3Vlcy9yZXBsYWNlbWUK""",
+ "example/projectName.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSB7
+e3Byb2plY3ROYW1lfX0uZXhhbXBsZTsKCmltcG9ydCAncGFja2FnZTp7e3Byb2plY3ROYW1lfX0v
+e3twcm9qZWN0TmFtZX19LmRhcnQnOwoKbWFpbigpIHsKICB2YXIgYXdlc29tZSA9IG5ldyBBd2Vz
+b21lKCk7CiAgcHJpbnQoJ2F3ZXNvbWU6ICR7YXdlc29tZS5pc0F3ZXNvbWV9Jyk7Cn0K""",
+ "lib/projectName.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8vIFRoZSB7
+e3Byb2plY3ROYW1lfX0gbGlicmFyeS4KLy8vCi8vLyBUaGlzIGlzIGFuIGF3ZXNvbWUgbGlicmFy
+eS4gTW9yZSBkYXJ0ZG9jcyBnbyBoZXJlLgpsaWJyYXJ5IHt7cHJvamVjdE5hbWV9fTsKCi8vIFRP
+RE86IEV4cG9ydCBhbnkgbGlicmFyaWVzIGludGVuZGVkIGZvciBjbGllbnRzIG9mIHRoaXMgcGFj
+a2FnZS4KCmV4cG9ydCAnc3JjL3t7cHJvamVjdE5hbWV9fV9iYXNlLmRhcnQnOwo=""",
+ "lib/src/projectName_base.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8gVE9ETzog
+UHV0IHB1YmxpYyBmYWNpbmcgdHlwZXMgaW4gdGhpcyBmaWxlLgoKbGlicmFyeSB7e3Byb2plY3RO
+YW1lfX0uYmFzZTsKCi8vLyBDaGVja3MgaWYgeW91IGFyZSBhd2Vzb21lLiBTcG9pbGVyOiB5b3Ug
+YXJlLgpjbGFzcyBBd2Vzb21lIHsKICBib29sIGdldCBpc0F3ZXNvbWUgPT4gdHJ1ZTsKfQo=""",
+ "pubspec.yaml",
+ "text",
+ """bmFtZToge3twcm9qZWN0TmFtZX19CmRlc2NyaXB0aW9uOiA+CiAgQSBsaWJyYXJ5IHVzZWZ1bCBm
+b3IgYXBwbGljYXRpb25zIG9yIGZvciBzaGFyaW5nIG9uIHB1Yi5kYXJ0bGFuZy5vcmcuCnZlcnNp
+b246IDAuMC4xCiNhdXRob3I6IHt7YXV0aG9yfX0gPGVtYWlsQGV4YW1wbGUuY29tPgojaG9tZXBh
+Z2U6IGh0dHBzOi8vd3d3LmV4YW1wbGUuY29tCiNkZXBlbmRlbmNpZXM6CiMgIGxpYl9uYW1lOiBh
+bnkKZGV2X2RlcGVuZGVuY2llczoKICB1bml0dGVzdDogYW55Cg==""",
"test/all_test.dart",
"text",
"""Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
diff --git a/lib/generators/polymerapp_data.dart b/lib/generators/polymerapp_data.dart
index 62dd70ea..bc61e648 100644
--- a/lib/generators/polymerapp_data.dart
+++ b/lib/generators/polymerapp_data.dart
@@ -7,6 +7,46 @@ List data = [
"text",
"""LkRTX1N0b3JlCi5pZGVhCi5wdWIvCi5idWlsZGxvZwpidWlsZC8KcGFja2FnZXMKcHVic3BlYy5s
b2NrCg==""",
+ "CHANGELOG.md",
+ "text",
+ """IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
+ZWhhbmQuCg==""",
+ "LICENSE",
+ "text",
+ """Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
+ClJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
+b3Igd2l0aG91dAptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
+Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
+dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAgICAgbm90aWNlLCB0
+aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAg
+KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
+IGNvcHlyaWdodAogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
+Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
+aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgICAqIE5laXRo
+ZXIgdGhlIG5hbWUgb2YgdGhlIDxvcmdhbml6YXRpb24+IG5vciB0aGUKICAgICAgbmFtZXMgb2Yg
+aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
+dHMKICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
+ciB3cml0dGVuIHBlcm1pc3Npb24uCgpUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
+T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECkFOWSBFWFBSRVNT
+IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
+RSBJTVBMSUVECldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
+IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgPENP
+UFlSSUdIVCBIT0xERVI+IEJFIExJQUJMRSBGT1IgQU5ZCkRJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
+RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCihJTkNM
+VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
+UyBPUiBTRVJWSUNFUzsKTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
+IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECk9OIEFOWSBUSEVPUlkgT0YgTElBQklM
+SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
+VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
+VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
+SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
+ "README.md",
+ "text",
+ """IyB7eyBwcm9qZWN0TmFtZSB9fQoKQSBzdGFydGVyIHRlbXBsYXRlIGZvciBhIHBvbHltZXIuZGFy
+dCB3ZWIgYXBwLgoKIyMgQ3JlYXRpbmcgbmV3IGVsZW1lbnRzCgpUaGUgYHBvbHltZXJgIHBhY2th
+Z2UgaW5jbHVkZXMgYSB1dGlsaXR5IHRvIGdlbmVyYXRlIG5ldyBlbGVtZW50cy4gRnJvbQp3aXRo
+aW4gdGhpcyBwcm9qZWN0LCBydW46CgpgcHViIHJ1biBwb2x5bWVyOm5ld19lbGVtZW50IDxuYW1l
+PmAK""",
"build.dart",
"text",
"""Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
@@ -15,10 +55,6 @@ bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKLy8gVGhpcyBm
aWxlIGlzIG9ubHkgdXNlZCBieSBEYXJ0IEVkaXRvci4gSXQgZGlzcGxheXMgZXJyb3JzIGFuZCB3
YXJuaW5ncyBhZnRlcgovLyBhbmFseXppbmcgYSBwb2x5bWVyLmRhcnQgYXBwLgoKZXhwb3J0ICdw
YWNrYWdlOnBvbHltZXIvZGVmYXVsdF9idWlsZC5kYXJ0JzsK""",
- "CHANGELOG.md",
- "text",
- """IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
-ZWhhbmQuCg==""",
"lib/main_app.dart",
"text",
"""Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
@@ -59,35 +95,6 @@ IiBpbnB1dFZhbHVlPSJ7e2lucHV0fX0iPjwvcGFwZXItaW5wdXQ+CgogICAgPHA+CiAgICAgIFJl
dmVyc2VkOiB7eyByZXZlcnNlZCB9fQogICAgPC9wPgogIDwvdGVtcGxhdGU+CiAgPHNjcmlwdCB0
eXBlPSJhcHBsaWNhdGlvbi9kYXJ0IiBzcmM9Im1haW5fYXBwLmRhcnQiPjwvc2NyaXB0Pgo8L3Bv
bHltZXItZWxlbWVudD4K""",
- "LICENSE",
- "text",
- """Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
-ClJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
-b3Igd2l0aG91dAptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
-Zm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNv
-dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICAgICAgbm90aWNlLCB0
-aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgogICAg
-KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
-IGNvcHlyaWdodAogICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
-Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCiAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
-aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiAgICAqIE5laXRo
-ZXIgdGhlIG5hbWUgb2YgdGhlIDxvcmdhbml6YXRpb24+IG5vciB0aGUKICAgICAgbmFtZXMgb2Yg
-aXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVj
-dHMKICAgICAgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
-ciB3cml0dGVuIHBlcm1pc3Npb24uCgpUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
-T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5ECkFOWSBFWFBSRVNT
-IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
-RSBJTVBMSUVECldBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
-IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgPENP
-UFlSSUdIVCBIT0xERVI+IEJFIExJQUJMRSBGT1IgQU5ZCkRJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
-RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCihJTkNM
-VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
-UyBPUiBTRVJWSUNFUzsKTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
-IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5ECk9OIEFOWSBUSEVPUlkgT0YgTElBQklM
-SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
-VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
-VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
-SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
"pubspec.yaml",
"text",
"""bmFtZTogJ3t7cHJvamVjdE5hbWV9fScKdmVyc2lvbjogMC4wLjEKZGVzY3JpcHRpb246ID4KICBB
@@ -97,13 +104,6 @@ bGUuY29tCmVudmlyb25tZW50OgogIHNkazogJz49MS4wLjAgPDIuMC4wJwpkZXBlbmRlbmNpZXM6
CiAgYnJvd3NlcjogYW55CiAgcG9seW1lcjogJz49MC4xNS4wIDwwLjE2LjAnCiAgcGFwZXJfZWxl
bWVudHM6ICc+PTAuNS4wIDwwLjYuMCcKdHJhbnNmb3JtZXJzOgotIHBvbHltZXI6CiAgICBlbnRy
eV9wb2ludHM6IHdlYi9pbmRleC5odG1sCg==""",
- "README.md",
- "text",
- """IyB7eyBwcm9qZWN0TmFtZSB9fQoKQSBzdGFydGVyIHRlbXBsYXRlIGZvciBhIHBvbHltZXIuZGFy
-dCB3ZWIgYXBwLgoKIyMgQ3JlYXRpbmcgbmV3IGVsZW1lbnRzCgpUaGUgYHBvbHltZXJgIHBhY2th
-Z2UgaW5jbHVkZXMgYSB1dGlsaXR5IHRvIGdlbmVyYXRlIG5ldyBlbGVtZW50cy4gRnJvbQp3aXRo
-aW4gdGhpcyBwcm9qZWN0LCBydW46CgpgcHViIHJ1biBwb2x5bWVyOm5ld19lbGVtZW50IDxuYW1l
-PmAK""",
"web/apple-touch-icon-precomposed.png",
"binary",
"""iVBORw0KGgoAAAANSUhEUgAAAJgAAACYCAMAAAAvHNATAAAAYFBMVEX///+0y/MaYdxik+crbd4g
diff --git a/lib/generators/shelfserver_data.dart b/lib/generators/shelfserver_data.dart
index 13f5e43e..f185b35f 100644
--- a/lib/generators/shelfserver_data.dart
+++ b/lib/generators/shelfserver_data.dart
@@ -6,26 +6,6 @@ List data = [
".gitignore",
"text",
"LkRTX1N0b3JlCi5pZGVhCi5wdWIvCmJ1aWxkLwpwYWNrYWdlcwpwdWJzcGVjLmxvY2sK",
- "bin/server.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKaW1wb3J0ICdk
-YXJ0OmlvJzsKCmltcG9ydCAncGFja2FnZTphcmdzL2FyZ3MuZGFydCc7CmltcG9ydCAncGFja2Fn
-ZTpzaGVsZi9zaGVsZi5kYXJ0JyBhcyBzaGVsZjsKaW1wb3J0ICdwYWNrYWdlOnNoZWxmL3NoZWxm
-X2lvLmRhcnQnIGFzIGlvOwoKdm9pZCBtYWluKExpc3Q8U3RyaW5nPiBhcmdzKSB7CiAgdmFyIHBh
-cnNlciA9IG5ldyBBcmdQYXJzZXIoKQogICAgICAuLmFkZE9wdGlvbigncG9ydCcsIGFiYnI6ICdw
-JywgZGVmYXVsdHNUbzogJzgwODAnKTsKCiAgdmFyIHJlc3VsdCA9IHBhcnNlci5wYXJzZShhcmdz
-KTsKCiAgdmFyIHBvcnQgPSBpbnQucGFyc2UocmVzdWx0Wydwb3J0J10sIG9uRXJyb3I6ICh2YWwp
-IHsKICAgIHN0ZG91dC53cml0ZWxuKCdDb3VsZCBub3QgcGFyc2UgcG9ydCB2YWx1ZSAiJHZhbCIg
-aW50byBhIG51bWJlci4nKTsKICAgIGV4aXQoMSk7CiAgfSk7CgogIHZhciBoYW5kbGVyID0gY29u
-c3Qgc2hlbGYuUGlwZWxpbmUoKQogICAgICAuYWRkTWlkZGxld2FyZShzaGVsZi5sb2dSZXF1ZXN0
-cygpKQogICAgICAuYWRkSGFuZGxlcihfZWNob1JlcXVlc3QpOwoKICBpby5zZXJ2ZShoYW5kbGVy
-LCAnbG9jYWxob3N0JywgcG9ydCkudGhlbigoc2VydmVyKSB7CiAgICBwcmludCgnU2VydmluZyBh
-dCBodHRwOi8vJHtzZXJ2ZXIuYWRkcmVzcy5ob3N0fToke3NlcnZlci5wb3J0fScpOwogIH0pOwp9
-CgpzaGVsZi5SZXNwb25zZSBfZWNob1JlcXVlc3Qoc2hlbGYuUmVxdWVzdCByZXF1ZXN0KSB7CiAg
-cmV0dXJuIG5ldyBzaGVsZi5SZXNwb25zZS5vaygnUmVxdWVzdCBmb3IgIiR7cmVxdWVzdC51cmx9
-IicpOwp9Cg==""",
"CHANGELOG.md",
"text",
"""IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
@@ -59,15 +39,35 @@ SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
+ "README.md",
+ "text",
+ """IyB7e3Byb2plY3ROYW1lfX0KCkEgbWluaW1hbCB3ZWIgc2VydmVyIHVzaW5nIFtTaGVsZl0oaHR0
+cHM6Ly9wdWIuZGFydGxhbmcub3JnL3BhY2thZ2VzL3NoZWxmKS4K""",
+ "bin/server.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKaW1wb3J0ICdk
+YXJ0OmlvJzsKCmltcG9ydCAncGFja2FnZTphcmdzL2FyZ3MuZGFydCc7CmltcG9ydCAncGFja2Fn
+ZTpzaGVsZi9zaGVsZi5kYXJ0JyBhcyBzaGVsZjsKaW1wb3J0ICdwYWNrYWdlOnNoZWxmL3NoZWxm
+X2lvLmRhcnQnIGFzIGlvOwoKdm9pZCBtYWluKExpc3Q8U3RyaW5nPiBhcmdzKSB7CiAgdmFyIHBh
+cnNlciA9IG5ldyBBcmdQYXJzZXIoKQogICAgICAuLmFkZE9wdGlvbigncG9ydCcsIGFiYnI6ICdw
+JywgZGVmYXVsdHNUbzogJzgwODAnKTsKCiAgdmFyIHJlc3VsdCA9IHBhcnNlci5wYXJzZShhcmdz
+KTsKCiAgdmFyIHBvcnQgPSBpbnQucGFyc2UocmVzdWx0Wydwb3J0J10sIG9uRXJyb3I6ICh2YWwp
+IHsKICAgIHN0ZG91dC53cml0ZWxuKCdDb3VsZCBub3QgcGFyc2UgcG9ydCB2YWx1ZSAiJHZhbCIg
+aW50byBhIG51bWJlci4nKTsKICAgIGV4aXQoMSk7CiAgfSk7CgogIHZhciBoYW5kbGVyID0gY29u
+c3Qgc2hlbGYuUGlwZWxpbmUoKQogICAgICAuYWRkTWlkZGxld2FyZShzaGVsZi5sb2dSZXF1ZXN0
+cygpKQogICAgICAuYWRkSGFuZGxlcihfZWNob1JlcXVlc3QpOwoKICBpby5zZXJ2ZShoYW5kbGVy
+LCAnbG9jYWxob3N0JywgcG9ydCkudGhlbigoc2VydmVyKSB7CiAgICBwcmludCgnU2VydmluZyBh
+dCBodHRwOi8vJHtzZXJ2ZXIuYWRkcmVzcy5ob3N0fToke3NlcnZlci5wb3J0fScpOwogIH0pOwp9
+CgpzaGVsZi5SZXNwb25zZSBfZWNob1JlcXVlc3Qoc2hlbGYuUmVxdWVzdCByZXF1ZXN0KSB7CiAg
+cmV0dXJuIG5ldyBzaGVsZi5SZXNwb25zZS5vaygnUmVxdWVzdCBmb3IgIiR7cmVxdWVzdC51cmx9
+IicpOwp9Cg==""",
"pubspec.yaml",
"text",
"""bmFtZTogJ3t7cHJvamVjdE5hbWV9fScKdmVyc2lvbjogMC4wLjEKZGVzY3JpcHRpb246IEEgbWlu
aW1hbCB3ZWIgc2VydmVyIHVzaW5nIHRoZSBzaGVsZiBwYWNrYWdlLgojYXV0aG9yOiB7e2F1dGhv
cn19IDxlbWFpbEBleGFtcGxlLmNvbT4KI2hvbWVwYWdlOiBodHRwczovL3d3dy5leGFtcGxlLmNv
bQplbnZpcm9ubWVudDoKICBzZGs6ICc+PTEuMC4wIDwyLjAuMCcKZGVwZW5kZW5jaWVzOgogIGFy
-Z3M6ICc+PTAuMTAuMCA8MC4xMy4wJwogIHNoZWxmOiAnPj0wLjUuNSA8MC42LjAnCg==""",
- "README.md",
- "text",
- """IyB7e3Byb2plY3ROYW1lfX0KCkEgbWluaW1hbCB3ZWIgc2VydmVyIHVzaW5nIFtTaGVsZl0oaHR0
-cHM6Ly9wdWIuZGFydGxhbmcub3JnL3BhY2thZ2VzL3NoZWxmKS4K"""
+Z3M6ICc+PTAuMTAuMCA8MC4xMy4wJwogIHNoZWxmOiAnPj0wLjUuNSA8MC42LjAnCg=="""
];
diff --git a/lib/generators/ubersimplewebapp_data.dart b/lib/generators/ubersimplewebapp_data.dart
index 043e0c57..bcf10e22 100644
--- a/lib/generators/ubersimplewebapp_data.dart
+++ b/lib/generators/ubersimplewebapp_data.dart
@@ -39,6 +39,10 @@ SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
+ "README.md",
+ "text",
+ """IyBVYmVyLXNpbXBsZSB3ZWIgYXBwCgpHZW5lcmF0ZWQgYnkgU3RhZ2VoYW5kLiBTZWUgTElDRU5T
+RS4=""",
"pubspec.yaml",
"text",
"""bmFtZTogJ3t7cHJvamVjdE5hbWV9fScKdmVyc2lvbjogMC4wLjEKZGVzY3JpcHRpb246ID4KICBB
@@ -46,10 +50,6 @@ biBhYnNvbHV0ZSBiYXJlLWJvbmVzIHdlYiBhcHAuCiNhdXRob3I6IHt7YXV0aG9yfX0gPGVtYWls
QGV4YW1wbGUuY29tPgojaG9tZXBhZ2U6IGh0dHBzOi8vd3d3LmV4YW1wbGUuY29tCmVudmlyb25t
ZW50OgogIHNkazogJz49MS4wLjAgPDIuMC4wJwpkZXBlbmRlbmNpZXM6CiAgYnJvd3NlcjogYW55
Cg==""",
- "README.md",
- "text",
- """IyBVYmVyLXNpbXBsZSB3ZWIgYXBwCgpHZW5lcmF0ZWQgYnkgU3RhZ2VoYW5kLiBTZWUgTElDRU5T
-RS4=""",
"web/index.html",
"text",
"""PCFET0NUWVBFIGh0bWw+Cgo8IS0tCiAgQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9
@@ -71,11 +71,11 @@ c2NyaXB0Pgo8L2JvZHk+CjwvaHRtbD4K""",
ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKaW1wb3J0ICdk
YXJ0Omh0bWwnOwoKdm9pZCBtYWluKCkgewogIHF1ZXJ5U2VsZWN0b3IoJyNvdXRwdXQnKS50ZXh0
-ID0gJ0RhcnQgaXMgcnVubmluZy4nOwp9""",
+ID0gJ0RhcnQgaXMgcnVubmluZy4nOwp9Cg==""",
"web/styles/main.css",
"text",
"""QGltcG9ydCB1cmwoaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJvYm90
byk7CgpodG1sLCBib2R5IHsKICAgIHdpZHRoOiAxMDAlOwogICAgaGVpZ2h0OiAxMDAlOwogICAg
bWFyZ2luOiAwOwogICAgcGFkZGluZzogMDsKICAgIGZvbnQtZmFtaWx5OiAnUm9ib3RvJywgc2Fu
-cy1zZXJpZjsKfQ=="""
+cy1zZXJpZjsKfQo="""
];
diff --git a/lib/generators/webapp_data.dart b/lib/generators/webapp_data.dart
index a7c530e7..08f26dda 100644
--- a/lib/generators/webapp_data.dart
+++ b/lib/generators/webapp_data.dart
@@ -10,37 +10,6 @@ List data = [
"text",
"""IyBDaGFuZ2Vsb2cKCiMjIDAuMC4xCgoqIEluaXRpYWwgdmVyc2lvbiwgY3JlYXRlZCBieSBTdGFn
ZWhhbmQuCg==""",
- "lib/nav_menu.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSBu
-YXZfbWVudTsKCmltcG9ydCAnZGFydDpodG1sJzsKCmluaXROYXZNZW51KCkgewogIHZhciBuYXZk
-cmF3ZXJDb250YWluZXIgPSBxdWVyeVNlbGVjdG9yKCcubmF2ZHJhd2VyLWNvbnRhaW5lcicpOwog
-IHZhciBhcHBiYXJFbGVtZW50ID0gcXVlcnlTZWxlY3RvcignLmFwcC1iYXInKTsKICB2YXIgbWVu
-dUJ0biA9IHF1ZXJ5U2VsZWN0b3IoJy5tZW51Jyk7CiAgdmFyIG1haW4gPSBxdWVyeVNlbGVjdG9y
-KCdtYWluJyk7CgogIGNsb3NlTWVudShlKSB7CiAgICBkb2N1bWVudC5ib2R5LmNsYXNzZXMucmVt
-b3ZlKCdvcGVuJyk7CiAgICBhcHBiYXJFbGVtZW50LmNsYXNzZXMucmVtb3ZlKCdvcGVuJyk7CiAg
-ICBuYXZkcmF3ZXJDb250YWluZXIuY2xhc3Nlcy5yZW1vdmUoJ29wZW4nKTsKICB9CgogIHRvZ2ds
-ZU1lbnUoZSkgewogICAgZG9jdW1lbnQuYm9keS5jbGFzc2VzLnRvZ2dsZSgnb3BlbicpOwogICAg
-YXBwYmFyRWxlbWVudC5jbGFzc2VzLnRvZ2dsZSgnb3BlbicpOwogICAgbmF2ZHJhd2VyQ29udGFp
-bmVyLmNsYXNzZXMudG9nZ2xlKCdvcGVuJyk7CiAgICBuYXZkcmF3ZXJDb250YWluZXIuY2xhc3Nl
-cy5hZGQoJ29wZW5lZCcpOwogIH0KCiAgbWFpbi5vbkNsaWNrLmxpc3RlbihjbG9zZU1lbnUpOwog
-IG1lbnVCdG4ub25DbGljay5saXN0ZW4odG9nZ2xlTWVudSk7CiAgbmF2ZHJhd2VyQ29udGFpbmVy
-Lm9uQ2xpY2subGlzdGVuKChldmVudCkgewogICAgaWYgKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9
-PSAnQScgfHwgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdMSScpIHsKICAgICAgY2xvc2VNZW51
-KGV2ZW50KTsKICAgIH0KICB9KTsKfQo=""",
- "lib/reverser.dart",
- "text",
- """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
-ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
-bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSBy
-ZXZlcnNlcjsKCmltcG9ydCAnZGFydDpodG1sJzsKCi8vIEV4YW1wbGUgb2YgaG9va2luZyBpbnRv
-IHRoZSBET00gYW5kIHJlc3BvbmRpbmcgdG8gY2hhbmdlcyBmcm9tIGlucHV0IGZpZWxkcy4KaW5p
-dFJldmVyc2VyKCkgewogIHZhciBvdXRwdXQgPSBxdWVyeVNlbGVjdG9yKCcjb3V0Jyk7CiAgdmFy
-IGlucHV0ID0gcXVlcnlTZWxlY3RvcignI25hbWUnKTsKICBpbnB1dC5vbktleVVwLmxpc3Rlbigo
-XykgewogICAgb3V0cHV0LnRleHQgPSBpbnB1dC52YWx1ZS5zcGxpdCgnJykucmV2ZXJzZWQuam9p
-bigpOwogIH0pOwp9Cg==""",
"LICENSE",
"text",
"""Q29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4KQWxsIHJpZ2h0cyByZXNlcnZlZC4K
@@ -70,16 +39,6 @@ SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCihJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgo=""",
- "pubspec.yaml",
- "text",
- """bmFtZTogJ3t7cHJvamVjdE5hbWV9fScKdmVyc2lvbjogMC4wLjEKZGVzY3JpcHRpb246ID4KICBB
-IG1pbmltYWwgd2ViIGFwcCBmb3IgdGhlIGRldmVsb3BlciB0aGF0IGRvZXNu4oCZdCB3YW50IHRv
-IGJlIGNvbmZ1c2VkIGJ5IHRvbwogIG11Y2ggZ29pbmcgb24uCiNhdXRob3I6IHt7YXV0aG9yfX0g
-PGVtYWlsQGV4YW1wbGUuY29tPgojaG9tZXBhZ2U6IGh0dHBzOi8vd3d3LmV4YW1wbGUuY29tCmVu
-dmlyb25tZW50OgogIHNkazogJz49MS4wLjAgPDIuMC4wJwpkZXBlbmRlbmNpZXM6CiAgYnJvd3Nl
-cjogYW55CiAgc2FzczogJz49MC40LjAgPDAuNS4wJwogIHNjcmlwdF9pbmxpbmVyOiAnPj0xLjAu
-MCA8Mi4wLjAnCiAgcm91dGVfaGllcmFyY2hpY2FsOiAnPj0wLjUuMCA8MC43LjAnCnRyYW5zZm9y
-bWVyczoKLSBzY3JpcHRfaW5saW5lcgojLSBzYXNzOgojICAgIHN0eWxlOiBjb21wcmVzc2VkCg==""",
"README.md",
"text",
"""IyBNaW5pbWFsIERhcnQgV2ViYXBwCgpBIHN0YXJ0aW5nIHBvaW50IGZvciBhIHdlYmFwcCBidWls
@@ -122,6 +81,47 @@ dGVtcGxhdGUgc2ltcGx5IGZpbmRzIHRoZSBuZWNlc3NhcnkgaW5wdXQgZmllbGRzCnZpYSBgcXVl
cnlTZWxlY3RvcmAgYW5kIGJpbmRzIHRvIHRoZWlyIGtleVVwIGV2ZW50cy4gTG9vayBpbnNpZGUK
YGx1Yi9yZXZlcnNlci5kYXJ0YCBmb3IgYW4gZXhhbXBsZS4KCkhvd2V2ZXIsIGEgcmVhbCBhcHAg
ZnJhbWV3b3JrIHdpbGwgb2ZmZXIgcm9idXN0IGRhdGEgYmluZGluZy4K""",
+ "lib/nav_menu.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSBu
+YXZfbWVudTsKCmltcG9ydCAnZGFydDpodG1sJzsKCmluaXROYXZNZW51KCkgewogIHZhciBuYXZk
+cmF3ZXJDb250YWluZXIgPSBxdWVyeVNlbGVjdG9yKCcubmF2ZHJhd2VyLWNvbnRhaW5lcicpOwog
+IHZhciBhcHBiYXJFbGVtZW50ID0gcXVlcnlTZWxlY3RvcignLmFwcC1iYXInKTsKICB2YXIgbWVu
+dUJ0biA9IHF1ZXJ5U2VsZWN0b3IoJy5tZW51Jyk7CiAgdmFyIG1haW4gPSBxdWVyeVNlbGVjdG9y
+KCdtYWluJyk7CgogIGNsb3NlTWVudShlKSB7CiAgICBkb2N1bWVudC5ib2R5LmNsYXNzZXMucmVt
+b3ZlKCdvcGVuJyk7CiAgICBhcHBiYXJFbGVtZW50LmNsYXNzZXMucmVtb3ZlKCdvcGVuJyk7CiAg
+ICBuYXZkcmF3ZXJDb250YWluZXIuY2xhc3Nlcy5yZW1vdmUoJ29wZW4nKTsKICB9CgogIHRvZ2ds
+ZU1lbnUoZSkgewogICAgZG9jdW1lbnQuYm9keS5jbGFzc2VzLnRvZ2dsZSgnb3BlbicpOwogICAg
+YXBwYmFyRWxlbWVudC5jbGFzc2VzLnRvZ2dsZSgnb3BlbicpOwogICAgbmF2ZHJhd2VyQ29udGFp
+bmVyLmNsYXNzZXMudG9nZ2xlKCdvcGVuJyk7CiAgICBuYXZkcmF3ZXJDb250YWluZXIuY2xhc3Nl
+cy5hZGQoJ29wZW5lZCcpOwogIH0KCiAgbWFpbi5vbkNsaWNrLmxpc3RlbihjbG9zZU1lbnUpOwog
+IG1lbnVCdG4ub25DbGljay5saXN0ZW4odG9nZ2xlTWVudSk7CiAgbmF2ZHJhd2VyQ29udGFpbmVy
+Lm9uQ2xpY2subGlzdGVuKChldmVudCkgewogICAgaWYgKGV2ZW50LnRhcmdldC5ub2RlTmFtZSA9
+PSAnQScgfHwgZXZlbnQudGFyZ2V0Lm5vZGVOYW1lID09ICdMSScpIHsKICAgICAgY2xvc2VNZW51
+KGV2ZW50KTsKICAgIH0KICB9KTsKfQo=""",
+ "lib/reverser.dart",
+ "text",
+ """Ly8gQ29weXJpZ2h0IChjKSB7e3llYXJ9fSwge3thdXRob3J9fS4gQWxsIHJpZ2h0cyByZXNlcnZl
+ZC4gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUKLy8gaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg
+bGljZW5zZSB0aGF0IGNhbiBiZSBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgoKbGlicmFyeSBy
+ZXZlcnNlcjsKCmltcG9ydCAnZGFydDpodG1sJzsKCi8vIEV4YW1wbGUgb2YgaG9va2luZyBpbnRv
+IHRoZSBET00gYW5kIHJlc3BvbmRpbmcgdG8gY2hhbmdlcyBmcm9tIGlucHV0IGZpZWxkcy4KaW5p
+dFJldmVyc2VyKCkgewogIHZhciBvdXRwdXQgPSBxdWVyeVNlbGVjdG9yKCcjb3V0Jyk7CiAgdmFy
+IGlucHV0ID0gcXVlcnlTZWxlY3RvcignI25hbWUnKTsKICBpbnB1dC5vbktleVVwLmxpc3Rlbigo
+XykgewogICAgb3V0cHV0LnRleHQgPSBpbnB1dC52YWx1ZS5zcGxpdCgnJykucmV2ZXJzZWQuam9p
+bigpOwogIH0pOwp9Cg==""",
+ "pubspec.yaml",
+ "text",
+ """bmFtZTogJ3t7cHJvamVjdE5hbWV9fScKdmVyc2lvbjogMC4wLjEKZGVzY3JpcHRpb246ID4KICBB
+IG1pbmltYWwgd2ViIGFwcCBmb3IgdGhlIGRldmVsb3BlciB0aGF0IGRvZXNu4oCZdCB3YW50IHRv
+IGJlIGNvbmZ1c2VkIGJ5IHRvbwogIG11Y2ggZ29pbmcgb24uCiNhdXRob3I6IHt7YXV0aG9yfX0g
+PGVtYWlsQGV4YW1wbGUuY29tPgojaG9tZXBhZ2U6IGh0dHBzOi8vd3d3LmV4YW1wbGUuY29tCmVu
+dmlyb25tZW50OgogIHNkazogJz49MS4wLjAgPDIuMC4wJwpkZXBlbmRlbmNpZXM6CiAgYnJvd3Nl
+cjogYW55CiAgc2FzczogJz49MC40LjAgPDAuNS4wJwogIHNjcmlwdF9pbmxpbmVyOiAnPj0xLjAu
+MCA8Mi4wLjAnCiAgcm91dGVfaGllcmFyY2hpY2FsOiAnPj0wLjUuMCA8MC43LjAnCnRyYW5zZm9y
+bWVyczoKLSBzY3JpcHRfaW5saW5lcgojLSBzYXNzOgojICAgIHN0eWxlOiBjb21wcmVzc2VkCg==""",
"web/apple-touch-icon-precomposed.png",
"binary",
"""iVBORw0KGgoAAAANSUhEUgAAAJgAAACYCAMAAAAvHNATAAAAYFBMVEX///+0y/MaYdxik+crbd4g
diff --git a/tool/grind.dart b/tool/grind.dart
index fe88aeb7..d86ac4ed 100644
--- a/tool/grind.dart
+++ b/tool/grind.dart
@@ -146,7 +146,8 @@ String _toStr(String s) {
}
void _traverse(Directory dir, String root, List results) {
- for (FileSystemEntity entity in dir.listSync(recursive: false, followLinks: false)) {
+ var files = _listSync(dir, recursive: false, followLinks: false);
+ for (FileSystemEntity entity in files) {
String name = path.basename(entity.path);
if (entity is Link) continue;
@@ -177,6 +178,19 @@ bool _isBinaryFile(String filename) => _binaryFileTypes.hasMatch(filename);
File _locateDartFile(File file) {
if (file.path.endsWith('.dart')) return file;
- return file.parent.listSync().firstWhere(
+ return _listSync(file.parent).firstWhere(
(f) => f.path.endsWith('.dart'), orElse: () => null);
}
+
+/**
+ * Return the list of children for the given directory. This list is normalized
+ * (by sorting on the file path) in order to prevent large merge diffs in the
+ * generated template data files.
+ */
+List _listSync(Directory dir,
+ {bool recursive: false, bool followLinks: true}) {
+ List results = dir.listSync(
+ recursive: recursive, followLinks: followLinks);
+ results.sort((entity1, entity2) => entity1.path.compareTo(entity2.path));
+ return results;
+}