vendor/assets/elfinder_OLD/js/elfinder.full.js
function(tasks) {
		var l = tasks.length,
			chain = function(task, idx) {
				++idx;
				if (tasks[idx]) {
					return chain(task.then(tasks[idx]), idx);
				} else {
					return task;
				}
			};
		if (l > 1) {
			return chain(tasks[0](), 0);
		} else {
			return tasks[0]();
		}
	}
function(tasks) {
		var l = tasks.length,
			chain = function(task, idx) {
				++idx;
				if (tasks[idx]) {
					return chain(task.then(tasks[idx]), idx);
				} else {
					return task;
				}
			};
		if (l > 1) {
			return chain(tasks[0](), 0);
		} else {
			return tasks[0]();
		}
	}
function ( tasks ) { var l = tasks . length , chain = function ( task , idx ) { ++ idx ; if ( tasks [ idx ] ) { return chain ( task . then ( tasks [ idx ] ) , idx ) ; } else { return task ; } } ; if ( l > 1 ) { return chain ( tasks [ 0 ] ( ) , 0 ) ; } else { return tasks [ 0 ] ( ) ; } }
call chained sequence of async deferred functions

@param  Array   tasks async functions
@return Object  jQuery.Deferred
call chained sequence of async deferred functions