[Libreoffice-commits] online.git: loleaflet/Makefile.am loleaflet/plugins

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Mar 6 03:21:02 UTC 2019


 dev/null                                                            |binary
 loleaflet/Makefile.am                                               |   21 
 loleaflet/plugins/draw-0.2.4/.gitattributes                         |   22 
 loleaflet/plugins/draw-0.2.4/.gitignore                             |  167 
 loleaflet/plugins/draw-0.2.4/BREAKINGCHANGES.md                     |   54 
 loleaflet/plugins/draw-0.2.4/CHANGELOG.md                           |  145 
 loleaflet/plugins/draw-0.2.4/MIT-LICENCE.txt                        |   20 
 loleaflet/plugins/draw-0.2.4/README.md                              |  440 -
 loleaflet/plugins/draw-0.2.4/TODO.md                                |   62 
 loleaflet/plugins/draw-0.2.4/build/build.html                       |  243 
 loleaflet/plugins/draw-0.2.4/build/build.js                         |   87 
 loleaflet/plugins/draw-0.2.4/build/deps.js                          |   78 
 loleaflet/plugins/draw-0.2.4/build/hintrc.js                        |   40 
 loleaflet/plugins/draw-0.2.4/build/leaflet.draw-include.js          |   43 
 loleaflet/plugins/draw-0.2.4/dist/leaflet.draw.css                  |  308 
 loleaflet/plugins/draw-0.2.4/examples/basic.html                    |  114 
 loleaflet/plugins/draw-0.2.4/examples/edithandlers.html             |   67 
 loleaflet/plugins/draw-0.2.4/examples/full.html                     |   66 
 loleaflet/plugins/draw-0.2.4/examples/libs/leaflet.css              |  478 -
 loleaflet/plugins/draw-0.2.4/package.json                           |   39 
 loleaflet/plugins/draw-0.2.4/spec/after.js                          |    3 
 loleaflet/plugins/draw-0.2.4/spec/before.js                         |    4 
 loleaflet/plugins/draw-0.2.4/spec/expect.js                         | 1254 --
 loleaflet/plugins/draw-0.2.4/spec/happen.js                         |   94 
 loleaflet/plugins/draw-0.2.4/spec/karma.conf.js                     |   73 
 loleaflet/plugins/draw-0.2.4/spec/sinon.js                          | 4224 ----------
 loleaflet/plugins/draw-0.2.4/spec/spec.hintrc.js                    |   26 
 loleaflet/plugins/draw-0.2.4/spec/suites/DrawControlSpec.js         |   15 
 loleaflet/plugins/draw-0.2.4/spec/suites/EditSpec.js                |   72 
 loleaflet/plugins/draw-0.2.4/spec/suites/GeometryUtilSpec.js        |   26 
 loleaflet/plugins/draw-0.2.4/spec/suites/LatLngUtilSpec.js          |   12 
 loleaflet/plugins/draw-0.2.4/spec/suites/SpecHelper.js              |   29 
 loleaflet/plugins/draw-0.2.4/src/Control.Draw.js                    |  105 
 loleaflet/plugins/draw-0.2.4/src/Leaflet.draw.js                    |  103 
 loleaflet/plugins/draw-0.2.4/src/Toolbar.js                         |  245 
 loleaflet/plugins/draw-0.2.4/src/Tooltip.js                         |   64 
 loleaflet/plugins/draw-0.2.4/src/copyright.js                       |    9 
 loleaflet/plugins/draw-0.2.4/src/draw/DrawToolbar.js                |   88 
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.Circle.js        |   64 
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.Feature.js       |   79 
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.Marker.js        |  103 
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.Polygon.js       |  104 
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.Polyline.js      |  434 -
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.Rectangle.js     |   60 
 loleaflet/plugins/draw-0.2.4/src/draw/handler/Draw.SimpleShape.js   |   95 
 loleaflet/plugins/draw-0.2.4/src/edit/EditToolbar.js                |  166 
 loleaflet/plugins/draw-0.2.4/src/edit/handler/Edit.Circle.js        |   64 
 loleaflet/plugins/draw-0.2.4/src/edit/handler/Edit.Marker.js        |   75 
 loleaflet/plugins/draw-0.2.4/src/edit/handler/Edit.Poly.js          |  285 
 loleaflet/plugins/draw-0.2.4/src/edit/handler/Edit.Rectangle.js     |  126 
 loleaflet/plugins/draw-0.2.4/src/edit/handler/EditToolbar.Delete.js |  134 
 loleaflet/plugins/draw-0.2.4/src/edit/handler/EditToolbar.Edit.js   |  184 
 loleaflet/plugins/draw-0.2.4/src/ext/GeometryUtil.js                |   69 
 loleaflet/plugins/draw-0.2.4/src/ext/LatLngUtil.js                  |   19 
 loleaflet/plugins/draw-0.2.4/src/ext/LineUtil.Intersect.js          |   16 
 loleaflet/plugins/draw-0.2.4/src/ext/Polygon.Intersect.js           |   28 
 loleaflet/plugins/draw-0.2.4/src/ext/Polyline.Intersect.js          |   86 
 loleaflet/plugins/draw-0.2.4/src/images/spritesheet.svg             |   41 
 58 files changed, 2 insertions(+), 11170 deletions(-)

New commits:
commit 3d91ea94a90fa433337b3aea38fe4b8f8fc5cee1
Author:     Henry Castro <hcastro at collabora.com>
AuthorDate: Sun Feb 10 19:53:57 2019 -0400
Commit:     Henry Castro <hcastro at collabora.com>
CommitDate: Tue Mar 5 23:20:24 2019 -0400

    loleaflet: remove unused draw plugin
    
    Change-Id: I6acdec7a5e04ba9cd370b80a3a04b54d370420a0

diff --git a/loleaflet/Makefile.am b/loleaflet/Makefile.am
index 31df8f092..4bb13c046 100644
--- a/loleaflet/Makefile.am
+++ b/loleaflet/Makefile.am
@@ -1,5 +1,3 @@
-# Version number of the bundled 'draw' thing
-DRAW_VERSION=0.2.4
 
 LANGUAGES = \
 	ab \
