summaryrefslogtreecommitdiffstats
path: root/core/vendor/backbone
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@owncloud.com>2015-08-06 11:16:37 +0200
committerArthur Schiwon <blizzz@owncloud.com>2015-08-06 11:22:15 +0200
commitcc4a2a472735313c5eae1a9c7d4ff4a177b80c44 (patch)
tree99f7c87a5e819e41e50d4076935baf57ec777519 /core/vendor/backbone
parent1aaef6fde7dc8b303a4265fefb7f2ae873ec7db1 (diff)
downloadnextcloud-server-cc4a2a472735313c5eae1a9c7d4ff4a177b80c44.tar.gz
nextcloud-server-cc4a2a472735313c5eae1a9c7d4ff4a177b80c44.zip
adjust gitignore for backbone.js
Diffstat (limited to 'core/vendor/backbone')
-rw-r--r--core/vendor/backbone/backbone-min.js2
-rw-r--r--core/vendor/backbone/backbone-min.map1
2 files changed, 0 insertions, 3 deletions
diff --git a/core/vendor/backbone/backbone-min.js b/core/vendor/backbone/backbone-min.js
deleted file mode 100644
index f29903b1ae6..00000000000
--- a/core/vendor/backbone/backbone-min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(function(t){var e=typeof self=="object"&&self.self==self&&self||typeof global=="object"&&global.global==global&&global;if(typeof define==="function"&&define.amd){define(["underscore","jquery","exports"],function(i,r,s){e.Backbone=t(e,s,i,r)})}else if(typeof exports!=="undefined"){var i=require("underscore"),r;try{r=require("jquery")}catch(s){}t(e,exports,i,r)}else{e.Backbone=t(e,{},e._,e.jQuery||e.Zepto||e.ender||e.$)}})(function(t,e,i,r){var s=t.Backbone;var n=[].slice;e.VERSION="1.2.1";e.$=r;e.noConflict=function(){t.Backbone=s;return this};e.emulateHTTP=false;e.emulateJSON=false;var a=function(t,e,r){switch(t){case 1:return function(){return i[e](this[r])};case 2:return function(t){return i[e](this[r],t)};case 3:return function(t,s){return i[e](this[r],t,s)};case 4:return function(t,s,n){return i[e](this[r],t,s,n)};default:return function(){var t=n.call(arguments);t.unshift(this[r]);return i[e].apply(i,t)}}};var o=function(t,e,r){i.each(e,function(e,s){if(i[s])t.prototype[s]=a(e,s,r)})};var h=e.Events={};var u=/\s+/;var l=function(t,e,r,s,n){var a=0,o;if(r&&typeof r==="object"){if(s!==void 0&&"context"in n&&n.context===void 0)n.context=s;for(o=i.keys(r);a<o.length;a++){e=t(e,o[a],r[o[a]],n)}}else if(r&&u.test(r)){for(o=r.split(u);a<o.length;a++){e=t(e,o[a],s,n)}}else{e=t(e,r,s,n)}return e};h.on=function(t,e,i){return c(this,t,e,i)};var c=function(t,e,i,r,s){t._events=l(f,t._events||{},e,i,{context:r,ctx:t,listening:s});if(s){var n=t._listeners||(t._listeners={});n[s.id]=s}return t};h.listenTo=function(t,e,r){if(!t)return this;var s=t._listenId||(t._listenId=i.uniqueId("l"));var n=this._listeningTo||(this._listeningTo={});var a=n[s];if(!a){var o=this._listenId||(this._listenId=i.uniqueId("l"));a=n[s]={obj:t,objId:s,id:o,listeningTo:n,count:0}}c(t,e,r,this,a);return this};var f=function(t,e,i,r){if(i){var s=t[e]||(t[e]=[]);var n=r.context,a=r.ctx,o=r.listening;if(o)o.count++;s.push({callback:i,context:n,ctx:n||a,listening:o})}return t};h.off=function(t,e,i){if(!this._events)return this;this._events=l(d,this._events,t,e,{context:i,listeners:this._listeners});return this};h.stopListening=function(t,e,r){var s=this._listeningTo;if(!s)return this;var n=t?[t._listenId]:i.keys(s);for(var a=0;a<n.length;a++){var o=s[n[a]];if(!o)break;o.obj.off(e,r,this)}if(i.isEmpty(s))this._listeningTo=void 0;return this};var d=function(t,e,r,s){if(!t)return;var n=0,a;var o=s.context,h=s.listeners;if(!e&&!r&&!o){var u=i.keys(h);for(;n<u.length;n++){a=h[u[n]];delete h[a.id];delete a.listeningTo[a.objId]}return}var l=e?[e]:i.keys(t);for(;n<l.length;n++){e=l[n];var c=t[e];if(!c)break;var f=[];for(var d=0;d<c.length;d++){var v=c[d];if(r&&r!==v.callback&&r!==v.callback._callback||o&&o!==v.context){f.push(v)}else{a=v.listening;if(a&&--a.count===0){delete h[a.id];delete a.listeningTo[a.objId]}}}if(f.length){t[e]=f}else{delete t[e]}}if(i.size(t))return t};h.once=function(t,e,r){var s=l(v,{},t,e,i.bind(this.off,this));return this.on(s,void 0,r)};h.listenToOnce=function(t,e,r){var s=l(v,{},e,r,i.bind(this.stopListening,this,t));return this.listenTo(t,s)};var v=function(t,e,r,s){if(r){var n=t[e]=i.once(function(){s(e,n);r.apply(this,arguments)});n._callback=r}return t};h.trigger=function(t){if(!this._events)return this;var e=Math.max(0,arguments.length-1);var i=Array(e);for(var r=0;r<e;r++)i[r]=arguments[r+1];l(g,this._events,t,void 0,i);return this};var g=function(t,e,i,r){if(t){var s=t[e];var n=t.all;if(s&&n)n=n.slice();if(s)p(s,r);if(n)p(n,[e].concat(r))}return t};var p=function(t,e){var i,r=-1,s=t.length,n=e[0],a=e[1],o=e[2];switch(e.length){case 0:while(++r<s)(i=t[r]).callback.call(i.ctx);return;case 1:while(++r<s)(i=t[r]).callback.call(i.ctx,n);return;case 2:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a);return;case 3:while(++r<s)(i=t[r]).callback.call(i.ctx,n,a,o);return;default:while(++r<s)(i=t[r]).callback.apply(i.ctx,e);return}};h.bind=h.on;h.unbind=h.off;i.extend(e,h);var m=e.Model=function(t,e){var r=t||{};e||(e={});this.cid=i.uniqueId(this.cidPrefix);this.attributes={};if(e.collection)this.collection=e.collection;if(e.parse)r=this.parse(r,e)||{};r=i.defaults({},r,i.result(this,"defaults"));this.set(r,e);this.changed={};this.initialize.apply(this,arguments)};i.extend(m.prototype,h,{changed:null,validationError:null,idAttribute:"id",cidPrefix:"c",initialize:function(){},toJSON:function(t){return i.clone(this.attributes)},sync:function(){return e.sync.apply(this,arguments)},get:function(t){return this.attributes[t]},escape:function(t){return i.escape(this.get(t))},has:function(t){return this.get(t)!=null},matches:function(t){return!!i.iteratee(t,this)(this.attributes)},set:function(t,e,r){if(t==null)return this;var s;if(typeof t==="object"){s=t;r=e}else{(s={})[t]=e}r||(r={});if(!this._validate(s,r))return false;var n=r.unset;var a=r.silent;var o=[];var h=this._changing;this._changing=true;if(!h){this._previousAttributes=i.clone(this.attributes);this.changed={}}var u=this.attributes;var l=this.changed;var c=this._previousAttributes;if(this.idAttribute in s)this.id=s[this.idAttribute];for(var f in s){e=s[f];if(!i.isEqual(u[f],e))o.push(f);if(!i.isEqual(c[f],e)){l[f]=e}else{delete l[f]}n?delete u[f]:u[f]=e}if(!a){if(o.length)this._pending=r;for(var d=0;d<o.length;d++){this.trigger("change:"+o[d],this,u[o[d]],r)}}if(h)return this;if(!a){while(this._pending){r=this._pending;this._pending=false;this.trigger("change",this,r)}}this._pending=false;this._changing=false;return this},unset:function(t,e){return this.set(t,void 0,i.extend({},e,{unset:true}))},clear:function(t){var e={};for(var r in this.attributes)e[r]=void 0;return this.set(e,i.extend({},t,{unset:true}))},hasChanged:function(t){if(t==null)return!i.isEmpty(this.changed);return i.has(this.changed,t)},changedAttributes:function(t){if(!t)return this.hasChanged()?i.clone(this.changed):false;var e=this._changing?this._previousAttributes:this.attributes;var r={};for(var s in t){var n=t[s];if(i.isEqual(e[s],n))continue;r[s]=n}return i.size(r)?r:false},previous:function(t){if(t==null||!this._previousAttributes)return null;return this._previousAttributes[t]},previousAttributes:function(){return i.clone(this._previousAttributes)},fetch:function(t){t=i.extend({parse:true},t);var e=this;var r=t.success;t.success=function(i){var s=t.parse?e.parse(i,t):i;if(!e.set(s,t))return false;if(r)r.call(t.context,e,i,t);e.trigger("sync",e,i,t)};q(this,t);return this.sync("read",this,t)},save:function(t,e,r){var s;if(t==null||typeof t==="object"){s=t;r=e}else{(s={})[t]=e}r=i.extend({validate:true,parse:true},r);var n=r.wait;if(s&&!n){if(!this.set(s,r))return false}else{if(!this._validate(s,r))return false}var a=this;var o=r.success;var h=this.attributes;r.success=function(t){a.attributes=h;var e=r.parse?a.parse(t,r):t;if(n)e=i.extend({},s,e);if(e&&!a.set(e,r))return false;if(o)o.call(r.context,a,t,r);a.trigger("sync",a,t,r)};q(this,r);if(s&&n)this.attributes=i.extend({},h,s);var u=this.isNew()?"create":r.patch?"patch":"update";if(u==="patch"&&!r.attrs)r.attrs=s;var l=this.sync(u,this,r);this.attributes=h;return l},destroy:function(t){t=t?i.clone(t):{};var e=this;var r=t.success;var s=t.wait;var n=function(){e.stopListening();e.trigger("destroy",e,e.collection,t)};t.success=function(i){if(s)n();if(r)r.call(t.context,e,i,t);if(!e.isNew())e.trigger("sync",e,i,t)};var a=false;if(this.isNew()){i.defer(t.success)}else{q(this,t);a=this.sync("delete",this,t)}if(!s)n();return a},url:function(){var t=i.result(this,"urlRoot")||i.result(this.collection,"url")||M();if(this.isNew())return t;var e=this.get(this.idAttribute);return t.replace(/[^\/]$/,"$&/")+encodeURIComponent(e)},parse:function(t,e){return t},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return!this.has(this.idAttribute)},isValid:function(t){return this._validate({},i.defaults({validate:true},t))},_validate:function(t,e){if(!e.validate||!this.validate)return true;t=i.extend({},this.attributes,t);var r=this.validationError=this.validate(t,e)||null;if(!r)return true;this.trigger("invalid",this,r,i.extend(e,{validationError:r}));return false}});var _={keys:1,values:1,pairs:1,invert:1,pick:0,omit:0,chain:1,isEmpty:1};o(m,_,"attributes");var y=e.Collection=function(t,e){e||(e={});if(e.model)this.model=e.model;if(e.comparator!==void 0)this.comparator=e.comparator;this._reset();this.initialize.apply(this,arguments);if(t)this.reset(t,i.extend({silent:true},e))};var b={add:true,remove:true,merge:true};var x={add:true,remove:false};i.extend(y.prototype,h,{model:m,initialize:function(){},toJSON:function(t){return this.map(function(e){return e.toJSON(t)})},sync:function(){return e.sync.apply(this,arguments)},add:function(t,e){return this.set(t,i.extend({merge:false},e,x))},remove:function(t,e){e=i.extend({},e);var r=!i.isArray(t);t=r?[t]:i.clone(t);var s=this._removeModels(t,e);if(!e.silent&&s)this.trigger("update",this,e);return r?s[0]:s},set:function(t,e){e=i.defaults({},e,b);if(e.parse&&!this._isModel(t))t=this.parse(t,e);var r=!i.isArray(t);t=r?t?[t]:[]:t.slice();var s,n,a,o,h;var u=e.at;if(u!=null)u=+u;if(u<0)u+=this.length+1;var l=this.comparator&&u==null&&e.sort!==false;var c=i.isString(this.comparator)?this.comparator:null;var f=[],d=[],v={};var g=e.add,p=e.merge,m=e.remove;var _=!l&&g&&m?[]:false;var y=false;for(var x=0;x<t.length;x++){a=t[x];if(o=this.get(a)){if(m)v[o.cid]=true;if(p&&a!==o){a=this._isModel(a)?a.attributes:a;if(e.parse)a=o.parse(a,e);o.set(a,e);if(l&&!h&&o.hasChanged(c))h=true}t[x]=o}else if(g){n=t[x]=this._prepareModel(a,e);if(!n)continue;f.push(n);this._addReference(n,e)}n=o||n;if(!n)continue;s=this.modelId(n.attributes);if(_&&(n.isNew()||!v[s])){_.push(n);y=y||!this.models[x]||n.cid!==this.models[x].cid}v[s]=true}if(m){for(var x=0;x<this.length;x++){if(!v[(n=this.models[x]).cid])d.push(n)}if(d.length)this._removeModels(d,e)}if(f.length||y){if(l)h=true;this.length+=f.length;if(u!=null){for(var x=0;x<f.length;x++){this.models.splice(u+x,0,f[x])}}else{if(_)this.models.length=0;var w=_||f;for(var x=0;x<w.length;x++){this.models.push(w[x])}}}if(h)this.sort({silent:true});if(!e.silent){var E=u!=null?i.clone(e):e;for(var x=0;x<f.length;x++){if(u!=null)E.index=u+x;(n=f[x]).trigger("add",n,this,E)}if(h||y)this.trigger("sort",this,e);if(f.length||d.length)this.trigger("update",this,e)}return r?t[0]:t},reset:function(t,e){e=e?i.clone(e):{};for(var r=0;r<this.models.length;r++){this._removeReference(this.models[r],e)}e.previousModels=this.models;this._reset();t=this.add(t,i.extend({silent:true},e));if(!e.silent)this.trigger("reset",this,e);return t},push:function(t,e){return this.add(t,i.extend({at:this.length},e))},pop:function(t){var e=this.at(this.length-1);return this.remove(e,t)},unshift:function(t,e){return this.add(t,i.extend({at:0},e))},shift:function(t){var e=this.at(0);return this.remove(e,t)},slice:function(){return n.apply(this.models,arguments)},get:function(t){if(t==null)return void 0;var e=this.modelId(this._isModel(t)?t.attributes:t);return this._byId[t]||this._byId[e]||this._byId[t.cid]},at:function(t){if(t<0)t+=this.length;return this.models[t]},where:function(t,e){var r=i.matches(t);return this[e?"find":"filter"](function(t){return r(t.attributes)})},findWhere:function(t){return this.where(t,true)},sort:function(t){if(!this.comparator)throw new Error("Cannot sort a set without a comparator");t||(t={});if(i.isString(this.comparator)||this.comparator.length===1){this.models=this.sortBy(this.comparator,this)}else{this.models.sort(i.bind(this.comparator,this))}if(!t.silent)this.trigger("sort",this,t);return this},pluck:function(t){return i.invoke(this.models,"get",t)},fetch:function(t){t=i.extend({parse:true},t);var e=t.success;var r=this;t.success=function(i){var s=t.reset?"reset":"set";r[s](i,t);if(e)e.call(t.context,r,i,t);r.trigger("sync",r,i,t)};q(this,t);return this.sync("read",this,t)},create:function(t,e){e=e?i.clone(e):{};var r=e.wait;t=this._prepareModel(t,e);if(!t)return false;if(!r)this.add(t,e);var s=this;var n=e.success;e.success=function(t,e,i){if(r)s.add(t,i);if(n)n.call(i.context,t,e,i)};t.save(null,e);return t},parse:function(t,e){return t},clone:function(){return new this.constructor(this.models,{model:this.model,comparator:this.comparator})},modelId:function(t){return t[this.model.prototype.idAttribute||"id"]},_reset:function(){this.length=0;this.models=[];this._byId={}},_prepareModel:function(t,e){if(this._isModel(t)){if(!t.collection)t.collection=this;return t}e=e?i.clone(e):{};e.collection=this;var r=new this.model(t,e);if(!r.validationError)return r;this.trigger("invalid",this,r.validationError,e);return false},_removeModels:function(t,e){var i=[];for(var r=0;r<t.length;r++){var s=this.get(t[r]);if(!s)continue;var n=this.indexOf(s);this.models.splice(n,1);this.length--;if(!e.silent){e.index=n;s.trigger("remove",s,this,e)}i.push(s);this._removeReference(s,e)}return i.length?i:false},_isModel:function(t){return t instanceof m},_addReference:function(t,e){this._byId[t.cid]=t;var i=this.modelId(t.attributes);if(i!=null)this._byId[i]=t;t.on("all",this._onModelEvent,this)},_removeReference:function(t,e){delete this._byId[t.cid];var i=this.modelId(t.attributes);if(i!=null)delete this._byId[i];if(this===t.collection)delete t.collection;t.off("all",this._onModelEvent,this)},_onModelEvent:function(t,e,i,r){if((t==="add"||t==="remove")&&i!==this)return;if(t==="destroy")this.remove(e,r);if(t==="change"){var s=this.modelId(e.previousAttributes());var n=this.modelId(e.attributes);if(s!==n){if(s!=null)delete this._byId[s];if(n!=null)this._byId[n]=e}}this.trigger.apply(this,arguments)}});var w={forEach:3,each:3,map:3,collect:3,reduce:4,foldl:4,inject:4,reduceRight:4,foldr:4,find:3,detect:3,filter:3,select:3,reject:3,every:3,all:3,some:3,any:3,include:2,contains:2,invoke:0,max:3,min:3,toArray:1,size:1,first:3,head:3,take:3,initial:3,rest:3,tail:3,drop:3,last:3,without:0,difference:0,indexOf:3,shuffle:1,lastIndexOf:3,isEmpty:1,chain:1,sample:3,partition:3};o(y,w,"models");var E=["groupBy","countBy","sortBy","indexBy"];i.each(E,function(t){if(!i[t])return;y.prototype[t]=function(e,r){var s=i.isFunction(e)?e:function(t){return t.get(e)};return i[t](this.models,s,r)}});var k=e.View=function(t){this.cid=i.uniqueId("view");i.extend(this,i.pick(t,I));this._ensureElement();this.initialize.apply(this,arguments)};var S=/^(\S+)\s*(.*)$/;var I=["model","collection","el","id","attributes","className","tagName","events"];i.extend(k.prototype,h,{tagName:"div",$:function(t){return this.$el.find(t)},initialize:function(){},render:function(){return this},remove:function(){this._removeElement();this.stopListening();return this},_removeElement:function(){this.$el.remove()},setElement:function(t){this.undelegateEvents();this._setElement(t);this.delegateEvents();return this},_setElement:function(t){this.$el=t instanceof e.$?t:e.$(t);this.el=this.$el[0]},delegateEvents:function(t){t||(t=i.result(this,"events"));if(!t)return this;this.undelegateEvents();for(var e in t){var r=t[e];if(!i.isFunction(r))r=this[r];if(!r)continue;var s=e.match(S);this.delegate(s[1],s[2],i.bind(r,this))}return this},delegate:function(t,e,i){this.$el.on(t+".delegateEvents"+this.cid,e,i);return this},undelegateEvents:function(){if(this.$el)this.$el.off(".delegateEvents"+this.cid);return this},undelegate:function(t,e,i){this.$el.off(t+".delegateEvents"+this.cid,e,i);return this},_createElement:function(t){return document.createElement(t)},_ensureElement:function(){if(!this.el){var t=i.extend({},i.result(this,"attributes"));if(this.id)t.id=i.result(this,"id");if(this.className)t["class"]=i.result(this,"className");this.setElement(this._createElement(i.result(this,"tagName")));this._setAttributes(t)}else{this.setElement(i.result(this,"el"))}},_setAttributes:function(t){this.$el.attr(t)}});e.sync=function(t,r,s){var n=T[t];i.defaults(s||(s={}),{emulateHTTP:e.emulateHTTP,emulateJSON:e.emulateJSON});var a={type:n,dataType:"json"};if(!s.url){a.url=i.result(r,"url")||M()}if(s.data==null&&r&&(t==="create"||t==="update"||t==="patch")){a.contentType="application/json";a.data=JSON.stringify(s.attrs||r.toJSON(s))}if(s.emulateJSON){a.contentType="application/x-www-form-urlencoded";a.data=a.data?{model:a.data}:{}}if(s.emulateHTTP&&(n==="PUT"||n==="DELETE"||n==="PATCH")){a.type="POST";if(s.emulateJSON)a.data._method=n;var o=s.beforeSend;s.beforeSend=function(t){t.setRequestHeader("X-HTTP-Method-Override",n);if(o)return o.apply(this,arguments)}}if(a.type!=="GET"&&!s.emulateJSON){a.processData=false}var h=s.error;s.error=function(t,e,i){s.textStatus=e;s.errorThrown=i;if(h)h.call(s.context,t,e,i)};var u=s.xhr=e.ajax(i.extend(a,s));r.trigger("request",r,u,s);return u};var T={create:"POST",update:"PUT",patch:"PATCH","delete":"DELETE",read:"GET"};e.ajax=function(){return e.$.ajax.apply(e.$,arguments)};var P=e.Router=function(t){t||(t={});if(t.routes)this.routes=t.routes;this._bindRoutes();this.initialize.apply(this,arguments)};var H=/\((.*?)\)/g;var $=/(\(\?)?:\w+/g;var A=/\*\w+/g;var C=/[\-{}\[\]+?.,\\\^$|#\s]/g;i.extend(P.prototype,h,{initialize:function(){},route:function(t,r,s){if(!i.isRegExp(t))t=this._routeToRegExp(t);if(i.isFunction(r)){s=r;r=""}if(!s)s=this[r];var n=this;e.history.route(t,function(i){var a=n._extractParameters(t,i);if(n.execute(s,a,r)!==false){n.trigger.apply(n,["route:"+r].concat(a));n.trigger("route",r,a);e.history.trigger("route",n,r,a)}});return this},execute:function(t,e,i){if(t)t.apply(this,e)},navigate:function(t,i){e.history.navigate(t,i);return this},_bindRoutes:function(){if(!this.routes)return;this.routes=i.result(this,"routes");var t,e=i.keys(this.routes);while((t=e.pop())!=null){this.route(t,this.routes[t])}},_routeToRegExp:function(t){t=t.replace(C,"\\$&").replace(H,"(?:$1)?").replace($,function(t,e){return e?t:"([^/?]+)"}).replace(A,"([^?]*?)");return new RegExp("^"+t+"(?:\\?([\\s\\S]*))?$")},_extractParameters:function(t,e){var r=t.exec(e).slice(1);return i.map(r,function(t,e){if(e===r.length-1)return t||null;return t?decodeURIComponent(t):null})}});var N=e.History=function(){this.handlers=[];i.bindAll(this,"checkUrl");if(typeof window!=="undefined"){this.location=window.location;this.history=window.history}};var R=/^[#\/]|\s+$/g;var j=/^\/+|\/+$/g;var O=/#.*$/;N.started=false;i.extend(N.prototype,h,{interval:50,atRoot:function(){var t=this.location.pathname.replace(/[^\/]$/,"$&/");return t===this.root&&!this.getSearch()},matchRoot:function(){var t=this.decodeFragment(this.location.pathname);var e=t.slice(0,this.root.length-1)+"/";return e===this.root},decodeFragment:function(t){return decodeURI(t.replace(/%25/g,"%2525"))},getSearch:function(){var t=this.location.href.replace(/#.*/,"").match(/\?.+/);return t?t[0]:""},getHash:function(t){var e=(t||this).location.href.match(/#(.*)$/);return e?e[1]:""},getPath:function(){var t=this.decodeFragment(this.location.pathname+this.getSearch()).slice(this.root.length-1);return t.charAt(0)==="/"?t.slice(1):t},getFragment:function(t){if(t==null){if(this._usePushState||!this._wantsHashChange){t=this.getPath()}else{t=this.getHash()}}return t.replace(R,"")},start:function(t){if(N.started)throw new Error("Backbone.history has already been started");N.started=true;this.options=i.extend({root:"/"},this.options,t);this.root=this.options.root;this._wantsHashChange=this.options.hashChange!==false;this._hasHashChange="onhashchange"in window;this._useHashChange=this._wantsHashChange&&this._hasHashChange;this._wantsPushState=!!this.options.pushState;this._hasPushState=!!(this.history&&this.history.pushState);this._usePushState=this._wantsPushState&&this._hasPushState;this.fragment=this.getFragment();this.root=("/"+this.root+"/").replace(j,"/");if(this._wantsHashChange&&this._wantsPushState){if(!this._hasPushState&&!this.atRoot()){var e=this.root.slice(0,-1)||"/";this.location.replace(e+"#"+this.getPath());return true}else if(this._hasPushState&&this.atRoot()){this.navigate(this.getHash(),{replace:true})}}if(!this._hasHashChange&&this._wantsHashChange&&!this._usePushState){this.iframe=document.createElement("iframe");this.iframe.src="javascript:0";this.iframe.style.display="none";this.iframe.tabIndex=-1;var r=document.body;var s=r.insertBefore(this.iframe,r.firstChild).contentWindow;s.document.open();s.document.close();s.location.hash="#"+this.fragment}var n=window.addEventListener||function(t,e){return attachEvent("on"+t,e)};if(this._usePushState){n("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){n("hashchange",this.checkUrl,false)}else if(this._wantsHashChange){this._checkUrlInterval=setInterval(this.checkUrl,this.interval)}if(!this.options.silent)return this.loadUrl()},stop:function(){var t=window.removeEventListener||function(t,e){return detachEvent("on"+t,e)};if(this._usePushState){t("popstate",this.checkUrl,false)}else if(this._useHashChange&&!this.iframe){t("hashchange",this.checkUrl,false)}if(this.iframe){document.body.removeChild(this.iframe);this.iframe=null}if(this._checkUrlInterval)clearInterval(this._checkUrlInterval);N.started=false},route:function(t,e){this.handlers.unshift({route:t,callback:e})},checkUrl:function(t){var e=this.getFragment();if(e===this.fragment&&this.iframe){e=this.getHash(this.iframe.contentWindow)}if(e===this.fragment)return false;if(this.iframe)this.navigate(e);this.loadUrl()},loadUrl:function(t){if(!this.matchRoot())return false;t=this.fragment=this.getFragment(t);return i.any(this.handlers,function(e){if(e.route.test(t)){e.callback(t);return true}})},navigate:function(t,e){if(!N.started)return false;if(!e||e===true)e={trigger:!!e};t=this.getFragment(t||"");var i=this.root;if(t===""||t.charAt(0)==="?"){i=i.slice(0,-1)||"/"}var r=i+t;t=this.decodeFragment(t.replace(O,""));if(this.fragment===t)return;this.fragment=t;if(this._usePushState){this.history[e.replace?"replaceState":"pushState"]({},document.title,r)}else if(this._wantsHashChange){this._updateHash(this.location,t,e.replace);if(this.iframe&&t!==this.getHash(this.iframe.contentWindow)){var s=this.iframe.contentWindow;if(!e.replace){s.document.open();s.document.close()}this._updateHash(s.location,t,e.replace)}}else{return this.location.assign(r)}if(e.trigger)return this.loadUrl(t)},_updateHash:function(t,e,i){if(i){var r=t.href.replace(/(javascript:|#).*$/,"");t.replace(r+"#"+e)}else{t.hash="#"+e}}});e.history=new N;var U=function(t,e){var r=this;var s;if(t&&i.has(t,"constructor")){s=t.constructor}else{s=function(){return r.apply(this,arguments)}}i.extend(s,r,e);var n=function(){this.constructor=s};n.prototype=r.prototype;s.prototype=new n;if(t)i.extend(s.prototype,t);s.__super__=r.prototype;return s};m.extend=y.extend=P.extend=k.extend=N.extend=U;var M=function(){throw new Error('A "url" property or function must be specified')};var q=function(t,e){var i=e.error;e.error=function(r){if(i)i.call(e.context,t,r,e);t.trigger("error",t,r,e)}};return e});
-//# sourceMappingURL=backbone-min.map \ No newline at end of file
diff --git a/core/vendor/backbone/backbone-min.map b/core/vendor/backbone/backbone-min.map
deleted file mode 100644
index f01489a5cb1..00000000000
--- a/core/vendor/backbone/backbone-min.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"backbone-min.js","sources":["backbone.js"],"names":["factory","root","self","global","define","amd","_","$","exports","Backbone","require","e","jQuery","Zepto","ender","previousBackbone","slice","VERSION","noConflict","this","emulateHTTP","emulateJSON","addMethod","length","method","attribute","value","iteratee","context","defaultVal","args","call","arguments","unshift","apply","addUnderscoreMethods","Class","methods","each","prototype","Events","eventSplitter","eventsApi","memo","name","callback","opts","i","names","keys","test","split","on","internalOn","obj","listening","_events","onApi","ctx","listeners","_listeners","id","listenTo","_listenId","uniqueId","listeningTo","_listeningTo","thisId","objId","count","events","options","handlers","push","off","offApi","stopListening","ids","isEmpty","remaining","j","handler","_callback","size","once","onceMap","bind","listenToOnce","map","offer","trigger","Math","max","Array","triggerApi","objEvents","cb","allEvents","all","triggerEvents","concat","ev","l","a1","a2","a3","unbind","extend","Model","attributes","attrs","cid","cidPrefix","collection","parse","defaults","result","set","changed","initialize","validationError","idAttribute","toJSON","clone","sync","get","attr","escape","has","matches","key","val","_validate","unset","silent","changes","changing","_changing","_previousAttributes","current","prev","isEqual","_pending","clear","hasChanged","changedAttributes","diff","old","previous","previousAttributes","fetch","model","success","resp","serverAttrs","wrapError","save","validate","wait","isNew","patch","xhr","destroy","defer","url","base","urlError","replace","encodeURIComponent","constructor","isValid","error","modelMethods","values","pairs","invert","pick","omit","chain","Collection","models","comparator","_reset","reset","setOptions","add","remove","merge","addOptions","singular","isArray","removed","_removeModels","_isModel","existing","sort","at","sortable","sortAttr","isString","toAdd","toRemove","modelMap","order","orderChanged","_prepareModel","_addReference","modelId","splice","orderedModels","addOpts","index","_removeReference","previousModels","pop","shift","_byId","where","first","findWhere","Error","sortBy","pluck","invoke","create","callbackOpts","indexOf","_onModelEvent","event","prevId","collectionMethods","forEach","collect","reduce","foldl","inject","reduceRight","foldr","find","detect","filter","select","reject","every","some","any","include","contains","min","toArray","head","take","initial","rest","tail","drop","last","without","difference","shuffle","lastIndexOf","sample","partition","attributeMethods","iterator","isFunction","View","viewOptions","_ensureElement","delegateEventSplitter","tagName","selector","$el","render","_removeElement","setElement","element","undelegateEvents","_setElement","delegateEvents","el","match","delegate","eventName","listener","undelegate","_createElement","document","createElement","className","_setAttributes","type","methodMap","params","dataType","data","contentType","JSON","stringify","_method","beforeSend","setRequestHeader","processData","textStatus","errorThrown","ajax","update","delete","read","Router","routes","_bindRoutes","optionalParam","namedParam","splatParam","escapeRegExp","route","isRegExp","_routeToRegExp","router","history","fragment","_extractParameters","execute","navigate","optional","RegExp","exec","param","decodeURIComponent","History","bindAll","window","location","routeStripper","rootStripper","pathStripper","started","interval","atRoot","path","pathname","getSearch","matchRoot","decodeFragment","decodeURI","href","getHash","getPath","charAt","getFragment","_usePushState","_wantsHashChange","start","hashChange","_hasHashChange","_useHashChange","_wantsPushState","pushState","_hasPushState","iframe","src","style","display","tabIndex","body","iWindow","insertBefore","firstChild","contentWindow","open","close","hash","addEventListener","attachEvent","checkUrl","_checkUrlInterval","setInterval","loadUrl","stop","removeEventListener","detachEvent","removeChild","clearInterval","title","_updateHash","assign","protoProps","staticProps","parent","child","Surrogate","__super__"],"mappings":"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"} \ No newline at end of file