text: /**
   * angular-drag-and-drop-lists v2.1.0
   *
   * Copyright (c) 2014 Marcel Juenemann marcel@juenemann.cc
   * Copyright (c) 2014-2017 Google Inc.
   * https://github.com/marceljuenemann/angular-drag-and-drop-lists
   *
   * License: MIT
   */
  !function(e){function n(e,n){return"all"==n?e:e.filter(function(e){return-1!=n.toLowerCase().indexOf(e)})}var t="application/x-dnd",a="application/json",r="Text",d=["move","copy","link"]
  e.directive("dndDraggable",["$parse","$timeout",function(e,i){return function(l,f,c){f.attr("draggable","true"),c.dndDisableIf&&l.$watch(c.dndDisableIf,function(e){f.attr("draggable",!e)}),f.on("dragstart",function(s){if(s=s.originalEvent||s,"false"==f.attr("draggable"))return!0
  o.isDragging=!0,o.itemType=c.dndType&&l.$eval(c.dndType).toLowerCase(),o.dropEffect="none",o.effectAllowed=c.dndEffectAllowed||d[0],s.dataTransfer.effectAllowed=o.effectAllowed
  var g=l.$eval(c.dndDraggable),u=t+(o.itemType?"-"+o.itemType:"")
  try{s.dataTransfer.setData(u,angular.toJson(g))}catch(e){var p=angular.toJson({item:g,type:o.itemType})
  try{s.dataTransfer.setData(a,p)}catch(e){var v=n(d,o.effectAllowed)
  s.dataTransfer.effectAllowed=v[0],s.dataTransfer.setData(r,p)}}if(f.addClass("dndDragging"),i(function(){f.addClass("dndDraggingSource")},0),s._dndHandle&&s.dataTransfer.setDragImage&&s.dataTransfer.setDragImage(f[0],0,0),e(c.dndDragstart)(l,{event:s}),c.dndCallback){var D=e(c.dndCallback)
  o.callback=function(e){return D(l,e||{})}}s.stopPropagation()}),f.on("dragend",function(n){n=n.originalEvent||n,l.$apply(function(){var t=o.dropEffect
  e(c[{copy:"dndCopied",link:"dndLinked",move:"dndMoved",none:"dndCanceled"}[t]])(l,{event:n}),e(c.dndDragend)(l,{event:n,dropEffect:t})}),o.isDragging=!1,o.callback=void 0,f.removeClass("dndDragging"),f.removeClass("dndDraggingSource"),n.stopPropagation(),i(function(){f.removeClass("dndDraggingSource")},0)}),f.on("click",function(n){c.dndSelected&&(n=n.originalEvent||n,l.$apply(function(){e(c.dndSelected)(l,{event:n})}),n.stopPropagation())}),f.on("selectstart",function(){this.dragDrop&&this.dragDrop()})}}]),e.directive("dndList",["$parse",function(e){return function(i,l,f){function c(e){if(!e)return r
  for(var n=0;n<e.length;n++)if(e[n]==r||e[n]==a||e[n].substr(0,t.length)==t)return e[n]
  return null}function s(e){return o.isDragging?o.itemType||void 0:e==r||e==a?null:e&&e.substr(t.length+1)||void 0}function g(e){return!b.disabled&&(!(!b.externalSources&&!o.isDragging)&&(!b.allowedTypes||null===e||e&&-1!=b.allowedTypes.indexOf(e)))}function u(e,t){var a=d
  return t||(a=n(a,e.dataTransfer.effectAllowed)),o.isDragging&&(a=n(a,o.effectAllowed)),f.dndEffectAllowed&&(a=n(a,f.dndEffectAllowed)),a.length?e.ctrlKey&&-1!=a.indexOf("copy")?"copy":e.altKey&&-1!=a.indexOf("link")?"link":a[0]:"none"}function p(){return y.remove(),l.removeClass("dndDragover"),!0}function v(n,t,a,r,d,l){return e(n)(i,{callback:o.callback,dropEffect:a,event:t,external:!o.isDragging,index:void 0!==d?d:D(),item:l||void 0,type:r})}function D(){return Array.prototype.indexOf.call(T.children,h)}var y=function(){var e
  return angular.forEach(l.children(),function(n){var t=angular.element(n)
  t.hasClass("dndPlaceholder")&&(e=t)}),e||angular.element("<li class='dndPlaceholder'></li>")}()
  y.remove()
  var h=y[0],T=l[0],b={}
  l.on("dragenter",function(e){e=e.originalEvent||e
  var n=f.dndAllowedTypes&&i.$eval(f.dndAllowedTypes)
  b={allowedTypes:angular.isArray(n)&&n.join("|").toLowerCase().split("|"),disabled:f.dndDisableIf&&i.$eval(f.dndDisableIf),externalSources:f.dndExternalSources&&i.$eval(f.dndExternalSources),horizontal:f.dndHorizontalList&&i.$eval(f.dndHorizontalList)}
  var t=c(e.dataTransfer.types)
  if(!t||!g(s(t)))return!0
  e.preventDefault()}),l.on("dragover",function(e){e=e.originalEvent||e
  var n=c(e.dataTransfer.types),t=s(n)
  if(!n||!g(t))return!0
  if(h.parentNode!=T&&l.append(y),e.target!=T){for(var a=e.target;a.parentNode!=T&&a.parentNode;)a=a.parentNode
  if(a.parentNode==T&&a!=h){var d=a.getBoundingClientRect()
  if(b.horizontal)var o=e.clientX<d.left+d.width/2
  else var o=e.clientY<d.top+d.height/2
  T.insertBefore(h,o?a:a.nextSibling)}}else{for(var a=null,i=0;i<T.childNodes.length;i++){var D=T.childNodes[i],d=D.getBoundingClientRect()
  if(b.horizontal){if(d.left>e.clientX){a=D
  break}}else if(d.top>e.clientY){a=D
  break}}D&&T.insertBefore(h,D)}var m=n==r,E=u(e,m)
  return"none"==E?p():f.dndDragover&&!v(f.dndDragover,e,E,t)?p():(e.preventDefault(),m||(e.dataTransfer.dropEffect=E),l.addClass("dndDragover"),e.stopPropagation(),!1)}),l.on("drop",function(e){e=e.originalEvent||e
  var n=c(e.dataTransfer.types),t=s(n)
  if(!n||!g(t))return!0
  e.preventDefault()
  try{var d=JSON.parse(e.dataTransfer.getData(n))}catch(e){return p()}if((n==r||n==a)&&(t=d.type||void 0,d=d.item,!g(t)))return p()
  var l=n==r,y=u(e,l)
  if("none"==y)return p()
  var h=D()
  return f.dndDrop&&!(d=v(f.dndDrop,e,y,t,h,d))?p():(o.dropEffect=y,l||(e.dataTransfer.dropEffect=y),!0!==d&&i.$apply(function(){i.$eval(f.dndList).splice(h,0,d)}),v(f.dndInserted,e,y,t,h,d),p(),e.stopPropagation(),!1)}),l.on("dragleave",function(e){e=e.originalEvent||e
  var n=document.elementFromPoint(e.clientX,e.clientY)
  e._dndPhShown||!T.contains(n)||n.getAttribute("dnd-list")?p():e._dndPhShown=!0})}}]),e.directive("dndNodrag",function(){return function(e,n,t){n.attr("draggable","true"),n.on("dragstart",function(e){e=e.originalEvent||e,e._dndHandle||(e.dataTransfer.types&&e.dataTransfer.types.length||e.preventDefault(),e.stopPropagation())}),n.on("dragend",function(e){e=e.originalEvent||e,e._dndHandle||e.stopPropagation()})}}),e.directive("dndHandle",function(){return function(e,n,t){n.attr("draggable","true"),n.on("dragstart dragend",function(e){e=e.originalEvent||e,e._dndHandle=!0})}})
  var o={}}(angular.module("dndLists",[]))
  