@@ -164,14 +162,9 @@ JQUERY_MINIFIED_DIST_IMAGES = $(patsubst $(JQUERY_MINIFIED_IMAGE_PATH)/%.png,$(b
 LOLEAFLET_IMAGES_SRC = $(shell find $(srcdir)/images -name '*.*')
 LOLEAFLET_IMAGES_DST = $(patsubst $(srcdir)/%,$(builddir)/dist/%,$(LOLEAFLET_IMAGES_SRC))
 
-LOLEAFLET_DRAW_JS_SRC = $(shell find $(srcdir)/plugins/draw-$(DRAW_VERSION)/src -name '*.js')
-LOLEAFLET_DRAW_JS_DST = $(patsubst $(srcdir)/plugins/%.js,$(builddir)/dist/plugins/%.js,$(LOLEAFLET_DRAW_JS_SRC))
-
 LOLEAFLET_PATH_JS_SRC = $(shell find $(srcdir)/plugins/path-transform/src -name '*.js')
 LOLEAFLET_PATH_JS_DST = $(patsubst $(srcdir)/plugins/%.js,$(builddir)/dist/plugins/%.js,$(LOLEAFLET_PATH_JS_SRC))
 
-LOLEAFLET_DRAW_CSS_SRC = $(shell find $(srcdir)/plugins/draw-$(DRAW_VERSION)/dist -name '*.css')
-
 LOLEAFLET_HTML_SRC = $(shell find $(srcdir)/html -name '*.html')
 LOLEAFLET_HTML_DST = $(patsubst $(srcdir)/html/%.html,$(builddir)/dist/%.html,$(LOLEAFLET_HTML_SRC))
 
@@ -213,7 +206,6 @@ LOLEAFLET_CSS =\
 	$(srcdir)/css/spreadsheet.css \
 	$(srcdir)/css/editor.css \
 	$(srcdir)/css/jquery.mCustomScrollbar.css \
-	$(srcdir)/plugins/draw-$(DRAW_VERSION)/dist/leaflet.draw.css \
 	$(builddir)/node_modules/jquery-contextmenu/dist/jquery.contextMenu.css \
 	$(builddir)/node_modules/vex-js/css/vex.css \
 	$(builddir)/node_modules/vex-js/css/vex-theme-plain.css \
@@ -263,9 +255,6 @@ PLUGINS_JS =\
 	toolbar.js \
 	main.js
 
-PLUGINS_JS_SRC = $(shell find $(srcdir)/js -name '*.js')
-PLUGINS_JS_DST = $(patsubst $(srcdir)/js/%.js,$(builddir)/dist/%.js,$(PLUGINS_JS_SRC))
-
 LOLEAFLET_JS_SRC = $(shell find $(srcdir)/src -name '*.js')
 LOLEAFLET_JS_DST = $(patsubst $(srcdir)/src/%.js,$(builddir)/dist/src/%.js,$(LOLEAFLET_JS_SRC))
 
@@ -321,10 +310,9 @@ $(LOLEAFLET_PREFIX)/dist/admin-src.js: $(LOLEAFLET_ADMIN_ALL)
 	@awk 'FNR == 1 {print ""} 1' $(patsubst %.js,$(srcdir)/%.js,$(call LOLEAFLET_JS,$(srcdir)/admin/build/build.js)) > $@
 
 if ENABLE_DEBUG
-$(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_DST) $(LOLEAFLET_DRAW_JS_DST) $(LOLEAFLET_PATH_JS_DST) $(PLUGINS_JS_DST)
+$(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_DST) $(LOLEAFLET_PATH_JS_DST) $(PLUGINS_JS_DST)
 	@echo "Checking for loleaflet JS errors..."
 	@NODE_PATH=$(abs_builddir)/node_modules $(NODE) node_modules/eslint/bin/eslint.js $(srcdir)/src \
-		$(srcdir)/plugins/draw-$(DRAW_VERSION)/src \
 		$(srcdir)/plugins/path-transform/src \
 		$(srcdir)/js --ignore-path $(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
 	@touch $@
@@ -335,6 +323,7 @@ $(builddir)/dist/bundle.css: $(LOLEAFLET_CSS_DST)
 $(builddir)/dist/bundle.js: $(NODE_MODULES_JS_DST) \
 	$(LOLEAFLET_PREFIX)/dist/loleaflet-src.js \
 	$(builddir)/dist/global.js \
+	$(builddir)/dist/jquery.mCustomScrollbar.js \
 	$(builddir)/dist/w2ui-1.5.rc1.js \
 	$(builddir)/dist/toolbar.js \
 	$(builddir)/dist/main.js
@@ -344,14 +333,12 @@ $(LOLEAFLET_PREFIX)/dist/loleaflet-src.js: $(LOLEAFLET_JS_SRC)
 	@mkdir -p $(dir $@)
 	@echo "Checking for loleaflet JS errors..."
 	@NODE_PATH=$(abs_builddir)/node_modules $(NODE) node_modules/eslint/bin/eslint.js $(srcdir)/src \
-		$(srcdir)/plugins/draw-$(DRAW_VERSION)/src \
 		$(srcdir)/plugins/path-transform/src \
 		$(srcdir)/js --ignore-path $(srcdir)/.eslintignore --config $(srcdir)/.eslintrc
 	@(cat $(srcdir)/src/copyright.js | sed 's/{VERSION}/$(LOLEAFLET_VERSION)/' - \
 		&& echo "(function (window, document, undefined) {" \
 		&& awk 'FNR == 1 {print ""} 1' \
 		$(patsubst %.js,$(srcdir)/%.js,$(call LOLEAFLET_JS,$(srcdir)/build/build.js)) \
-		$(patsubst %.js,$(srcdir)/plugins/draw-$(DRAW_VERSION)/%.js,$(call LOLEAFLET_JS,$(srcdir)/plugins/draw-$(DRAW_VERSION)/build/build.js)) \
 		$(patsubst %.js,$(srcdir)/plugins/path-transform/%.js,$(call LOPLUGIN_JS,$(srcdir)/plugins/path-transform/build/deps.js)) \
 		&& echo "}(window, document));") > $@
 
@@ -394,7 +381,6 @@ $(builddir)/dist/loleaflet.html: $(srcdir)/html/loleaflet.html.m4 $(LOLEAFLET_HT
 		-DGLOBAL_JS="$(abs_builddir)/dist/global.js" \
 		-DLOLEAFLET_JS="$(subst $(SPACE),$(COMMA),$(NODE_MODULES_JS) \
 		$(call LOLEAFLET_JS,$(srcdir)/build/build.js) \
-		$(patsubst %.js,plugins/draw-$(DRAW_VERSION)/%.js,$(call LOLEAFLET_JS,$(srcdir)/plugins/draw-$(DRAW_VERSION)/build/build.js)) \
 		$(patsubst %.js,plugins/path-transform/%.js,$(call LOPLUGIN_JS,$(srcdir)/plugins/path-transform/build/deps.js)) \
 		$(PLUGINS_JS))" \
 		$(srcdir)/html/loleaflet.html.m4 > $@
@@ -461,9 +447,6 @@ $(top_builddir)/locale/%/LC_MESSAGES/loolwsd.mo: $(srcdir)/po/help-%.po $(srcdir
 	@mkdir -p $(dir $@)
 	@$(MSGCAT) $^ | $(MSGFMT) -o $@ -
 
-$(builddir)/dist/l10n/%.json: $(srcdir)/po/%.po
-	@$(srcdir)/util/po2json.py $< -o $@
-
 $(builddir)/dist/admin/%: $(srcdir)/admin/%
 	@mkdir -p $(dir $@)
 	@cp $< $@
diff --git a/loleaflet/plugins/draw-0.2.4/.gitattributes b/loleaflet/plugins/draw-0.2.4/.gitattributes
deleted file mode 100644
index 412eeda78..000000000
--- a/loleaflet/plugins/draw-0.2.4/.gitattributes
+++ /dev/null
@@ -1,22 +0,0 @@
-# Auto detect text files and perform LF normalization
-* text=auto
-
-# Custom for Visual Studio
-*.cs     diff=csharp
-*.sln    merge=union
-*.csproj merge=union
-*.vbproj merge=union
-*.fsproj merge=union
-*.dbproj merge=union
-
-# Standard to msysgit
-*.doc	 diff=astextplain
-*.DOC	 diff=astextplain
-*.docx diff=astextplain
-*.DOCX diff=astextplain
-*.dot  diff=astextplain
-*.DOT  diff=astextplain
-*.pdf  diff=astextplain
-*.PDF	 diff=astextplain
-*.rtf	 diff=astextplain
-*.RTF	 diff=astextplain
diff --git a/loleaflet/plugins/draw-0.2.4/.gitignore b/loleaflet/plugins/draw-0.2.4/.gitignore
deleted file mode 100644
index 96398db92..000000000
--- a/loleaflet/plugins/draw-0.2.4/.gitignore
+++ /dev/null
@@ -1,167 +0,0 @@
-
-#################
-## Eclipse
-#################
-
-*.pydevproject
-.project
-.metadata
-bin/**
-tmp/**
-tmp/**/*
-*.tmp
-*.bak
-*.swp
-*~.nib
-local.properties
-.classpath
-.settings/
-.loadpath
-
-# External tool builders
-.externalToolBuilders/
-
-# Locally stored "Eclipse launch configurations"
-*.launch
-
-# CDT-specific
-.cproject
-
-# PDT-specific
-.buildpath
-
-
-#################
-## Visual Studio
-#################
-
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-
-# User-specific files
-*.suo
-*.user
-*.sln.docstates
-
-# Build results
-**/[Dd]ebug/
-**/[Rr]elease/
-*_i.c
-*_p.c
-*.ilk
-*.meta
-*.obj
-*.pch
-*.pdb
-*.pgc
-*.pgd
-*.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.vspscc
-.builds
-**/*.dotCover
-
-## TODO: If you have NuGet Package Restore enabled, uncomment this
-#**/packages/ 
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opensdf
-*.sdf
-
-# Visual Studio profiler
-*.psess
-*.vsp
-
-# ReSharper is a .NET coding add-in
-_ReSharper*
-
-# Installshield output folder 
-[Ee]xpress
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish
-
-# Others
-[Bb]in
-[Oo]bj
-sql
-TestResults
-*.Cache
-ClientBin
-stylecop.*
-~$*
-*.dbmdl
-Generated_Code #added for RIA/Silverlight projects
-
-# Backup & report files from converting an old project file to a newer
-# Visual Studio version. Backup files are not needed, because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-
-
-
-############
-## Windows
-############
-
-# Windows image file caches
-Thumbs.db 
-
-# Folder config file
-Desktop.ini
-
-# Node modules used during build
-node_modules/
-
-#############
-## Python
-#############
-
-*.py[co]
-
-# Packages
-*.egg
-*.egg-info
-#dist
-#build
-eggs
-parts
-bin
-var
-sdist
-develop-eggs
-.installed.cfg
-
-# Installer logs
-pip-log.txt
-
-# Unit test / coverage reports
-.coverage
-.tox
-
-#Translations
-*.mo
-
-#Mr Developer
-.mr.developer.cfg
-
-# Mac crap
-.DS_Store
diff --git a/loleaflet/plugins/draw-0.2.4/BREAKINGCHANGES.md b/loleaflet/plugins/draw-0.2.4/BREAKINGCHANGES.md
deleted file mode 100644
index ffcb231ea..000000000
--- a/loleaflet/plugins/draw-0.2.4/BREAKINGCHANGES.md
+++ /dev/null
@@ -1,54 +0,0 @@
-# How to upgrade from 0.1 to 0.2
-
-There are a number of changes to the plugin in 0.2 that may break peoples implementations of Leaflet.draw 0.1. If you  I will try my best to list any changes here.
-
-## Event consolidation
-
-Leaflet.draw 0.1 had a created event for each different shape that was created. 0.2 now consolitates these into a single created shape.
-
-The vector or marker is accessed by the `layer` property of the event arguments, the type of layer by the `layerType`.
-
-#### New way
-
-````js
-map.on('draw:created', function (e) {
-	var type = e.layerType,
-		layer = e.layer;
-
-	if (type === 'marker') {
-		// Do any marker specific logic here
-	}
-
-	map.addLayer(layer);
-});
-````
-
-#### Old way
-
-````js
-map.on('draw:poly-created', function (e) {
-	map.addLayer(e.poly);
-});
-map.on('draw:rectangle-created', function (e) {
-	map.addLayer(e.rect);
-});
-map.on('draw:circle-created', function (e) {
-	map.addLayer(e.circ);
-});
-map.on('draw:marker-created', function (e) {
-	e.marker.bindPopup('A popup!');
-	map.addLayer(e.marker);
-});
-````
-
-## Draw handler started/stopped event change
-
-Renamed the drawing started and stopped events to be the same as the created standard.
-
-`drawing` -> `draw:drawstart` and `drawing-disabled` -> `draw:drawstop`.
-
-The event argument has also changed from `drawingType` -> `layerType`.
-
-## CSS changes
-
-There has been a whole bunch of CSS changes, if you have customized any of these plese see [leaflet.draw.css](https://github.com/Leaflet/Leaflet.draw/blob/master/dist/leaflet.draw.css).
diff --git a/loleaflet/plugins/draw-0.2.4/CHANGELOG.md b/loleaflet/plugins/draw-0.2.4/CHANGELOG.md
deleted file mode 100644
index 6814d96d1..000000000
--- a/loleaflet/plugins/draw-0.2.4/CHANGELOG.md
+++ /dev/null
@@ -1,145 +0,0 @@
-Leaflet.draw Changelog
-======================
-
-## master
-
-An in-progress version being developed on the master branch.
-
-## 0.2.4 (February 04, 2014)
-
-### Improvements
-
- * Add support for toolbar touch styles. (by [@alanshaw](https://github.com/alanshaw)). [#269](https://github.com/Leaflet/Leaflet.draw/pull/269 )
- * Add support for maintaining a layers color when entering edit mode.
- * Add support for showing area when drawing a rectangle.
- * Refactor marker editing to bring in line with path editing handlers. Decouple setting editing style from edit toolbar. (by [@manleyjster](https://github.com/manleyjster)). [#323](https://github.com/Leaflet/Leaflet.draw/pull/323)
- * Prevent skewing on selected edit marker. (by [@kyletolle](https://github.com/kyletolle)). [#341](https://github.com/Leaflet/Leaflet.draw/pull/341)
- * Add support for changing the 'Radius' label text.
-
-### Bugfixes
-
- * Fix deleted layers LayerGroup constructor type. (by [@w8r ](https://github.com/w8r )). [#334](https://github.com/Leaflet/Leaflet.draw/pull/334)
-
-## 0.2.3 (January 14, 2014)
-
-### Improvements
-
- * Restrict editing polygons so that at least 3 points are present. (by [@Zverik](https://github.com/Zverik)). [#200](https://github.com/Leaflet/Leaflet.draw/pull/200)
- * Tooltips initially start hidden until the mouse has been moved. (by [@Zverik](https://github.com/Zverik)). [#210](https://github.com/Leaflet/Leaflet.draw/pull/210)
- * Fixup spelling errors. (by [@nexushoratio](https://github.com/nexushoratio)). [#223](https://github.com/Leaflet/Leaflet.draw/pull/223)
- * Combine ie specific style within leaflet.draw.css stylesheet. (by [@frankrowe](https://github.com/frankrowe)). [#221](https://github.com/Leaflet/Leaflet.draw/pull/221)
- * Improve my terrible engrish. (by [@erictheise](https://github.com/erictheise)). [#237](https://github.com/Leaflet/Leaflet.draw/pull/237)
- * Fire `editstart` events when a poly or simple shape is initially edited. (by [@atombender](https://github.com/atombender)). [#245](https://github.com/Leaflet/Leaflet.draw/pull/245)
- * Add ability to add a new vertex to a polyline or polygon hander.
- * Added ability to remove/undo the last placed point for polyline or polygons. (by [@Zverik](https://github.com/Zverik)). [#242](https://github.com/Leaflet/Leaflet.draw/pull/242)
- * Dynamically position the action toolbars. (by [@DevinClark](https://github.com/DevinClark)). [#240](https://github.com/Leaflet/Leaflet.draw/pull/240)
- * Improve polyline/polygon drawing by accepting some motion on click. (by [@atombender](https://github.com/atombender)). [#249](https://github.com/Leaflet/Leaflet.draw/pull/249)
- * Only draw a limited number of guide dashes to improve performance in some rare cases. [#254](https://github.com/Leaflet/Leaflet.draw/pull/254)
-
-### Bugfixes
-
- * Fix edit toolbar so diabled state is represented correctly. (by [@joeybaker](https://github.com/joeybaker)). [#203](https://github.com/Leaflet/Leaflet.draw/pull/203)
- * Fixed path middle marker positions. (by [@Zverik](https://github.com/Zverik)). [#208](https://github.com/Leaflet/Leaflet.draw/pull/208)
- * Fix issue where toolbar buttons would have focus after clicked so couldn't use escape to cancel until clicked map at least once.
- * Fix toolbar icons for retina displays. (by [@dwnoble](https://github.com/dwnoble)). [#217](https://github.com/Leaflet/Leaflet.draw/pull/217)
- * Ensure that options are not shared between draw handler classes. (by [@yohanboniface](https://github.com/yohanboniface)). [#219](https://github.com/Leaflet/Leaflet.draw/pull/219)
- * Fix bug where multiple handlers could be active. (by [@manubb](https://github.com/manubb)). [#247](https://github.com/Leaflet/Leaflet.draw/pull/247)
-
-## 0.2.2 (October 4, 2013)
-
-### Improvements
-
- * Refactored the `L.drawLocal' object to be better structured and use this object whereever text is used. *NOTE: THIS IS A NEW FORMAT, SO WILL BRESK ANY EXISTING CUSTOM `L.drawLocal` SETTINGS*.
- * Added Imperial measurements to compliment the existing Metric measurements when drawing a polyline or polygon.
- * Added `draw:editstart` and `draw:editstop` events. (by [@bhell](https://github.com/bhell)). [#175](https://github.com/Leaflet/Leaflet.draw/pull/175)
- * Added `repeatMode` option that will allow repeated drawing of features. (by [@jayhogan](https://github.com/jayhogan) and [@cscheid](https://github.com/cscheid)). [#178](https://github.com/Leaflet/Leaflet.draw/pull/178)
- * Added abilit to set circle radius measurement to imperial units.
- * Added disabled state for edit/delete buttons when no layers present. (inspired by [@snkashis](https://github.com/snkashis)). [#136](https://github.com/Leaflet/Leaflet.draw/pull/136)
- * Add `showLength` and `showRadius` options to circle and polyline. (by [@Zverik](https://github.com/Zverik)). [#195](https://github.com/Leaflet/Leaflet.draw/pull/195)
- * Add option to disable tooltips. (by [@Zverik](https://github.com/Zverik)). [#196](https://github.com/Leaflet/Leaflet.draw/pull/196)
-
-### Bugfixes
-
- * Fixed bug where edit handlers could not be disabled.
- * Added support for displaying the toolbar on the right hand side of the map. (by [@paulcpederson](https://github.com/paulcpederson)). [#164](https://github.com/Leaflet/Leaflet.draw/pull/164)
- * Add flexible width action buttons. (by [@Grsmto](https://github.com/Grsmto)). [#181](https://github.com/Leaflet/Leaflet.draw/pull/181)
- * Check for icon existence before disabling edit state. (by [@tmcw](https://github.com/tmcw)). [#182](https://github.com/Leaflet/Leaflet.draw/pull/182)
- * Only update guideslines when guidelines are present. (by [@jayhogan](https://github.com/jayhogan)). [#188](https://github.com/Leaflet/Leaflet.draw/pull/188)
- * Fixes to localization code so it can be correctly set after files have been loaded.
- * Fix for firing `draw:edit` twice for Draw.SimpleShape. (by [@cazacugmihai](https://github.com/cazacugmihai)). [#192](https://github.com/Leaflet/Leaflet.draw/pull/192)
- * Fix last edit menu buttons from wrapping. (by [@moiarcsan](https://github.com/moiarcsan)). [#198](https://github.com/Leaflet/Leaflet.draw/pull/198)
-
-## 0.2.1 (July 5, 2013)
-
-### Improvements
-
- * `draw:edited` now returns a `FeatureGroup` of features edited. (by [@jmkelly](https://github.com/jmkelly)). [#95](https://github.com/Leaflet/Leaflet.draw/pull/95)
- * Circle tooltip shows the radius (in m) while drawing.
- * Added Leaflet version check to inform developers that Leaflet 0.6+ is required.
- * Added ability to finish drawing polygons by double clicking. (inspired by [@snkashis](https://github.com/snkashis)). [#121](https://github.com/Leaflet/Leaflet.label/pull/121)
- * Added test environment. (by [@iirvine](https://github.com/iirvine)). [#123](https://github.com/Leaflet/Leaflet.draw/pull/123)
- * Added `L.drawLocal` object to allow users to customize the text used in the plugin. Addresses localization issues. (by [@Starefossen](https://github.com/Starefossen)). [#87](https://github.com/Leaflet/Leaflet.draw/pull/87)
- * Added ability to disable edit mode path and marker styles. (inspired by [@markgibbons25](https://github.com/markgibbons25)). [#121](https://github.com/Leaflet/Leaflet.label/pull/137)
- * Added area calculation when drawing a polygon.
- * Polyline and Polygon tooltips update on click as well as mouse move.
-
-### Bugfixes
-
- * Fixed issue where removing a vertex or adding a new one via midpoints would not update the edited state for polylines and polygons.
- * Fixed issue where not passing in the context to `off()` would result in the event from not being unbound.(by [@koppelbakje](https://github.com/koppelbakje)). [#95](https://github.com/Leaflet/Leaflet.draw/pull/112)
- * Fixed issue where removing the draw control from the map would result in an error.
- * Fixed bug where removing points created by dragging midpoints would cause the polyline to not reflect any newly created points.
- * Fixed regression where handlers were not able to be disabled.(by [@yohanboniface](https://github.com/yohanboniface)). [#139](https://github.com/Leaflet/Leaflet.draw/pull/139)
- * Fixed bug where L.Draw.Polyline would try to remove a non-existant handler if the user cancelled and the polyline only had a single point.
-
-## 0.2.0 (February 20, 2013)
-
-Major new version. Added Edit toolbar which allows editing and deleting shapes.
-
-### Features
-
- * Consistant event for shape creation. (by [@krikrou](https://github.com/krikrou)). [#58](https://github.com/Leaflet/Leaflet.draw/pull/58)
-
-### Bugfixes
-
- * Fixed adding markers over vector layers. (by [@Starefossen](https://github.com/Starefossen)). [#82](https://github.com/Leaflet/Leaflet.draw/pull/82)
-
-## 0.1.7 (February 11, 2013)
-
- * Add sanity check for toolbar buttons when adding top and bottom classes. (by [@yohanboniface](https://github.com/yohanboniface)). [#60](https://github.com/Leaflet/Leaflet.draw/pull/60)
-
-## 0.1.6 (January 17, 2013)
-
-* Updated toolbar styles to be in line with the new Leaflet zoom in/out styles.
-
-## 0.1.5 (December 10, 2012)
-
-### Features
-
- * Added 'drawing-disabled' event fired on the map when a draw handler is disabled. (by [@ajbeaven](https://github.com/thegreat)). [#35](https://github.com/jacobtoye/Leaflet.draw/pull/35)
- * Added 'drawing' event fired on the map when a draw handler is actived. (by [@ajbeaven](https://github.com/thegreat)). [#30](https://github.com/jacobtoye/Leaflet.draw/pull/30)
-
-### Bugfixes
- 
- * Stopped L.Control.Draw from storing handlers in it's prototype. (by [@thegreat](https://github.com/thegreat)). [#37](https://github.com/jacobtoye/Leaflet.draw/pull/37)
-
-## 0.1.4 (October 8, 2012)
-
-### Bugfixes
-
- * Fixed a bug that would cause an error when creating rectangles/circles withought moving the mouse. (by [@inpursuit](https://github.com/inpursuit)). [#25](https://github.com/jacobtoye/Leaflet.draw/pull/25)
- * Fixed a bug that would cause an error when clicking a different drawing tool while another mode enabled. (by [@thegreat](https://github.com/thegreat)). [#27](https://github.com/jacobtoye/Leaflet.draw/pull/27)
- * Fixed control buttons breaking plugin in oldIE.
- * Fixed drawing polylines and polygons in oldIE.
-
-## 0.1.3 (October 3, 2012)
-
-### Bugfixes
-
- * Tip label will now show over vertex markers.
- * Added ability to draw on top of existing markers and vector layers.
- * Clicking on a map object that has a click handler no longer triggers the click event when in drawing mode.
-
-## Pre-0.1.3
-
-Check the commit history for changes previous to 0.1.3.
diff --git a/loleaflet/plugins/draw-0.2.4/MIT-LICENCE.txt b/loleaflet/plugins/draw-0.2.4/MIT-LICENCE.txt
deleted file mode 100644
index 1ace2f33b..000000000
--- a/loleaflet/plugins/draw-0.2.4/MIT-LICENCE.txt
+++ /dev/null
@@ -1,20 +0,0 @@
-Copyright 2012 Jacob Toye
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/loleaflet/plugins/draw-0.2.4/README.md b/loleaflet/plugins/draw-0.2.4/README.md
deleted file mode 100644
index 457d544f7..000000000
--- a/loleaflet/plugins/draw-0.2.4/README.md
+++ /dev/null
@@ -1,440 +0,0 @@
-# Important
-Leaflet.draw 0.2.3+ requires [Leaflet 0.7](https://github.com/Leaflet/Leaflet/archive/v0.7.zip) or higher.
-
-#Leaflet.draw
-Adds support for drawing and editing vectors and markers on [Leaflet maps](https://github.com/Leaflet/Leaflet). Check out the [demo](http://leaflet.github.com/Leaflet.draw/).
-
-#### Upgrading from Leaflet.draw 0.1
-
-Leaflet.draw 0.2.0 changes a LOT of things from 0.1. Please see [BREAKING CHANGES](https://github.com/Leaflet/Leaflet.draw/blob/master/BREAKINGCHANGES.md) for how to upgrade.
-
-## Table of Contents
-[Using the plugin](#using)  
-[Advanced Options](#options)  
-[Common tasks](#commontasks)  
-[Thanks](#thanks)
-
-<a name="using" />
-## Using the plugin
-
-The default state for the control is the draw toolbar just below the zoom control. This will allow map users to draw vectors and markers. **Please note the edit toolbar is not enabled by default.**
-
-To add the draw toolbar set the option `drawControl: true` in the map options.
-
-````js
-// create a map in the "map" div, set the view to a given place and zoom
-var map = L.map('map', {drawControl: true}).setView([51.505, -0.09], 13);
-
-// add an OpenStreetMap tile layer
-L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
-    attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
-}).addTo(map);
-````
-
-### Adding the edit toolbar
-
-To use the edit toolbar you must initialise the Leaflet.draw control and manually add it to the map.
-
-````js
-// create a map in the "map" div, set the view to a given place and zoom
-var map = L.map('map').setView([51.505, -0.09], 13);
-
-// add an OpenStreetMap tile layer
-L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
-    attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
-}).addTo(map);
-
-// Initialise the FeatureGroup to store editable layers
-var drawnItems = new L.FeatureGroup();
-map.addLayer(drawnItems);
-
-// Initialise the draw control and pass it the FeatureGroup of editable layers
-var drawControl = new L.Control.Draw({
-	edit: {
-		featureGroup: drawnItems
-	}
-});
-map.addControl(drawControl);
-````
-
-The key here is the `featureGroup` option. This tells the plugin which `FeatureGroup` contains the layers that should be editable.
-
-### Events
-
-Once you have successfully added the Leaflet.draw plugin to your map you will want to respond to the different actions users can initiate. The following events will be triggered on the map:
-
-#### draw:created
-
-| Property | Type | Description
-| --- | --- | ---
-| layer | [Polyline](http://leafletjs.com/reference.html#polyline)/[Polygon](http://leafletjs.com/reference.html#polygon)/[Rectangle](http://leafletjs.com/reference.html#rectangle)/[Circle](http://leafletjs.com/reference.html#circle)/[Marker](http://leafletjs.com/reference.html#marker) | Layer that was just created.
-| layerType | String | The type of layer this is. One of: `polyline`, `polygon`, `rectangle`, `circle`, `marker`
-
-
-Triggered when a new vector or marker has been created.
-
-````js
-map.on('draw:created', function (e) {
-	var type = e.layerType,
-		layer = e.layer;
-
-	if (type === 'marker') {
-		// Do marker specific actions
-	}
-
-	// Do whatever else you need to. (save to db, add to map etc)
-	map.addLayer(layer);
-});
-````
-
-#### draw:edited
-
-| Property | Type | Description
-| --- | --- | ---
-| layers | [LayerGroup](http://leafletjs.com/reference.html#layergroup) | List of all layers just edited on the map.
-
-Triggered when layers in the FeatureGroup, initialised with the plugin, have been edited and saved.
-
-````js
-map.on('draw:edited', function (e) {
-	var layers = e.layers;
-	layers.eachLayer(function (layer) {
-		//do whatever you want, most likely save back to db
-	});
-});
-````
-
-#### draw:deleted
-
-Triggered when layers have been removed (and saved) from the FeatureGroup.
-
-| Property | Type | Description
-| --- | --- | ---
-| layers | [LayerGroup](http://leafletjs.com/reference.html#layergroup) | List of all layers just removed from the map.
-
-#### draw:drawstart
-
-Triggered when the user has chosen to draw a particular vector or marker.
-
-| Property | Type | Description
-| --- | --- | ---
-| layerType | String | The type of layer this is. One of: `polyline`, `polygon`, `rectangle`, `circle`, `marker`
-
-#### draw:drawstop
-
-Triggered when the user has finished a particular vector or marker.
-
-| Property | Type | Description
-| --- | --- | ---
-| layerType | String | The type of layer this is. One of: `polyline`, `polygon`, `rectangle`, `circle`, `marker`
-
-#### draw:editstart
-
-Triggered when the user starts edit mode by clicking the edit tool button.
-
-| Property | Type | Description
-| --- | --- | ---
-| handler | String | The type of edit this is. One of: `edit`
-
-#### draw:editstop
-
-Triggered when the user has finshed editing (edit mode) and saves edits.
-
-| Property | Type | Description
-| --- | --- | ---
-| handler | String | The type of edit this is. One of: `edit`
-
-#### draw:deletestart
-
-Triggered when the user starts remove mode by clicking the remove tool button.
-
-| Property | Type | Description
-| --- | --- | ---
-| handler | String | The type of edit this is. One of: `remove`
-
-#### draw:deletestop
-
-Triggered when the user has finished removing shapes (remove mode) and saves.
-
-| Property | Type | Description
-| --- | --- | ---
-| handler | String | The type of edit this is. One of: `remove`
-
-<a name="options" />
-## Advanced options
-
-You can configure the plugin by using the different options listed here.
-
-### Control.Draw
-
-These options make up the root object that is used when initialising the Leaflet.draw control.
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| position | String | `'topleft'` | The initial position of the control (one of the map corners). See [control positions](http://leafletjs.com/reference.html#control-positions).
-| draw | [DrawOptions](#drawoptions) | `{}` | The options used to configure the draw toolbar.
-| edit | [EditOptions](#editoptions) | `false` | The options used to configure the edit toolbar.
-
-<a name="drawoptions" />
-### DrawOptions
-
-These options will allow you to configure the draw toolbar and its handlers.
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| polyline | [PolylineOptions](#polylineoptions) | `{ }` | Polyline draw handler options. Set to `false` to disable handler.
-| polygon | [PolygonOptions](#polygonoptions) | `{ }` | Polygon draw handler options. Set to `false` to disable handler.
-| rectangle | [RectangleOptions](#rectangleoptions) | `{ }` | Rectangle draw handler options. Set to `false` to disable handler.
-| circle | [CircleOptions](#circleoptions) | `{ }` | Circle draw handler options. Set to `false` to disable handler.
-| marker | [MarkerOptions](#markeroptions) | `{ }` | Marker draw handler options. Set to `false` to disable handler.
-
-### Draw handler options
-
-The following options will allow you to configure the individual draw handlers.
-
-<a name="polylineoptions" />
-#### PolylineOptions
-
-Polyline and Polygon drawing handlers take the same options.
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| allowIntersection | Bool | `true` | Determines if line segments can cross.
-| drawError | Object | [See code](https://github.com/Leaflet/Leaflet.draw/blob/master/src/draw/handler/Draw.Polyline.js#L10) | Configuration options for the error that displays if an intersection is detected.
-| guidelineDistance | Number | `20` | Distance in pixels between each guide dash.
-| shapeOptions | [Leaflet Polyline options](http://leafletjs.com/reference.html#polyline-options) | [See code](https://github.com/Leaflet/Leaflet.draw/blob/master/src/draw/handler/Draw.Polyline.js#L20) | The options used when drawing the polyline/polygon on the map.
-| metric | Bool | `true` | Determines which measurement system (metric or imperial) is used.
-| zIndexOffset | Number | `2000` | This should be a high number to ensure that you can draw over all other layers on the map.
-| repeatMode | Bool | `false` | Determines if the draw tool remains enabled after drawing a shape.
-
-<a name="polygonoptions" />
-#### PolygonOptions
-
-Polygon options include all of the Polyline options plus the option to show the approximate area.
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| showArea | Bool | `false` | Show the area of the drawn polygon in m², ha or km². **The area is only approximate and become less accurate the larger the polygon is.**
-
-<a name="rectangleoptions" />
-#### RectangleOptions
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| shapeOptions | [Leaflet Path options](http://leafletjs.com/reference.html#path-options) | [See code](https://github.com/Leaflet/Leaflet.draw/blob/master/src/draw/handler/Draw.Rectangle.js#L7) | The options used when drawing the rectangle on the map.
-| repeatMode | Bool | `false` | Determines if the draw tool remains enabled after drawing a shape.
-
-<a name="circleoptions" />
-#### CircleOptions
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| shapeOptions | [Leaflet Path options](http://leafletjs.com/reference.html#path-options) | [See code](https://github.com/Leaflet/Leaflet.draw/blob/master/src/draw/handler/Draw.Circle.js#L7) | The options used when drawing the circle on the map. 
-| repeatMode | Bool | `false` | Determines if the draw tool remains enabled after drawing a shape.
-
-<a name="markeroptions" />
-#### MarkerOptions
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| icon | [Leaflet Icon](http://leafletjs.com/reference.html#icon) | `L.Icon.Default()` | The icon displayed when drawing a marker.
-| zIndexOffset | Number | `2000` | This should be a high number to ensure that you can draw over all other layers on the map.
-| repeatMode | Bool | `false` | Determines if the draw tool remains enabled after drawing a shape.
-
-<a name="editoptions" />
-### EditOptions
-
-These options will allow you to configure the draw toolbar and its handlers.
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| featureGroup | [Leaflet FeatureGroup](http://leafletjs.com/reference.html#featuregroup) | `null` | This is the FeatureGroup that stores all editable shapes. **THIS IS REQUIRED FOR THE EDIT TOOLBAR TO WORK**
-| edit | [EditHandlerOptions](#edithandleroptions) | `{ }` | Edit handler options. Set to `false` to disable handler.
-| remove | [DeleteHandlerOptions](#deletehandleroptions) | `{ }` | Delete handler options. Set to `false` to disable handler.
-
-<a name="edithandleroptions" />
-#### EditHandlerOptions
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-| selectedPathOptions | [Leaflet Path options](http://leafletjs.com/reference.html#path-options) | [See code](https://github.com/Leaflet/Leaflet.draw/blob/master/src/edit/handler/EditToolbar.Edit.js#L9) | The path options for how the layers will look while in edit mode. If this is set to null the editable path options will not be set.
-
-**Note:** To maintain the original layer color of the layer use `maintainColor: true` within `selectedPathOptions`.
-
-E.g. The edit options below will maintain the layer color and set the edit opacity to 0.3.
-
-````js
-{
-	selectedPathOptions: {
-		maintainColor: true,
-		opacity: 0.3
-	}
-}
-````
-
-<a name="deletehandleroptions" />
-#### DeleteHandlerOptions
-
-| Option | Type | Default | Description
-| --- | --- | --- | ---
-
-<a name="drawlocal" />
-#### Customizing language and text in Leaflet.draw
-
-Leaflet.draw uses the `L.drawLocal` configuration object to set any text used in the plugin. Customizing this will allow support for changing the text or supporting another language.
-
-See [Leaflet.draw.js](https://github.com/Leaflet/Leaflet.draw/blob/master/src/Leaflet.draw.js) for the default strings.
-
-E.g.
-
-````js
-// Set the button title text for the polygon button
-L.drawLocal.draw.toolbar.buttons.polygon = 'Draw a sexy polygon!';
-
-// Set the tooltip start text for the rectangle
-L.drawLocal.draw.handlers.rectangle.tooltip.start = 'Not telling...';
-````
-
-<a name="commontasks" />
-## Common tasks
-
-The following examples outline some common tasks.
-
-### Example Leaflet.draw config
-
-The following example will show you how to:
-
-1. Change the position of the control's toolbar.
-2. Customize the styles of a vector layer.
-3. Use a custom marker.
-4. Disable the delete functionality.
-
-````js
-var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
-	cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18}),
-	map = new L.Map('map', {layers: [cloudmade], center: new L.LatLng(-37.7772, 175.2756), zoom: 15 });
-
-var editableLayers = new L.FeatureGroup();
-map.addLayer(editableLayers);
-
-var MyCustomMarker = L.Icon.extend({
-	options: {
-		shadowUrl: null,
-		iconAnchor: new L.Point(12, 12),
-		iconSize: new L.Point(24, 24),
-		iconUrl: 'link/to/image.png'
-	}
-});
-
-var options = {
-	position: 'topright',
-	draw: {
-		polyline: {
-			shapeOptions: {
-				color: '#f357a1',
-				weight: 10
-			}
-		},
-		polygon: {
-			allowIntersection: false, // Restricts shapes to simple polygons
-			drawError: {
-				color: '#e1e100', // Color the shape will turn when intersects
-				message: '<strong>Oh snap!<strong> you can\'t draw that!' // Message that will show when intersect
-			},
-			shapeOptions: {
-				color: '#bada55'
-			}
-		},
-		circle: false, // Turns off this drawing tool
-		rectangle: {
-			shapeOptions: {
-				clickable: false
-			}
-		},
-		marker: {
-			icon: new MyCustomMarker()
-		}
-	},
-	edit: {
-		featureGroup: editableLayers, //REQUIRED!!
-		remove: false
-	}
-};
-
-var drawControl = new L.Control.Draw(options);
-map.addControl(drawControl);
-
-map.on('draw:created', function (e) {
-	var type = e.layerType,
-		layer = e.layer;
-
-	if (type === 'marker') {
-		layer.bindPopup('A popup!');
-	}
-
-	drawnItems.addLayer(layer);
-});
-````
-
-### Disabling a toolbar
-
-If you do not want a particular toolbar in your app you can turn it off by setting the toolbar to false.
-
-````js
-var drawControl = new L.Control.Draw({
-	draw: false,
-	edit: {
-		featureGroup: editableLayers
-	}
-});
-````
-
-### Disabling a toolbar item
-
-If you want to turn off a particular toolbar item, set it to false. The following disables drawing polygons and markers. It also turns off the ability to edit layers.
-
-````js
-var drawControl = new L.Control.Draw({
-	draw: {
-		polygon: false,
-		marker: false
-	},
-	edit: {
-		featureGroup: editableLayers,
-		edit: false
-	}
-});
-````
-
-### Changing a drawing handlers options
-
-You can change a draw handlers options after initialisation by using the `setDrawingOptions` method on the Leaflet.draw control.
-
-E.g. to change the colour of the rectangle:
-
-````js
-drawControl.setDrawingOptions({
-    rectangle: {
-    	shapeOptions: {
-        	color: '#0000FF'
-        }
-    }
-});
-````
-
-### Creating a custom build
-
-If you only require certain handlers (and not the UI), you may wish to create a custom build. You can generate the relevant jake command using the [build html file](https://github.com/Leaflet/Leaflet.draw/blob/master/build/build.html). 
-
-See [edit handlers example](https://github.com/Leaflet/Leaflet.draw/blob/master/examples/edithandlers.html) which uses only the edit handlers.
-
-<a name="thanks" />
-## Thanks
-
-Thanks so much to [@brunob](https://github.com/brunob), [@tnightingale](https://github.com/tnightingale), and [@shramov](https://github.com/shramov). I got a lot of ideas from their Leaflet plugins.
-
-All the [contributors](https://github.com/Leaflet/Leaflet.draw/graphs/contributors) and issue reporters of this plugin rock. Thanks for tidying up my mess and keeping the plugin on track.
-
-The icons used for some of the toolbar buttons are either from http://glyphicons.com/ or inspired by them. <3 Glyphicons!
-
-Finally, [@mourner](https://github.com/mourner) is the man! Thanks for dedicating so much of your time to create the gosh darn best JavaScript mapping library around.
diff --git a/loleaflet/plugins/draw-0.2.4/TODO.md b/loleaflet/plugins/draw-0.2.4/TODO.md
deleted file mode 100644
index 17abb17b2..000000000
--- a/loleaflet/plugins/draw-0.2.4/TODO.md
+++ /dev/null
@@ -1,62 +0,0 @@
-### Done
-
- * ~~Tidy up css: include leaflet-control-toolbar for common styles~~
- * ~~Rename _shapes variable in Control.Draw to make better sense.~~
- * ~~Should the ext classes be renamed to Polyline.Intersect or similar?~~
- * ~~Make Control.Draw inherit from Control.Toolbar.~~
- * ~~Rename Handler.Draw -> Vector.Draw. What about markers? they aren't vectors, is there a better name? Maybe Feature?~~
- * ~~Add enbled/disabled states for the delete & edit buttons.~~
- * ~~Move control/handler files out of draw folder.~~
- * ~~Rename the draw events from draw:feature t0 feature-created.~~
- * ~~Revert to the correct colour for the feature that was just deselected.~~
- * ~~Rename the Handler activated/deactivated events to enabled/disabled.~~
- * ~~Add option for setting the selected color.~~
- * ~~Check and calls to L.Feature.Draw.prototype, are they correct? In Draw.Circle it hink it should be referencing L.Draw.SimpleShape~~
- * ~~Add in cancel buttons for selected button.~~
- * ~~Have special behavior for selected markers. Do we just set the background color?~~
- * ~~Turn the cancel button UI into a button container for things like undo.~~
- * ~~Add Save to edit mode. Same as cancel but does not revert any shapes.~~
- * ~~rename selectableLayers = layerGroup~~
- * ~~refactor the repositioning of the actions toolbar for Control.Draw.~~
- * ~~If more than 1 button in actions toolbar but not first is showing then margin is wrong.~~
- * ~~Support cancelling delete?~~
- * ~~Rename the _showCancel/_hideCancel methods in Control.Toolbar~~
- * ~~See if any common code can move to Control.Toolbar from Control.Draw.~~
- * ~~Fix the bottom border radius when the actions buttons are at the bottom~~
- * ~~Fix up the toolbar rounded corners when only 1 item in the toolbar.~~
- * ~~Handle layers being added/removed to the layergroup. i.e. need to be placed in edit mode or have a delete handler added~~
- * ~Add support for tooltips for the edit mode.~
- * ~Add handlers for Circle and Rectangle editing. (Needs a way to hook into L.Cicle and L.Rectangle)~
- * ~Fix styles to look more like new Leaflet zoom in/out.~
- * ~Polyline is styled as filled for edit mode.~
- * ~Add visual style change to toolbar buttons on mouse over.~
- * ~Add handlers to earch corner of the rectangle for resizing.~
- * ~Bug: if you go edit mode, then go to draw mode.~
- * ~Handle controls from being removed from map.~
- * ~Add link to http://glyphicons.com/~
- * ~Redo the select/delete icons.~
- * ~Merge the event change pull and add edit/delete versions.~
- * ~When switching from edit to delete and having edit a feature it should reset/cancel instead of saving.~
- * ~Move clone methods from Edit.Feature~
- * ~Renamed Edit.Feature -> Edit and Delete.Feature -> Delete, is confusing since Edit.feature is not the same as Edit.Circle etc~
- * ~Get Leaflet control-design branch merged to master.~
- * ~Fix action toolbar styles to match new toolbar height.~
- * ~Make Tooltip sexy!~
- * ~IE actions bar position.~
- * ~IE editable marker background and border.~
- * ~Search for TODO~
- * ~Update Deps. Maybe should make it more advanced to allow people to custom build without parts? Like edit only or draw only? Also file names ahve changed.~
- * ~Add some proper documentation. I.e. for the events & methods.~
- * ~Add a thanks section to README. Shramov, BrunboB, tnightingale & Glyphicons. Others?~
- * ~Write up a breaking changes for when 0.2 goes live. (See below)~
- * ~Add events to docs~
- * ~Fix the draw:enabled event. This is not used for the edit toolbar. It is simply used to state that drawing has started then ended.~
- * ~Custom build tool.~
- * ~Move Poly.Edit.js~
- * ~Add ability to update the options after control is initialized.~
- * ~Make a git tag of Leaflet.draw 0.1~
- * ~Document changing the options of a draw handler.~
-
-### TODO
-
- * Fix all the Show Code links in the ReadMe.
\ No newline at end of file
diff --git a/loleaflet/plugins/draw-0.2.4/build/build.html b/loleaflet/plugins/draw-0.2.4/build/build.html
deleted file mode 100644
index aec385ec1..000000000
--- a/loleaflet/plugins/draw-0.2.4/build/build.html
+++ /dev/null
@@ -1,243 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<title>Leaflet Build Helper</title>
-
-	<script type="text/javascript" src="deps.js"></script>
-
-	<style type="text/css">
-		body {
-			font: 12px/1.4 Verdana, sans-serif;
-			text-align: center;
-			padding: 2em 0;
-		}
-		#container {
-			text-align: left;
-			margin: 0 auto;
-			width: 780px;
-		}
-		#deplist {
-			list-style: none;
-			padding: 0;
-		}
-		#deplist li {
-			padding-top: 7px;
-			padding-bottom: 7px;
-			border-bottom: 1px solid #ddd;
-		}
-		#deplist li.heading {
-			border: none;
-			background: #ddd;
-			padding: 5px 10px;
-			margin-top: 25px;
-			border-radius: 5px;
-		}
-		#deplist input {
-			float: left;
-			margin-right: 5px;
-			display: inline;
-		}
-		#deplist label {
-			float: left;
-			width: 160px;
-			font-weight: bold;
-		}
-		#deplist div {
-			display: table-cell;
-			height: 1%;
-		}
-		#deplist .desc {
-		}
-
-		#deplist .deps {
-			color: #777;
-		}
-
-		#command {
-			width: 100%;
-		}
-		#command2 {
-			width: 200px;
-		}
-
-		#toolbar {
-			padding-bottom: 10px;
-			border-bottom: 1px solid #ddd;
-		}
-
-		h2 {
-			margin-top: 2em;
-		}
-	</style>
-</head>
-<body>
-	<div id="container">
-		<h1>Leaflet Build Helper</h1>
-
-		<p id="toolbar">
-			<a id="select-all" href="#all">Select All</a> |
-			<a id="deselect-all" href="#none">Deselect All</a>
-		</p>
-
-		<ul id="deplist"></ul>
-
-		<h2>Building using Node and UglifyJS</h2>
-		<ol>
-			<li><a href="http://nodejs.org/#download">Download and install Node</a></li>
-			<li>Run this in the command line:<br />
-			<pre><code>npm install -g jake
-npm install jshint
-npm install uglify-js</code></pre></li>
-			<li>Run this command inside the Leaflet directory: <br /><input type="text" id="command2" />
-		</ol>
-		<h2>Building using Closure Compiler</h2>
-		<ol>
-			<li><a href="http://closure-compiler.googlecode.com/files/compiler-latest.zip">Download Closure Compiler</a>, extract it into <code>closure-compiler</code> directory</li>
-			<li>Run this command in the root Leaflet directory: <br /><input type="text" id="command" /></li>
-		</ol>
-	</div>
-
-	<script type="text/javascript">
-		var deplist = document.getElementById('deplist'),
-			commandInput = document.getElementById('command'),
-			commandInput2 = document.getElementById('command2');
-
-		document.getElementById('select-all').onclick = function() {
-			var checks = deplist.getElementsByTagName('input');
-			for (var i = 0; i < checks.length; i++) {
-				checks[i].checked = true;
-			}
-			updateCommand();
-			return false;
-		};
-
-		document.getElementById('deselect-all').onclick = function() {
-			var checks = deplist.getElementsByTagName('input');
-			for (var i = 0; i < checks.length; i++) {
-				if (!checks[i].disabled) {
-					checks[i].checked = false;
-				}
-			}
-			updateCommand();
-			return false;
-		};
-
-		function updateCommand() {
-			var files = {};
-			var checks = deplist.getElementsByTagName('input');
-			var compsStr = '';
-
-			for (var i = 0, len = checks.length; i < len; i++) {
-				if (checks[i].checked) {
-					var srcs = deps[checks[i].id].src;
-					for (var j = 0, len2 = srcs.length; j < len2; j++) {
-						files[srcs[j]] = true;
-					}
-					compsStr = '1' + compsStr;
-				} else {
-					compsStr = '0' + compsStr;
-				}
-			}
-
-			var command = 'java -jar closure-compiler/compiler.jar ';
-			for (var src in files) {
-				command += '--js src/' + src + ' ';
-			}
-			command += '--js_output_file dist/leaflet-custom.js';
-
-			commandInput.value = command;
-
-			commandInput2.value = 'jake build[' + parseInt(compsStr, 2).toString(32) + ',custom]';
-		}
-
-		function inputSelect() {
-			this.focus();
-			this.select();
-		};
-
-		commandInput.onclick = inputSelect;
-		commandInput2.onclick = inputSelect;
-
-		function onCheckboxChange() {
-			if (this.checked) {
-				var depDeps = deps[this.id].deps;
-				if (depDeps) {
-					for (var i = 0; i < depDeps.length; i++) {
-						var check = document.getElementById(depDeps[i]);
-						if (!check.checked) {
-							check.checked = true;
-							check.onchange();
-						}
-					}
-				}
-			} else {
-				var checks = deplist.getElementsByTagName('input');
-				for (var i = 0; i < checks.length; i++) {
-					var dep = deps[checks[i].id];
-					if (!dep.deps) { continue; }
-					for (var j = 0; j < dep.deps.length; j++) {
-						if (dep.deps[j] === this.id) {
-							if (checks[i].checked) {
-								checks[i].checked = false;
-								checks[i].onchange();
-							}
-						}
-					}
-				}
-			}
-			updateCommand();
-		}
-
-		for (var name in deps) {
-			var li = document.createElement('li');
-
-			if (deps[name].heading) {
-				var heading = document.createElement('li');
-				heading.className = 'heading';
-				heading.appendChild(document.createTextNode(deps[name].heading));
-				deplist.appendChild(heading);
-			}
-
-			var div = document.createElement('div');
-
-			var label = document.createElement('label');
-
-			var check = document.createElement('input');
-			check.type = 'checkbox';
-			check.id = name;
-			label.appendChild(check);
-			check.onchange = onCheckboxChange;
-
-			if (name == 'Core') {
-				check.checked = true;
-				check.disabled = true;
-			}
-
-			label.appendChild(document.createTextNode(name));
-			label.htmlFor = name;
-
-			li.appendChild(label);
-
-			var desc = document.createElement('span');
-			desc.className = 'desc';
-			desc.appendChild(document.createTextNode(deps[name].desc));
-
-			var depText = deps[name].deps && deps[name].deps.join(', ');
-			if (depText) {
-				var depspan = document.createElement('span');
-				depspan.className = 'deps';
-				depspan.appendChild(document.createTextNode('Deps: ' + depText));
-			}
-
-			div.appendChild(desc);
-			div.appendChild(document.createElement('br'));
-			if (depText) { div.appendChild(depspan); }
-
-			li.appendChild(div);
-
-			deplist.appendChild(li);
-		}
-		updateCommand();
-	</script>
-</body>
-</html>
diff --git a/loleaflet/plugins/draw-0.2.4/build/build.js b/loleaflet/plugins/draw-0.2.4/build/build.js
deleted file mode 100644
index 7ee372f21..000000000
--- a/loleaflet/plugins/draw-0.2.4/build/build.js
+++ /dev/null
@@ -1,87 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-var deps = require('./deps.js').deps;
-
-function getFiles(compsBase32) {
-	var memo = {},
-		comps;
-
-	if (compsBase32) {
-		comps = parseInt(compsBase32, 32).toString(2).split('');
-		console.log('Managing dependencies...');
-	}
-
-	function addFiles(srcs) {
-		for (var j = 0, len = srcs.length; j < len; j++) {
-			memo[srcs[j]] = true;
-		}
-	}
-
-	for (var i in deps) {
-		if (comps) {
-			if (parseInt(comps.pop(), 2) === 1) {
-				console.log(' * ' + i);
-				addFiles(deps[i].src);
-			} else {
-				console.log('   ' + i);
-			}
-		} else {
-			addFiles(deps[i].src);
-		}
-	}
-
-	console.log('');
-
-	var files = [];
-
-	for (var src in memo) {
-		files.push('src/' + src);
-	}
-
-	return files;
-}
-
-exports.getFiles = getFiles;
-
-exports.test = function(callback) {
-		var karma = require('karma'),
-		testConfig = {configFile : __dirname + '/../spec/karma.conf.js'};
-
-	testConfig.browsers = ['PhantomJS'];
-
-	function isArgv(optName) {
-		return process.argv.indexOf(optName) !== -1;
-	}
-
-	if (isArgv('--chrome')) {
-		testConfig.browsers.push('Chrome');
-	}
-	if (isArgv('--safari')) {
-		testConfig.browsers.push('Safari');
-	}
-	if (isArgv('--ff')) {
-		testConfig.browsers.push('Firefox');
-	}
-	if (isArgv('--ie')) {
-		testConfig.browsers.push('IE');
-	}
-
-	if (isArgv('--cov')) {
-		testConfig.preprocessors = {
-			'src/**/*.js': 'coverage'
-		};
-		testConfig.coverageReporter = {
-			type : 'html',
-			dir : 'coverage/'
-		};
-		testConfig.reporters = ['coverage'];
-	}
-
-	console.log('Running tests...');
-
-	karma.server.start(testConfig, function(exitCode) {
-		if (!exitCode) {
-			console.log('\tTests ran successfully.\n');
-		}
-		callback();
-	});
-};
diff --git a/loleaflet/plugins/draw-0.2.4/build/deps.js b/loleaflet/plugins/draw-0.2.4/build/deps.js
deleted file mode 100644
index 223f931b4..000000000
--- a/loleaflet/plugins/draw-0.2.4/build/deps.js
+++ /dev/null
@@ -1,78 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-var deps = {
-	Core: {
-		src: [
-			'Leaflet.draw.js'
-		],
-		desc: 'The core of the plugin. Currently only includes the version.'
-	},
-
-	DrawHandlers: {
-		src: [
-			'draw/handler/Draw.Feature.js',
-			'draw/handler/Draw.Polyline.js',
-			'draw/handler/Draw.Polygon.js',
-			'draw/handler/Draw.SimpleShape.js',
-			'draw/handler/Draw.Rectangle.js',
-			'draw/handler/Draw.Circle.js',
-			'draw/handler/Draw.Marker.js'
-		],
-		desc: 'Drawing handlers for: polylines, polygons, rectangles, circles and markers.',
-		deps: ['Core']
-	},
-
-	EditHandlers: {
-		src: [
-			'edit/handler/Edit.Marker.js',
-			'edit/handler/Edit.Poly.js',
-			'edit/handler/Edit.SimpleShape.js',
-			'edit/handler/Edit.Rectangle.js',
-			'edit/handler/Edit.Circle.js'
-		],
-		desc: 'Editing handlers for: polylines, polygons, rectangles, and circles.',
-		deps: ['Core']
-	},
-
-	Extensions: {
-		src: [
-			'ext/LatLngUtil.js',
-			'ext/GeometryUtil.js',
-			'ext/LineUtil.Intersect.js',
-			'ext/Polyline.Intersect.js',
-			'ext/Polygon.Intersect.js'
-		],
-		desc: 'Extensions of leaflet classes.'
-	},
-
-	CommonUI: {
-		src: [
-			'Control.Draw.js',
-			'Toolbar.js',
-			'Tooltip.js'
-		],
-		desc: 'Common UI components used.',
-		deps: ['Extensions']
-	},
-
-	DrawUI: {
-		src: [
-			'draw/DrawToolbar.js'
-		],
-		desc: 'Draw toolbar.',
-		deps: ['DrawHandlers', 'CommonUI']
-	},
-
-	EditUI: {
-		src: [
-			'edit/EditToolbar.js',
-			'edit/handler/EditToolbar.Edit.js',
-			'edit/handler/EditToolbar.Delete.js'
-		],
-		desc: 'Edit toolbar.',
-		deps: ['EditHandlers', 'CommonUI']
-	}
-};
-
-if (typeof exports !== 'undefined') {
-	exports.deps = deps;
-}
\ No newline at end of file
diff --git a/loleaflet/plugins/draw-0.2.4/build/hintrc.js b/loleaflet/plugins/draw-0.2.4/build/hintrc.js
deleted file mode 100644
index 97bb97ebf..000000000
--- a/loleaflet/plugins/draw-0.2.4/build/hintrc.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-{
-	// environment
-	"browser": true,
-	"node": true,
-	"globals": {
-		"L": true,
-		"define": true
-	},
-	"strict": false,
-
-	// code style
-	"bitwise": true,
-	"camelcase": true,
-	"curly": true,
-	"eqeqeq": true,
-	"forin": false,
-	"immed": true,
-	"latedef": true,
-	"newcap": true,
-	"noarg": true,
-	"noempty": true,
-	"nonew": true,
-	"undef": true,
-	"unused": true,
-	"quotmark": "single",
-
-	// whitespace
-	"indent": 4,
-	"trailing": true,
-	"white": true,
-	"smarttabs": true,
-	"maxlen": 150
-
-	// code simplicity - not enforced but nice to check from time to time
-	// "maxstatements": 20,
-	// "maxcomplexity": 5
-	// "maxparams": 4,
-	// "maxdepth": 4
-}
diff --git a/loleaflet/plugins/draw-0.2.4/build/leaflet.draw-include.js b/loleaflet/plugins/draw-0.2.4/build/leaflet.draw-include.js
deleted file mode 100644
index 0d8c53f16..000000000
--- a/loleaflet/plugins/draw-0.2.4/build/leaflet.draw-include.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-(function() {
-	function getFiles() {
-		var memo = {},
-		    files = [],
-		    i, src;
-
-		function addFiles(srcs) {
-			for (var j = 0, len = srcs.length; j < len; j++) {
-				memo[srcs[j]] = true;
-			}
-		}
-
-		for (i in deps) {
-			addFiles(deps[i].src);
-		}
-
-		for (src in memo) {
-			files.push(src);
-		}
-
-		return files;
-	}
-	var scripts = getFiles();
-
-	function getSrcUrl() {
-		var scripts = document.getElementsByTagName('script');
-		for (var i = 0; i < scripts.length; i++) {
-			var src = scripts[i].src;
-			if (src) {
-				var res = src.match(/^(.*)leaflet.draw-include\.js$/);
-				if (res) {
-					return res[1] + '../src/';
-				}
-			}
-		}
-	}
-
-	var path = getSrcUrl();
-    for (var i = 0; i < scripts.length; i++) {
-		document.writeln("<script src='" + path + scripts[i] + "'></script>");
-	}
-})();
\ No newline at end of file
diff --git a/loleaflet/plugins/draw-0.2.4/dist/images/spritesheet-2x.png b/loleaflet/plugins/draw-0.2.4/dist/images/spritesheet-2x.png
deleted file mode 100644
index 1525c9f69..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/dist/images/spritesheet-2x.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/dist/images/spritesheet.png b/loleaflet/plugins/draw-0.2.4/dist/images/spritesheet.png
deleted file mode 100644
index f7035a1cb..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/dist/images/spritesheet.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/dist/leaflet.draw.css b/loleaflet/plugins/draw-0.2.4/dist/leaflet.draw.css
deleted file mode 100644
index 6763d2d00..000000000
--- a/loleaflet/plugins/draw-0.2.4/dist/leaflet.draw.css
+++ /dev/null
@@ -1,308 +0,0 @@
-/* ================================================================== */
-/* Toolbars
-/* ================================================================== */
-
-.leaflet-draw-section {
-	position: relative;
-}
-
-.leaflet-draw-toolbar {
-	margin-top: 12px;
-}
-
-.leaflet-draw-toolbar-top {
-	margin-top: 0;
-}
-
-.leaflet-draw-toolbar-notop a:first-child {
-	border-top-right-radius: 0;
-}
-
-.leaflet-draw-toolbar-nobottom a:last-child {
-	border-bottom-right-radius: 0;
-}
-
-.leaflet-draw-toolbar a {
-	background-image: url('images/spritesheet.png');
-	background-repeat: no-repeat;
-}
-
-.leaflet-retina .leaflet-draw-toolbar a {
-	background-image: url('images/spritesheet-2x.png');
-	background-size: 270px 30px;
-}
-
-.leaflet-draw {
-	display: inline-block;
-	text-align: center;
-	text-decoration: none;
-}
-.leaflet-draw a {
-	display: block;
-	text-align: center;
-	text-decoration: none;
-}
-
-/* ================================================================== */
-/* Toolbar actions menu
-/* ================================================================== */
-
-.leaflet-draw-actions {
-	display: none;
-	list-style: none;
-	margin: 0;
-	padding: 0;
-	position: absolute;
-	left: 26px; /* leaflet-draw-toolbar.left + leaflet-draw-toolbar.width */
-	top: 0;
-	white-space: nowrap;
-}
-
-.leaflet-touch .leaflet-draw-actions {
-	left: 32px;
-}
-
-.leaflet-right .leaflet-draw-actions {
-	right:26px;
-	left:auto;
-}
-
-.leaflet-touch .leaflet-right .leaflet-draw-actions {
-	right:32px;
-	left:auto;
-}
-
-.leaflet-draw-actions li {
-	display: inline-block;
-}
-
-.leaflet-draw-actions li:first-child a {
-	border-left: none;
-}
-
-.leaflet-draw-actions li:last-child a {
-	-webkit-border-radius: 0 4px 4px 0;
-	        border-radius: 0 4px 4px 0;
-}
-
-.leaflet-right .leaflet-draw-actions li:last-child a {
-	-webkit-border-radius: 0;
-	        border-radius: 0;
-}
-
-.leaflet-right .leaflet-draw-actions li:first-child a {
-	-webkit-border-radius: 4px 0 0 4px;
-	        border-radius: 4px 0 0 4px;
-}
-
-.leaflet-draw-actions a {
-	background-color: #919187;
-	border-left: 1px solid #AAA;
-	color: #FFF;
-	font: 11px/19px "Helvetica Neue", Arial, Helvetica, sans-serif;
-	line-height: 28px;
-	text-decoration: none;
-	padding-left: 10px;
-	padding-right: 10px;
-	height: 28px;
-}
-
-.leaflet-touch .leaflet-draw-actions a {
-	font-size: 12px;
-	line-height: 30px;
-	height: 30px;
-}
-
-.leaflet-draw-actions-bottom {
-	margin-top: 0;
-}
-
-.leaflet-draw-actions-top {
-	margin-top: 1px;
-}
-
-.leaflet-draw-actions-top a,
-.leaflet-draw-actions-bottom a {
-	height: 27px;
-	line-height: 27px;
-}
-
-.leaflet-draw-actions a:hover {
-	background-color: #A0A098;
-}
-
-.leaflet-draw-actions-top.leaflet-draw-actions-bottom a {
-	height: 26px;
-	line-height: 26px;
-}
-
-/* ================================================================== */
-/* Draw toolbar
-/* ================================================================== */
-
-.leaflet-draw-toolbar .leaflet-draw-draw-polyline {
-	background-position: -2px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polyline {
-	background-position: 0 -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-draw-polygon {
-	background-position: -31px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-polygon {
-	background-position: -29px -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
-	background-position: -62px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-rectangle {
-	background-position: -60px -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-draw-circle {
-	background-position: -92px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-circle {
-	background-position: -90px -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-draw-marker {
-	background-position: -122px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-draw-marker {
-	background-position: -120px -1px;
-}
-
-/* ================================================================== */
-/* Edit toolbar
-/* ================================================================== */
-
-.leaflet-draw-toolbar .leaflet-draw-edit-edit {
-	background-position: -152px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit {
-	background-position: -150px -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-edit-remove {
-	background-position: -182px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove {
-	background-position: -180px -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
-	background-position: -212px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-edit.leaflet-disabled {
-	background-position: -210px -1px;
-}
-
-.leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
-	background-position: -242px -2px;
-}
-
-.leaflet-touch .leaflet-draw-toolbar .leaflet-draw-edit-remove.leaflet-disabled {
-	background-position: -240px -2px;
-}
-
-/* ================================================================== */
-/* Drawing styles
-/* ================================================================== */
-
-.leaflet-mouse-marker {
-	background-color: #fff;
-	cursor: crosshair;
-}
-
-.leaflet-draw-tooltip {
-	background: rgb(54, 54, 54);
-	background: rgba(0, 0, 0, 0.5);
-	border: 1px solid transparent;
-	-webkit-border-radius: 4px;
-	        border-radius: 4px;
-	color: #fff;
-	font: 12px/18px "Helvetica Neue", Arial, Helvetica, sans-serif;
-	margin-left: 20px;
-	margin-top: -21px;
-	padding: 4px 8px;
-	position: absolute;
-	visibility: hidden;
-	white-space: nowrap;
-	z-index: 6;
-}
-
-.leaflet-draw-tooltip:before {
-	border-right: 6px solid black;
-	border-right-color: rgba(0, 0, 0, 0.5);
-	border-top: 6px solid transparent;
-	border-bottom: 6px solid transparent;
-	content: "";
-	position: absolute;
-	top: 7px;
-	left: -7px;
-}
-
-.leaflet-error-draw-tooltip {
-	background-color: #F2DEDE;
-	border: 1px solid #E6B6BD;
-	color: #B94A48;
-}
-
-.leaflet-error-draw-tooltip:before {
-	border-right-color: #E6B6BD;
-}
-
-.leaflet-draw-tooltip-single {
-	margin-top: -12px
-}
-
-.leaflet-draw-tooltip-subtext {
-	color: #f8d5e4;
-}
-
-.leaflet-draw-guide-dash {
-	font-size: 1%;
-	opacity: 0.6;
-	position: absolute;
-	width: 5px;
-	height: 5px;
-}
-
-/* ================================================================== */
-/* Edit styles
-/* ================================================================== */
-
-.leaflet-edit-marker-selected {
-	background: rgba(254, 87, 161, 0.1);
-	border: 4px dashed rgba(254, 87, 161, 0.6);
-	-webkit-border-radius: 4px;
-	        border-radius: 4px;
-	box-sizing: content-box;
-}
-
-.leaflet-edit-move {
-	cursor: move;
-}
-
-.leaflet-edit-resize {
-	cursor: pointer;
-}
-
-/* ================================================================== */
-/* Old IE styles
-/* ================================================================== */
-
-.leaflet-oldie .leaflet-draw-toolbar {
-	border: 1px solid #999;
-}
diff --git a/loleaflet/plugins/draw-0.2.4/examples/basic.html b/loleaflet/plugins/draw-0.2.4/examples/basic.html
deleted file mode 100644
index 52b71a456..000000000
--- a/loleaflet/plugins/draw-0.2.4/examples/basic.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<title>Leaflet.draw drawing and editing tools</title>
-
-	<link rel="stylesheet" href="libs/leaflet.css" />
-	<link rel="stylesheet" href="../dist/leaflet.draw.css" />
-	
-
-	<script src="libs/leaflet-src.js"></script>
-
-	<script src="../src/Leaflet.draw.js"></script>
-
-	<script src="../src/edit/handler/Edit.Poly.js"></script>
-	<script src="../src/edit/handler/Edit.SimpleShape.js"></script>
-	<script src="../src/edit/handler/Edit.Circle.js"></script>
-	<script src="../src/edit/handler/Edit.Rectangle.js"></script>
-
-	<script src="../src/draw/handler/Draw.Feature.js"></script>
-	<script src="../src/draw/handler/Draw.Polyline.js"></script>
-	<script src="../src/draw/handler/Draw.Polygon.js"></script>
-	<script src="../src/draw/handler/Draw.SimpleShape.js"></script>
-	<script src="../src/draw/handler/Draw.Rectangle.js"></script>
-	<script src="../src/draw/handler/Draw.Circle.js"></script>
-	<script src="../src/draw/handler/Draw.Marker.js"></script>
-
-	<script src="../src/ext/LatLngUtil.js"></script>
-	<script src="../src/ext/GeometryUtil.js"></script>
-	<script src="../src/ext/LineUtil.Intersect.js"></script>
-	<script src="../src/ext/Polyline.Intersect.js"></script>
-	<script src="../src/ext/Polygon.Intersect.js"></script>
-
-	<script src="../src/Control.Draw.js"></script>
-	<script src="../src/Tooltip.js"></script>
-	<script src="../src/Toolbar.js"></script>
-
-	<script src="../src/draw/DrawToolbar.js"></script>
-	<script src="../src/edit/EditToolbar.js"></script>
-	<script src="../src/edit/handler/EditToolbar.Edit.js"></script>
-	<script src="../src/edit/handler/EditToolbar.Delete.js"></script>
-</head>
-<body>
-	<div id="map" style="width: 800px; height: 600px; border: 1px solid #ccc"></div>
-	<button id="changeColor">Rectangle -> Blue</button>
-	<script>
-		var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
-			osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
-			osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib}),
-			map = new L.Map('map', {layers: [osm], center: new L.LatLng(-37.7772, 175.2756), zoom: 15 });
-
-		var drawnItems = new L.FeatureGroup();
-		map.addLayer(drawnItems);
-
-		// Set the title to show on the polygon button
-		L.drawLocal.draw.toolbar.buttons.polygon = 'Draw a sexy polygon!';
-
-		var drawControl = new L.Control.Draw({
-			position: 'topright',
-			draw: {
-				polyline: {
-					metric: true
-				},
-				polygon: {
-					allowIntersection: false,
-					showArea: true,
-					drawError: {
-						color: '#b00b00',
-						timeout: 1000
-					},
-					shapeOptions: {
-						color: '#bada55'
-					}
-				},
-				circle: {
-					shapeOptions: {
-						color: '#662d91'
-					}
-				},
-				marker: false
-			},
-			edit: {
-				featureGroup: drawnItems,
-				remove: false
-			}
-		});
-		map.addControl(drawControl);
-
-		map.on('draw:created', function (e) {
-			var type = e.layerType,
-				layer = e.layer;
-
-			if (type === 'marker') {
-				layer.bindPopup('A popup!');
-			}
-
-			drawnItems.addLayer(layer);
-		});
-
-		map.on('draw:edited', function (e) {
-			var layers = e.layers;
-			var countOfEditedLayers = 0;
-			layers.eachLayer(function(layer) {
-				countOfEditedLayers++;
-			});
-			console.log("Edited " + countOfEditedLayers + " layers");
-		});
-
-		L.DomUtil.get('changeColor').onclick = function () {
-			drawControl.setDrawingOptions({ rectangle: { shapeOptions: { color: '#004a80' } } });
-		};
-
-	</script>
-</body>
-</html>
\ No newline at end of file
diff --git a/loleaflet/plugins/draw-0.2.4/examples/edithandlers.html b/loleaflet/plugins/draw-0.2.4/examples/edithandlers.html
deleted file mode 100644
index a9e5f9821..000000000
--- a/loleaflet/plugins/draw-0.2.4/examples/edithandlers.html
+++ /dev/null
@@ -1,67 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<title>Leaflet.draw vector editing handlers</title>
-
-	<link rel="stylesheet" href="libs/leaflet.css" />
-
-	<script src="libs/leaflet-src.js"></script>
-
-	<script src="../src/Leaflet.draw.js"></script>
-
-	<script src="../src/edit/handler/Edit.Poly.js"></script>
-	<script src="../src/edit/handler/Edit.SimpleShape.js"></script>
-	<script src="../src/edit/handler/Edit.Circle.js"></script>
-	<script src="../src/edit/handler/Edit.Rectangle.js"></script>
-</head>
-<body>
-	<div id="map" style="width: 800px; height: 600px; border: 1px solid #ccc"></div>
-
-	<script>
-		var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
-			osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
-			osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib});
-			map = new L.Map('map', {layers: [osm], center: new L.LatLng(51.505, -0.04), zoom: 13});
-
-		var polygon = new L.Polygon([
-			[51.51, -0.1],
-			[51.5, -0.06],
-			[51.52, -0.03]
-		]);
-
-		polygon.editing.enable();
-
-		map.addLayer(polygon);
-
-		var polyline = new L.Polyline([
-			[51.50, -0.04],
-			[51.49, -0.02],
-			[51.51, 0],
-			[51.52, -0.02]
-		]);
-
-		polyline.editing.enable();
-
-		map.addLayer(polyline);
-
-		var circle = L.circle([51.53, -0.06], 600);
-
-		circle.editing.enable();
-
-		map.addLayer(circle);
-
-		var rectangle = L.rectangle([[51.49, -0.1], [51.48, -0.06]]);
-
-		rectangle.editing.enable();
-
-		map.addLayer(rectangle);
-
-		polygon.on('edit', function() {
-			console.log('Polygon was edited!');
-		});
-		polyline.on('edit', function() {
-			console.log('Polyline was edited!');
-		});
-	</script>
-</body>
-</html>
diff --git a/loleaflet/plugins/draw-0.2.4/examples/full.html b/loleaflet/plugins/draw-0.2.4/examples/full.html
deleted file mode 100644
index 2ef223619..000000000
--- a/loleaflet/plugins/draw-0.2.4/examples/full.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-	<title>Leaflet.draw vector editing handlers</title>
-
-	<script src="libs/leaflet-src.js"></script>
-	<link rel="stylesheet" href="libs/leaflet.css" />
-
-	<script src="../src/Leaflet.draw.js"></script>
-	<link rel="stylesheet" href="../dist/leaflet.draw.css" />
-
-	<script src="../src/Toolbar.js"></script>
-	<script src="../src/Tooltip.js"></script>
-
-	<script src="../src/ext/GeometryUtil.js"></script>
-	<script src="../src/ext/LatLngUtil.js"></script>
-	<script src="../src/ext/LineUtil.Intersect.js"></script>
-	<script src="../src/ext/Polygon.Intersect.js"></script>
-	<script src="../src/ext/Polyline.Intersect.js"></script>
-
-
-	<script src="../src/draw/DrawToolbar.js"></script>
-	<script src="../src/draw/handler/Draw.Feature.js"></script>
-	<script src="../src/draw/handler/Draw.SimpleShape.js"></script>
-	<script src="../src/draw/handler/Draw.Polyline.js"></script>
-	<script src="../src/draw/handler/Draw.Circle.js"></script>
-	<script src="../src/draw/handler/Draw.Marker.js"></script>
-	<script src="../src/draw/handler/Draw.Polygon.js"></script>
-	<script src="../src/draw/handler/Draw.Rectangle.js"></script>
-
-
-	<script src="../src/edit/EditToolbar.js"></script>
-	<script src="../src/edit/handler/EditToolbar.Edit.js"></script>
-	<script src="../src/edit/handler/EditToolbar.Delete.js"></script>
-
-	<script src="../src/Control.Draw.js"></script>
-
-	<script src="../src/edit/handler/Edit.Poly.js"></script>
-	<script src="../src/edit/handler/Edit.SimpleShape.js"></script>
-	<script src="../src/edit/handler/Edit.Circle.js"></script>
-	<script src="../src/edit/handler/Edit.Rectangle.js"></script>
-	<script src="../src/edit/handler/Edit.Marker.js"></script>
-</head>
-<body>
-	<div id="map" style="width: 800px; height: 600px; border: 1px solid #ccc"></div>
-
-	<script>
-		var osmUrl = 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
-			osmAttrib = '© <a href="http://openstreetmap.org/copyright">OpenStreetMap</a> contributors',
-			osm = L.tileLayer(osmUrl, {maxZoom: 18, attribution: osmAttrib});
-			map = new L.Map('map', {layers: [osm], center: new L.LatLng(51.505, -0.04), zoom: 13}),
-			drawnItems = L.featureGroup().addTo(map);
-
-		map.addControl(new L.Control.Draw({
-			edit: { featureGroup: drawnItems }
-		}));
-
-		map.on('draw:created', function(event) {
-			var layer = event.layer;
-
-			drawnItems.addLayer(layer);
-		});
-
-	</script>
-</body>
-</html>
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/images/layers-2x.png b/loleaflet/plugins/draw-0.2.4/examples/libs/images/layers-2x.png
deleted file mode 100644
index a2cf7f9ef..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/examples/libs/images/layers-2x.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/images/layers.png b/loleaflet/plugins/draw-0.2.4/examples/libs/images/layers.png
deleted file mode 100644
index bca0a0e42..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/examples/libs/images/layers.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon-2x.png b/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon-2x.png
deleted file mode 100644
index 0015b6495..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon-2x.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon.png b/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon.png
deleted file mode 100644
index e2e9f757f..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon at 2x.png b/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon at 2x.png
deleted file mode 100644
index 0015b6495..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-icon at 2x.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-shadow.png b/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-shadow.png
deleted file mode 100644
index d1e773c71..000000000
Binary files a/loleaflet/plugins/draw-0.2.4/examples/libs/images/marker-shadow.png and /dev/null differ
diff --git a/loleaflet/plugins/draw-0.2.4/examples/libs/leaflet.css b/loleaflet/plugins/draw-0.2.4/examples/libs/leaflet.css
deleted file mode 100644
index 123255025..000000000
--- a/loleaflet/plugins/draw-0.2.4/examples/libs/leaflet.css
+++ /dev/null
@@ -1,478 +0,0 @@
-/* required styles */
-
-.leaflet-map-pane,
-.leaflet-tile,
-.leaflet-marker-icon,
-.leaflet-marker-shadow,
-.leaflet-tile-pane,
-.leaflet-tile-container,
-.leaflet-overlay-pane,
-.leaflet-shadow-pane,
-.leaflet-marker-pane,
-.leaflet-popup-pane,
-.leaflet-overlay-pane svg,
-.leaflet-zoom-box,
-.leaflet-image-layer,
-.leaflet-layer {
-	position: absolute;
-	left: 0;
-	top: 0;
-	}
-.leaflet-container {
-	overflow: hidden;
-	-ms-touch-action: none;
-	}
-.leaflet-tile,
-.leaflet-marker-icon,
-.leaflet-marker-shadow {
-	-webkit-user-select: none;
-	   -moz-user-select: none;
-	        user-select: none;
-	-webkit-user-drag: none;
-	}
-.leaflet-marker-icon,
-.leaflet-marker-shadow {
-	display: block;
-	}
-/* map is broken in FF if you have max-width: 100% on tiles */
-.leaflet-container img {
-	max-width: none !important;
-	}
-/* stupid Android 2 doesn't understand "max-width: none" properly */
-.leaflet-container img.leaflet-image-layer {
-	max-width: 15000px !important;
-	}
-.leaflet-tile {
-	filter: inherit;
-	visibility: hidden;
-	}
-.leaflet-tile-loaded {
-	visibility: inherit;
-	}
-.leaflet-zoom-box {
-	width: 0;
-	height: 0;
-	}
-/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
-.leaflet-overlay-pane svg {
-	-moz-user-select: none;
-	}
-
-.leaflet-tile-pane    { z-index: 2; }
-.leaflet-objects-pane { z-index: 3; }
-.leaflet-overlay-pane { z-index: 4; }
-.leaflet-shadow-pane  { z-index: 5; }
-.leaflet-marker-pane  { z-index: 6; }
-.leaflet-popup-pane   { z-index: 7; }
-
-.leaflet-vml-shape {
-	width: 1px;
-	height: 1px;
-	}
-.lvml {
-	behavior: url(#default#VML);
-	display: inline-block;
-	position: absolute;
-	}
-
-
-/* control positioning */
-
-.leaflet-control {
-	position: relative;
-	z-index: 7;
-	pointer-events: auto;
-	}
-.leaflet-top,
-.leaflet-bottom {
-	position: absolute;
-	z-index: 1000;
-	pointer-events: none;
-	}
-.leaflet-top {
-	top: 0;
-	}
-.leaflet-right {
-	right: 0;
-	}
-.leaflet-bottom {
-	bottom: 0;
-	}
-.leaflet-left {
-	left: 0;
-	}
-.leaflet-control {
-	float: left;
-	clear: both;
-	}
-.leaflet-right .leaflet-control {
-	float: right;
-	}
-.leaflet-top .leaflet-control {
-	margin-top: 10px;
-	}
-.leaflet-bottom .leaflet-control {
-	margin-bottom: 10px;
-	}
-.leaflet-left .leaflet-control {
-	margin-left: 10px;
-	}
-.leaflet-right .leaflet-control {
-	margin-right: 10px;
-	}
-
-
-/* zoom and fade animations */
-
-.leaflet-fade-anim .leaflet-tile,
-.leaflet-fade-anim .leaflet-popup {
-	opacity: 0;
-	-webkit-transition: opacity 0.2s linear;
-	   -moz-transition: opacity 0.2s linear;
-	     -o-transition: opacity 0.2s linear;
-	        transition: opacity 0.2s linear;
-	}
-.leaflet-fade-anim .leaflet-tile-loaded,
-.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
-	opacity: 1;
-	}
-
-.leaflet-zoom-anim .leaflet-zoom-animated {
-	-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-	   -moz-transition:    -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
-	     -o-transition:      -o-transform 0.25s cubic-bezier(0,0,0.25,1);
-	        transition:         transform 0.25s cubic-bezier(0,0,0.25,1);
-	}
-.leaflet-zoom-anim .leaflet-tile,
-.leaflet-pan-anim .leaflet-tile,
-.leaflet-touching .leaflet-zoom-animated {
-	-webkit-transition: none;
-	   -moz-transition: none;
-	     -o-transition: none;
-	        transition: none;
-	}
-
-.leaflet-zoom-anim .leaflet-zoom-hide {
-	visibility: hidden;
-	}
-
-
-/* cursors */
-
-.leaflet-clickable {
-	cursor: pointer;
-	}
-.leaflet-container {
-	cursor: -webkit-grab;
-	cursor:    -moz-grab;
-	}
-.leaflet-popup-pane,
-.leaflet-control {
-	cursor: auto;
-	}
-.leaflet-dragging .leaflet-container,
-.leaflet-dragging .leaflet-clickable {
-	cursor: move;
-	cursor: -webkit-grabbing;
-	cursor:    -moz-grabbing;
-	}
-
-
-/* visual tweaks */
-
-.leaflet-container {
-	background: #ddd;
-	outline: 0;
-	}
-.leaflet-container a {
-	color: #0078A8;
-	}
-.leaflet-container a.leaflet-active {
-	outline: 2px solid orange;
-	}
-.leaflet-zoom-box {
-	border: 2px dotted #38f;
-	background: rgba(255,255,255,0.5);
-	}
-
-
-/* general typography */
-.leaflet-container {
-	font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
-	}
-
-
-/* general toolbar styles */
-
-.leaflet-bar {
-	box-shadow: 0 1px 5px rgba(0,0,0,0.65);
-	border-radius: 4px;
-	}
-.leaflet-bar a,
-.leaflet-bar a:hover {
-	background-color: #fff;
-	border-bottom: 1px solid #ccc;
-	width: 26px;
-	height: 26px;
-	line-height: 26px;
-	display: block;
-	text-align: center;
-	text-decoration: none;
-	color: black;
-	}
-.leaflet-bar a,
-.leaflet-control-layers-toggle {
-	background-position: 50% 50%;
-	background-repeat: no-repeat;
-	display: block;
-	}
-.leaflet-bar a:hover {
-	background-color: #f4f4f4;
-	}
-.leaflet-bar a:first-child {
-	border-top-left-radius: 4px;
-	border-top-right-radius: 4px;
-	}
-.leaflet-bar a:last-child {
-	border-bottom-left-radius: 4px;
-	border-bottom-right-radius: 4px;
-	border-bottom: none;
-	}
-.leaflet-bar a.leaflet-disabled {
-	cursor: default;
-	background-color: #f4f4f4;
-	color: #bbb;
-	}
-
-.leaflet-touch .leaflet-bar a {
-	width: 30px;
-	height: 30px;
-	line-height: 30px;
-	}
-
-
-/* zoom control */
-
-.leaflet-control-zoom-in,
-.leaflet-control-zoom-out {
-	font: bold 18px 'Lucida Console', Monaco, monospace;
-	text-indent: 1px;
-	}
-.leaflet-control-zoom-out {
-	font-size: 20px;
-	}
-
-.leaflet-touch .leaflet-control-zoom-in {
-	font-size: 22px;
-	}
-.leaflet-touch .leaflet-control-zoom-out {
-	font-size: 24px;
-	}
-
-
-/* layers control */
-
-.leaflet-control-layers {
-	box-shadow: 0 1px 5px rgba(0,0,0,0.4);
-	background: #fff;
-	border-radius: 5px;
-	}
-.leaflet-control-layers-toggle {
-	background-image: url(images/layers.png);
-	width: 36px;
-	height: 36px;
-	}
-.leaflet-retina .leaflet-control-layers-toggle {
-	background-image: url(images/layers-2x.png);
-	background-size: 26px 26px;
-	}
-.leaflet-touch .leaflet-control-layers-toggle {
-	width: 44px;
-	height: 44px;
-	}
-.leaflet-control-layers .leaflet-control-layers-list,
-.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
-	display: none;
-	}
-.leaflet-control-layers-expanded .leaflet-control-layers-list {
-	display: block;
-	position: relative;
-	}
-.leaflet-control-layers-expanded {
-	padding: 6px 10px 6px 6px;
-	color: #333;
-	background: #fff;
-	}
-.leaflet-control-layers-selector {
-	margin-top: 2px;
-	position: relative;
-	top: 1px;
-	}
-.leaflet-control-layers label {
-	display: block;
-	}
-.leaflet-control-layers-separator {
-	height: 0;
-	border-top: 1px solid #ddd;
-	margin: 5px -10px 5px -6px;
-	}
-
-
-/* attribution and scale controls */
-
-.leaflet-container .leaflet-control-attribution {
-	background: #fff;
-	background: rgba(255, 255, 255, 0.7);
-	margin: 0;
-	}
-.leaflet-control-attribution,
-.leaflet-control-scale-line {
-	padding: 0 5px;
-	color: #333;
-	}
-.leaflet-control-attribution a {
-	text-decoration: none;
-	}
-.leaflet-control-attribution a:hover {
-	text-decoration: underline;
-	}
-.leaflet-container .leaflet-control-attribution,
-.leaflet-container .leaflet-control-scale {
-	font-size: 11px;
-	}
-.leaflet-left .leaflet-control-scale {
-	margin-left: 5px;
-	}
-.leaflet-bottom .leaflet-control-scale {
-	margin-bottom: 5px;
-	}
-.leaflet-control-scale-line {
-	border: 2px solid #777;
-	border-top: none;
-	line-height: 1.1;
-	padding: 2px 5px 1px;
-	font-size: 11px;
-	white-space: nowrap;
-	overflow: hidden;
-	-moz-box-sizing: content-box;
-	     box-sizing: content-box;
-
-	background: #fff;
-	background: rgba(255, 255, 255, 0.5);
-	}
-.leaflet-control-scale-line:not(:first-child) {
-	border-top: 2px solid #777;
-	border-bottom: none;
-	margin-top: -2px;
-	}
-.leaflet-control-scale-line:not(:first-child):not(:last-child) {
-	border-bottom: 2px solid #777;
-	}
-
-.leaflet-touch .leaflet-control-attribution,
-.leaflet-touch .leaflet-control-layers,
-.leaflet-touch .leaflet-bar {
-	box-shadow: none;
-	}
-.leaflet-touch .leaflet-control-layers,
-.leaflet-touch .leaflet-bar {
-	border: 2px solid rgba(0,0,0,0.2);
-	background-clip: padding-box;
-	}
-
-
-/* popup */
-
-.leaflet-popup {
-	position: absolute;
-	text-align: center;
-	}
-.leaflet-popup-content-wrapper {
-	padding: 1px;
-	text-align: left;
-	border-radius: 12px;
-	}
-.leaflet-popup-content {
-	margin: 13px 19px;
-	line-height: 1.4;
-	}
-.leaflet-popup-content p {
-	margin: 18px 0;
-	}
-.leaflet-popup-tip-container {
-	margin: 0 auto;
-	width: 40px;
-	height: 20px;
-	position: relative;
-	overflow: hidden;
-	}
-.leaflet-popup-tip {
-	width: 17px;
-	height: 17px;
-	padding: 1px;
-
-	margin: -10px auto 0;
-
-	-webkit-transform: rotate(45deg);
-	   -moz-transform: rotate(45deg);
-	    -ms-transform: rotate(45deg);
-	     -o-transform: rotate(45deg);
-	        transform: rotate(45deg);
-	}
-.leaflet-popup-content-wrapper,
-.leaflet-popup-tip {
-	background: white;
-
-	box-shadow: 0 3px 14px rgba(0,0,0,0.4);
-	}
-.leaflet-container a.leaflet-popup-close-button {
-	position: absolute;
-	top: 0;
-	right: 0;
-	padding: 4px 4px 0 0;
-	text-align: center;
-	width: 18px;
-	height: 14px;
-	font: 16px/14px Tahoma, Verdana, sans-serif;
-	color: #c3c3c3;
-	text-decoration: none;
-	font-weight: bold;
-	background: transparent;
-	}
-.leaflet-container a.leaflet-popup-close-button:hover {
-	color: #999;
-	}
-.leaflet-popup-scrolled {
-	overflow: auto;
-	border-bottom: 1px solid #ddd;
-	border-top: 1px solid #ddd;
-	}
-
-.leaflet-oldie .leaflet-popup-content-wrapper {
-	zoom: 1;
-	}
-.leaflet-oldie .leaflet-popup-tip {
-	width: 24px;
-	margin: 0 auto;
-
-	-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
-	filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
-	}
-.leaflet-oldie .leaflet-popup-tip-container {
-	margin-top: -1px;
-	}
-
-.leaflet-oldie .leaflet-control-zoom,
-.leaflet-oldie .leaflet-control-layers,
-.leaflet-oldie .leaflet-popup-content-wrapper,
-.leaflet-oldie .leaflet-popup-tip {
-	border: 1px solid #999;
-	}
-
-
-/* div icon */
-
-.leaflet-div-icon {
-	background: #fff;
-	border: 1px solid #666;
-	}
diff --git a/loleaflet/plugins/draw-0.2.4/package.json b/loleaflet/plugins/draw-0.2.4/package.json
deleted file mode 100644
index 59f4e9c51..000000000
--- a/loleaflet/plugins/draw-0.2.4/package.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "name": "leaflet-draw",
-  "version": "0.2.3",
-  "description": "Vector drawing plugin for Leaflet",
-  "devDependencies": {
-    "leaflet": "~0.7.0",
-    "jshint": "~2.3.0",
-    "uglify-js": "~2.4.3",
-    "jake": "~0.7.4",
-    "mocha": "~1.14.0",
-    "happen": "~0.1.3",
-    "karma": "^0.12.19",
-    "karma-mocha": "~0.1.0",
-    "karma-coverage": "~0.1.3"
-  },
-  "main": "dist/leaflet.draw.js",
-  "directories": {
-    "example": "examples"
-  },
-  "scripts": {
-    "build": "jake",
-    "test": "jake test"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/Leaflet/Leaflet.draw.git"
-  },
-  "keywords": [
-    "maps",
-    "leaflet",
-    "client",
-    "vector",
-    "drawing",
-    "draw"
-  ],
-  "author": "Jacob Toye",
-  "license": "BSD",
-  "readmeFilename": "README.md"
-}
diff --git a/loleaflet/plugins/draw-0.2.4/spec/after.js b/loleaflet/plugins/draw-0.2.4/spec/after.js
deleted file mode 100644
index e8a929bef..000000000
--- a/loleaflet/plugins/draw-0.2.4/spec/after.js
+++ /dev/null
@@ -1,3 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-// put after Leaflet files as imagePath can't be detected in a PhantomJS env
-L.Icon.Default.imagePath = "../dist/images";
diff --git a/loleaflet/plugins/draw-0.2.4/spec/before.js b/loleaflet/plugins/draw-0.2.4/spec/before.js
deleted file mode 100644
index cb6a0748d..000000000
--- a/loleaflet/plugins/draw-0.2.4/spec/before.js
+++ /dev/null
@@ -1,4 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-// set up before Leaflet files to test L#noConflict later
-L = 'test';
-
diff --git a/loleaflet/plugins/draw-0.2.4/spec/expect.js b/loleaflet/plugins/draw-0.2.4/spec/expect.js
deleted file mode 100644
index 4e6818cdd..000000000
--- a/loleaflet/plugins/draw-0.2.4/spec/expect.js
+++ /dev/null
@@ -1,1254 +0,0 @@
-/* -*- js-indent-level: 8 -*- */
-
-(function (global, module) {
-
-  if ('undefined' == typeof module) {
-    var module = { exports: {} }
-      , exports = module.exports
-  }
-
-  /**
-   * Exports.
-   */
-
-  module.exports = expect;
-  expect.Assertion = Assertion;
-
-  /**
-   * Exports version.
-   */
-
-  expect.version = '0.1.2';
-
-  /**
-   * Possible assertion flags.
-   */
-
-  var flags = {
-      not: ['to', 'be', 'have', 'include', 'only']
-    , to: ['be', 'have', 'include', 'only', 'not']
-    , only: ['have']
-    , have: ['own']
-    , be: ['an']
-  };
-
-  function expect (obj) {
-    return new Assertion(obj);
-  }
-
-  /**
-   * Constructor
-   *
-   * @api private
-   */
-
-  function Assertion (obj, flag, parent) {
-    this.obj = obj;
-    this.flags = {};
-
-    if (undefined != parent) {
-      this.flags[flag] = true;
-
-      for (var i in parent.flags) {
-        if (parent.flags.hasOwnProperty(i)) {
-          this.flags[i] = true;
-        }
-      }
-    }
-
-    var $flags = flag ? flags[flag] : keys(flags)
-      , self = this
-
-    if ($flags) {
-      for (var i = 0, l = $flags.length; i < l; i++) {
-        // avoid recursion
-        if (this.flags[$flags[i]]) continue;
-
-        var name = $flags[i]
-          , assertion = new Assertion(this.obj, name, this)
-
-        if ('function' == typeof Assertion.prototype[name]) {
-          // clone the function, make sure we dont touch the prot reference
-          var old = this[name];
-          this[name] = function () {
-            return old.apply(self, arguments);
-          }
-
-          for (var fn in Assertion.prototype) {
-            if (Assertion.prototype.hasOwnProperty(fn) && fn != name) {
-              this[name][fn] = bind(assertion[fn], assertion);
-            }
-          }
-        } else {
-          this[name] = assertion;
-        }
-      }
-    }
-  };
-
-  /**
-   * Performs an assertion
-   *
-   * @api private
-   */
-
-  Assertion.prototype.assert = function (truth, msg, error) {
-    var msg = this.flags.not ? error : msg
-      , ok = this.flags.not ? !truth : truth;
-
-    if (!ok) {
-      throw new Error(msg.call(this));
-    }
-
-    this.and = new Assertion(this.obj);
-  };
-
-  /**
-   * Check if the value is truthy
-   *
-   * @api public
-   */
-
-  Assertion.prototype.ok = function () {
-    this.assert(
-        !!this.obj
-      , function(){ return 'expected ' + i(this.obj) + ' to be truthy' }
-      , function(){ return 'expected ' + i(this.obj) + ' to be falsy' });
-  };
-
-  /**
-   * Assert that the function throws.
-   *
-   * @param {Function|RegExp} callback, or regexp to match error string against
-   * @api public
-   */
-
-  Assertion.prototype.throwError =
-  Assertion.prototype.throwException = function (fn) {
-    expect(this.obj).to.be.a('function');
-
-    var thrown = false
-      , not = this.flags.not
-
-    try {
-      this.obj();
-    } catch (e) {
-      if ('function' == typeof fn) {
-        fn(e);
-      } else if ('object' == typeof fn) {
-        var subject = 'string' == typeof e ? e : e.message;
-        if (not) {
-          expect(subject).to.not.match(fn);
-        } else {
-          expect(subject).to.match(fn);
-        }
-      }
-      thrown = true;
-    }
-
-    if ('object' == typeof fn && not) {
-      // in the presence of a matcher, ensure the `not` only applies to
-      // the matching.
-      this.flags.not = false;
-    }
-
-    var name = this.obj.name || 'fn';
-    this.assert(
-        thrown
-      , function(){ return 'expected ' + name + ' to throw an exception' }
-      , function(){ return 'expected ' + name + ' not to throw an exception' });
-  };
-
-  /**
-   * Checks if the array is empty.
-   *
-   * @api public
-   */
-
-  Assertion.prototype.empty = function () {
-    var expectation;
-
-    if ('object' == typeof this.obj && null !== this.obj && !isArray(this.obj)) {
-      if ('number' == typeof this.obj.length) {
-        expectation = !this.obj.length;
-      } else {
-        expectation = !keys(this.obj).length;
-      }
-    } else {
-      if ('string' != typeof this.obj) {
-        expect(this.obj).to.be.an('object');
-      }
-
-      expect(this.obj).to.have.property('length');
-      expectation = !this.obj.length;
-    }
-
-    this.assert(
-        expectation
-      , function(){ return 'expected ' + i(this.obj) + ' to be empty' }
-      , function(){ return 'expected ' + i(this.obj) + ' to not be empty' });
-    return this;
-  };
-
-  /**
-   * Checks if the obj exactly equals another.
-   *
-   * @api public
-   */
-
-  Assertion.prototype.be =
-  Assertion.prototype.equal = function (obj) {
-    this.assert(
-        obj === this.obj
-      , function(){ return 'expected ' + i(this.obj) + ' to equal ' + i(obj) }
-      , function(){ return 'expected ' + i(this.obj) + ' to not equal ' + i(obj) });
-    return this;
-  };
-
-  /**
-   * Checks if the obj sortof equals another.
-   *
-   * @api public
-   */
-
-  Assertion.prototype.eql = function (obj) {
-    this.assert(
-        expect.eql(obj, this.obj)
-      , function(){ return 'expected ' + i(this.obj) + ' to sort of equal ' + i(obj) }
-      , function(){ return 'expected ' + i(this.obj) + ' to sort of not equal ' + i(obj) });
-    return this;
-  };
-
-  /**
-   * Assert within start to finish (inclusive).
-   *
-   * @param {Number} start
-   * @param {Number} finish
-   * @api public
-   */
-
-  Assertion.prototype.within = function (start, finish) {
-    var range = start + '..' + finish;
-    this.assert(
-        this.obj >= start && this.obj <= finish
-      , function(){ return 'expected ' + i(this.obj) + ' to be within ' + range }
-      , function(){ return 'expected ' + i(this.obj) + ' to not be within ' + range });
-    return this;
-  };
-
-  /**
-   * Assert typeof / instance of
-   *
-   * @api public
-   */
-
-  Assertion.prototype.a =
-  Assertion.prototype.an = function (type) {
-    if ('string' == typeof type) {
-      // proper english in error msg
-      var n = /^[aeiou]/.test(type) ? 'n' : '';
-
-      // typeof with support for 'array'
-      this.assert(
-          'array' == type ? isArray(this.obj) :
-            'object' == type
-              ? 'object' == typeof this.obj && null !== this.obj
-              : type == typeof this.obj
-        , function(){ return 'expected ' + i(this.obj) + ' to be a' + n + ' ' + type }
-        , function(){ return 'expected ' + i(this.obj) + ' not to be a' + n + ' ' + type });
-    } else {
-      // instanceof
-      var name = type.name || 'supplied constructor';
-      this.assert(
-          this.obj instanceof type
-        , function(){ return 'expected ' + i(this.obj) + ' to be an instance of ' + name }
-        , function(){ return 'expected ' + i(this.obj) + ' not to be an instance of ' + name });
-    }
-
-    return this;
-  };
-
-  /**
-   * Assert numeric value above _n_.
-   *
-   * @param {Number} n
-   * @api public
-   */
-
-  Assertion.prototype.greaterThan =
-  Assertion.prototype.above = function (n) {
-    this.assert(
-        this.obj > n
-      , function(){ return 'expected ' + i(this.obj) + ' to be above ' + n }
-      , function(){ return 'expected ' + i(this.obj) + ' to be below ' + n });
-    return this;
-  };
-
-  /**
-   * Assert numeric value below _n_.
-   *
-   * @param {Number} n
-   * @api public
-   */
-
-  Assertion.prototype.lessThan =
-  Assertion.prototype.below = function (n) {
-    this.assert(
-        this.obj < n
-      , function(){ return 'expected ' + i(this.obj) + ' to be below ' + n }
-      , function(){ return 'expected ' + i(this.obj) + ' to be above ' + n });
-    return this;
-  };
-
-  /**
-   * Assert string value matches _regexp_.
-   *
-   * @param {RegExp} regexp
-   * @api public
-   */
-
-  Assertion.prototype.match = function (regexp) {
-    this.assert(
-        regexp.exec(this.obj)
-      , function(){ return 'expected ' + i(this.obj) + ' to match ' + regexp }
-      , function(){ return 'expected ' + i(this.obj) + ' not to match ' + regexp });
-    return this;
-  };
-
-  /**
-   * Assert property "length" exists and has value of _n_.
-   *
-   * @param {Number} n
-   * @api public
-   */
-
-  Assertion.prototype.length = function (n) {
-    expect(this.obj).to.have.property('length');
-    var len = this.obj.length;
-    this.assert(
-        n == len
-      , function(){ return 'expected ' + i(this.obj) + ' to have a length of ' + n + ' but got ' + len }
-      , function(){ return 'expected ' + i(this.obj) + ' to not have a length of ' + len });
-    return this;
-  };
-
-  /**
-   * Assert property _name_ exists, with optional _val_.
-   *
-   * @param {String} name
-   * @param {Mixed} val
-   * @api public
-   */
-
-  Assertion.prototype.property = function (name, val) {
-    if (this.flags.own) {
-      this.assert(
-          Object.prototype.hasOwnProperty.call(this.obj, name)
-        , function(){ return 'expected ' + i(this.obj) + ' to have own property ' + i(name) }
-        , function(){ return 'expected ' + i(this.obj) + ' to not have own property ' + i(name) });
-      return this;
-    }
-
-    if (this.flags.not && undefined !== val) {
-      if (undefined === this.obj[name]) {
-        throw new Error(i(this.obj) + ' has no property ' + i(name));
-      }
-    } else {
-      var hasProp;
-      try {
-        hasProp = name in this.obj
-      } catch (e) {
-        hasProp = undefined !== this.obj[name]
-      }
-
-      this.assert(
-          hasProp
-        , function(){ return 'expected ' + i(this.obj) + ' to have a property ' + i(name) }
-        , function(){ return 'expected ' + i(this.obj) + ' to not have a property ' + i(name) });
-    }
-
-    if (undefined !== val) {
-      this.assert(
-          val === this.obj[name]
-        , function(){ return 'expected ' + i(this.obj) + ' to have a property ' + i(name)
-          + ' of ' + i(val) + ', but got ' + i(this.obj[name]) }
-        , function(){ return 'expected ' + i(this.obj) + ' to not have a property ' + i(name)
-          + ' of ' + i(val) });
-    }
-
-    this.obj = this.obj[name];
-    return this;
-  };
-
-  /**
-   * Assert that the array contains _obj_ or string contains _obj_.
-   *
-   * @param {Mixed} obj|string
-   * @api public
-   */
-
-  Assertion.prototype.string =
-  Assertion.prototype.contain = function (obj) {
-    if ('string' == typeof this.obj) {
-      this.assert(
-          ~this.obj.indexOf(obj)
-        , function(){ return 'expected ' + i(this.obj) + ' to contain ' + i(obj) }
-        , function(){ return 'expected ' + i(this.obj) + ' to not contain ' + i(obj) });
-    } else {
-      this.assert(
-          ~indexOf(this.obj, obj)
-        , function(){ return 'expected ' + i(this.obj) + ' to contain ' + i(obj) }
-        , function(){ return 'expected ' + i(this.obj) + ' to not contain ' + i(obj) });
-    }
-    return this;
-  };
-
-  /**
-   * Assert exact keys or inclusion of keys by using
-   * the `.own` modifier.
-   *
-   * @param {Array|String ...} keys
-   * @api public
-   */
-
-  Assertion.prototype.key =
-  Assertion.prototype.keys = function ($keys) {
-    var str
-      , ok = true;
-
-    $keys = isArray($keys)
-      ? $keys
-      : Array.prototype.slice.call(arguments);
-
-    if (!$keys.length) throw new Error('keys required');
-
-    var actual = keys(this.obj)
-      , len = $keys.length;
-
-    // Inclusion
-    ok = every($keys, function (key) {
-      return ~indexOf(actual, key);
-    });
-
-    // Strict
-    if (!this.flags.not && this.flags.only) {
-      ok = ok && $keys.length == actual.length;
-    }
-
-    // Key string
-    if (len > 1) {
-      $keys = map($keys, function (key) {
-        return i(key);
-      });
-      var last = $keys.pop();
-      str = $keys.join(', ') + ', and ' + last;
-    } else {
-      str = i($keys[0]);
-    }
-
-    // Form
-    str = (len > 1 ? 'keys ' : 'key ') + str;
-
-    // Have / include
-    str = (!this.flags.only ? 'include ' : 'only have ') + str;
-
-    // Assertion
-    this.assert(
-        ok
-      , function(){ return 'expected ' + i(this.obj) + ' to ' + str }
-      , function(){ return 'expected ' + i(this.obj) + ' to not ' + str });
-
-    return this;
-  };
-  /**
-   * Assert a failure.
-   *
-   * @param {String ...} custom message
-   * @api public
-   */
-  Assertion.prototype.fail = function (msg) {
-    msg = msg || "explicit failure";
-    this.assert(false, msg, msg);
-    return this;
-  };
-
-  /**
-   * Function bind implementation.
-   */
-
-  function bind (fn, scope) {
-    return function () {
-      return fn.apply(scope, arguments);
-    }
-  }
-
-  /**
-   * Array every compatibility
-   *
-   * @see bit.ly/5Fq1N2
-   * @api public
-   */
-
-  function every (arr, fn, thisObj) {
-    var scope = thisObj || global;
-    for (var i = 0, j = arr.length; i < j; ++i) {
-      if (!fn.call(scope, arr[i], i, arr)) {
-        return false;
-      }
-    }
-    return true;
-  };
-
-  /**
-   * Array indexOf compatibility.
-   *
-   * @see bit.ly/a5Dxa2
-   * @api public
-   */
-
-  function indexOf (arr, o, i) {
-    if (Array.prototype.indexOf) {
-      return Array.prototype.indexOf.call(arr, o, i);
-    }
-
-    if (arr.length === undefined) {
-      return -1;
-    }
-
-    for (var j = arr.length, i = i < 0 ? i + j < 0 ? 0 : i + j : i || 0
-        ; i < j && arr[i] !== o; i++);
-
-    return j <= i ? -1 : i;
-  };
-
-  // https://gist.github.com/1044128/
-  var getOuterHTML = function(element) {
-    if ('outerHTML' in element) return element.outerHTML;
-    var ns = "http://www.w3.org/1999/xhtml";
-    var container = document.createElementNS(ns, '_');
-    var elemProto = (window.HTMLElement || window.Element).prototype;
-    var xmlSerializer = new XMLSerializer();
-    var html;
-    if (document.xmlVersion) {

... etc. - the rest is truncated


More information about the Libreoffice-commits mailing list