(x=>{var R,e,t,n,o={hintText:"Type in a search term",noResultsText:"No results",searchingText:"Searching...",deleteText:"×",searchDelay:500,minChars:1,tokenLimit:null,jsonContainer:null,method:"GET",contentType:"json",queryParam:"q",tokenDelimiter:",",preventDuplicates:!1,prePopulate:null,processPrePopulate:!1,makeSortable:!1,escapeHTML:!0,animateDropdown:!0,onResult:null,onAdd:null,onDelete:null,noCache:!1},O={tokenList:"autocomplete",sortable:"sortable",token:"added tag",tokenDelete:"delete",selectedToken:"selected",highlightedToken:"highlighted",dropdown:"autocomplete dropdown",dropdownItem:"even",dropdownItem2:"odd",selectedDropdownItem:"selected",inputToken:"input",insertBefore:"selected",insertAfter:"selected"},N=0,_=1,j=2;KeyboardEvent.prototype.hasOwnProperty("key")?(e=!0,R={BACKSPACE:"Backspace",TAB:"Tab",ENTER:"Enter",ESCAPE:"Escape",SPACE:" ",PAGE_UP:"PageUp",PAGE_DOWN:"PageDown",END:"End",HOME:"Home",LEFT:"ArrowLeft",UP:"ArrowUp",RIGHT:"ArrowRight",DOWN:"ArrowDown",DELETE:"Delete",NUMPAD_ENTER:"Enter",COMMA:","}):(R={BACKSPACE:8,TAB:9,ENTER:13,ESCAPE:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,DELETE:46,NUMPAD_ENTER:108,COMMA:188},Object.defineProperty(KeyboardEvent.prototype,"key",{configurable:!0,enumerable:!0,get:function(){return this.keyCode}})),e&&(e=KeyboardEvent.prototype,t=Object.getOwnPropertyDescriptor(e,"key"),n={Spacebar:" ",Esc:"Escape",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete"},Object.defineProperty(e,"key",{configurable:!0,enumerable:!0,get:function(){var e=t.get.call(this);return n.hasOwnProperty(e)?n[e]:e}})),x.fn.tokenInput=function(e,t){var n=x.extend({},o,t||{});return this.each(function(){new x.TokenList(this,e,n)})},x.TokenList=function(e,t,l){"string"==typeof t?(l.url=t,void 0===l.crossDomain&&(-1===l.url.indexOf("://")?l.crossDomain=!1:l.crossDomain=location.href.split(/\/+/g)[1]!==l.url.split(/\/+/g)[1])):"object"==typeof t&&(l.local_data=t),l.classes?l.classes=x.extend({},O,l.classes):l.theme?(l.classes={},x.each(O,function(e,t){l.classes[e]=t+"-"+l.theme})):l.classes=O;var a,i=[],s=0,r=new x.TokenList.Cache,t=x(e).attr("id"),c=(x('label[for="'+t+'"]').attr({for:t+"_autocomplete"}),x('').attr({id:t+"_autocomplete"}).focus(function(){(null===l.tokenLimit||s=l.minChars?setTimeout(function(){b()},5):l.hintText&&(g.html("

"+l.hintText+"

"),n()))}).blur(function(){D()}).keydown(function(e){var t,n,o;switch(e.key){case R.LEFT:case R.RIGHT:case R.UP:case R.DOWN:if(h&&!h.is(":hidden"))return e.key===R.LEFT||e.key===R.RIGHT||(o=null,(o=f?e.key===R.DOWN?x(f).next():x(f).prev():h).length?(P(o),x(g).scrollTo(x(o))):e.key===R.UP&&f&&A(x(f)),!1);d?(t=x(d).prev(),n=x(d).next(),e.key===R.LEFT||e.key===R.UP?C(x(d),N):C(x(d),_)):(t=k.prev(),n=k.next()),e.key!==R.LEFT&&e.key!==R.UP||!t.length?e.key!==R.RIGHT&&e.key!==R.DOWN||!n.length||E(x(n.get(0))):E(x(t.get(0)));break;case R.BACKSPACE:case R.DELETE:if(t=k.prev(),!x(this).val().length)return d?y(x(d)):t.length&&E(x(t.get(0))),!1;1===x(this).val().length?D():setTimeout(function(){b()},25);break;case R.COMMA:case R.TAB:case R.ENTER:case R.NUMPAD_ENTER:if(f){if(T(x(f)),A(x(f)),D(),e.keyCode===R.TAB&&l.tokenLimit&&l.tokenLimit===s)break;return!1}if(c.val()){if(x.each(c.val().split(l.tokenDelimiter),function(e,t){T(x.trim(t))}),D(),e.keyCode===R.TAB&&l.tokenLimit&&l.tokenLimit===s)break;return!1}break;case R.ESCAPE:return D(),!0;default:String.fromCharCode(e.which)&&setTimeout(function(){b()},25)}}).keyup(function(){x(this).val().length").addClass(l.classes.tokenList).click(function(e){e=x(e.target).closest("li");if(e&&e.get(0)&&x.data(e.get(0),"tokeninput")){var t=d;if(d){if(d===e.get(0))return void(e=>{D();var t=x.data(e.get(0),"tokeninput");y(e),c.val(t.id)})(e);C(x(d),j)}t===e.get(0)?C(e,j):E(e)}else d&&C(x(d),j),c.focus()}).mouseover(function(e){e=x(e.target).closest("li");e&&d!==this&&e.addClass(l.classes.highlightedToken)}).mouseout(function(e){e=x(e.target).closest("li");e&&d!==this&&e.removeClass(l.classes.highlightedToken)}).insertBefore(u),k=(l.makeSortable&&m.addClass(l.classes.sortable),x("
  • ").addClass(l.classes.inputToken).appendTo(m).append(c)),g=x("
    ").addClass(l.classes.dropdown).insertAfter(c).hide(),t=x(e).val()||l.prePopulate;function v(e,t){var n,o;0<=t.indexOf(l.tokenDelimiter)?x.each(t.split(l.tokenDelimiter),function(e,t){v(t,t)}):(n=x("
  • "+L(t)+"
  • ").addClass(l.classes.token).insertBefore(k),l.makeSortable,o=x("").addClass(l.classes.tokenDelete).appendTo(n).click(function(){return y(x(this).parent()),!1}),x(''+l.deleteText+"").attr("title","remove "+t).appendTo(o),o={id:e,name:t},x.data(n.get(0),"tokeninput",o),i=i.slice(0,p).concat([o]).concat(i.slice(p)),p++,e=x.map(i,function(e){return e.id}),u.val(e.join(l.tokenDelimiter)),s+=1)}function T(e){var n="string"===x.type(e)?{id:e,name:e}:x.data(e.get(0),"tokeninput"),e=(c.val(""),l.onAdd);if(0=l.tokenLimit?(c.parent().prev("li").find("a").focus(),c.hide(),clearTimeout(a)):c.focus(),D(),x.isFunction(e)&&e.call(u,n),c.change()}function E(e){e.addClass(l.classes.selectedToken),d=e.get(0),c.val(""),D()}function C(e,t){e.removeClass(l.classes.selectedToken),d=null,t===N?p--:t===_?p++:p=s,c.focus()}function y(e){var t=x.data(e.get(0),"tokeninput"),n=l.onDelete,o=e.prevAll().length,e=(p').appendTo(g).mouseover(function(e){P(x(e.target).closest("li"))}).mousedown(function(e){return T(x(e.target).closest("li")),!1}).hide(),x.each(e,function(e,t){var n,o=x('
  • '+(o=L(t.name),n=o,x.each(a.split(" "),function(e,t){t&&(t=t.replace(/([.?*+^$[\]\\(){}-])/g,"\\$1"),n=n.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+t+")(?![^<>]*>)(?![^&;]+;)","gi"),"$1"))}),n)+"
  • ").appendTo(i);e%2?o.addClass(l.classes.dropdownItem):o.addClass(l.classes.dropdownItem2),0===e&&(h=o),x.data(o.get(0),"tokeninput",{id:t.id,name:t.name})}),n(),l.animateDropdown?i.slideDown("fast"):i.show()):l.noResultsText&&(g.html("

    "+l.noResultsText+"

    "),n())}function P(e){e&&(f&&A(x(f)),e.addClass(l.classes.selectedDropdownItem),f=e.get(0))}function A(e){e.removeClass(l.classes.selectedDropdownItem),f=null}function L(e){return l.escapeHTML?x("

    ").text(e).html():e}function b(){var s=c.val().toLowerCase();(s&&s.length||0==l.minChars)&&(f&&A(x(f)),d&&C(x(d),_),0==l.minChars||s.length>=l.minChars?(l.searchingText&&(g.html("

    "+l.searchingText+"

    "),n()),clearTimeout(a),a=setTimeout(function(){var e,t,n,o,a,i=s;l.noCache||(e=r.get(i)),!l.noCache&&e?w(i,e):(a=i,l.url?(t=a,o={data:{}},-1=l.tokenLimit&&c.hide(),l.liveParams&&(e=l.liveParams.split("&"),x.each(e,function(e,t){var t=t.split("="),n="#"+t[1]+" input";0===x(n).size()&&(n="#"+t[1]),x(n).each(function(e,t){x(t).hasClass("autocomplete")&&(t=x(t).prev().find("input").first()),x(t).change(function(e){r.clear_data()})})}))},x.TokenList.Cache=function(e){function n(){a={},i=0}var o=x.extend({max_size:500},e),a={},i=0;this.clear_data=function(){n()},this.add=function(e,t){i>o.max_size&&n(),a[e]||(i+=1),a[e]=t},this.get=function(e){return a[e]}}})(jQuery);