{"version":3,"file":"select2.min.js","sources":["..\\..\\..\\..\\..\\..\\..\\web_root\\scripts\\formbuilder\\ext\\select2\\3.4.5\\select2.js"],"names":["$","fn","each2","extend","c","j","i","l","this","length","context","call","jQuery","undefined","getUrlParameters","parameters","url","window","location","href","retParams","indexOf","split","getMessageKeys","messageKeyPrefix","locale","urlParams","requestLocaleEEC","source","ajax","success","result","messageKeys","stripDiacritics","str","ret","charAt","DIACRITICS","value","array","equal","measureScrollbar","$template","MEASURE_SCROLLBAR_TEMPLATE","appendTo","dim","width","clientWidth","height","clientHeight","remove","a","b","constructor","String","splitVal","string","separator","val","trim","getSideBorderPadding","element","outerWidth","installKeyUpChangeEvent","key","on","data","removeData","trigger","installFilteredMouseMove","e","lastpos","lastMousePosition","x","pageX","y","pageY","target","debounce","quietMillis","ctx","timeout","args","arguments","clearTimeout","setTimeout","apply","thunk","formula","evaluated","installDebouncedScroll","threshold","notify","get","focus","$el","document","activeElement","range","el","pos","is","setSelectionRange","createTextRange","collapse","select","getCursorInfo","offset","selectionStart","selectionEnd","sel","selection","createRange","text","moveStart","killEvent","event","preventDefault","stopPropagation","killEventImmediately","stopImmediatePropagation","measureTextWidth","sizer","style","currentStyle","getComputedStyle","createElement","css","position","left","top","display","fontSize","fontFamily","fontStyle","fontWeight","letterSpacing","textTransform","whiteSpace","attr","append","syncCssClasses","dest","src","adapter","classes","adapted","replacements","push","join","markMatch","term","markup","escapeMarkup","match","toUpperCase","tl","substring","defaultEscapeMarkup","replace_map","\\","&","<",">","\"","'","/","replace","options","handler","ajaxUrl","self","query","transport","select2","ajaxDefaults","deprecated","type","cache","jsonpCallback","dataType","params","page","abort","isFunction","results","callback","local","dataText","tmp","item","isArray","dataItem","process","t","filtered","datum","collection","group","children","hasOwnProperty","childDatum","matcher","tags","isFunc","each","isObject","id","checkFormatter","formatter","formatterName","Error","evaluate","countResults","count","defaultTokenizer","input","selectCallback","opts","token","index","original","dupe","createSearchChoice","tokenSeparators","clazz","SuperClass","methods","prototype","parent","Select2","KEY","AbstractSelect2","SingleSelect2","MultiSelect2","nextUid","$document","scrollBarDimensions","TAB","ENTER","ESC","SPACE","LEFT","UP","RIGHT","DOWN","SHIFT","CTRL","ALT","PAGE_UP","PAGE_DOWN","HOME","END","BACKSPACE","DELETE","isArrow","k","which","isControl","metaKey","isFunctionKey","Ⓐ","A","À","Á","Â","Ầ","Ấ","Ẫ","Ẩ","Ã","Ā","Ă","Ằ","Ắ","Ẵ","Ẳ","Ȧ","Ǡ","Ä","Ǟ","Ả","Å","Ǻ","Ǎ","Ȁ","Ȃ","Ạ","Ậ","Ặ","Ḁ","Ą","Ⱥ","Ɐ","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ⓑ","B","Ḃ","Ḅ","Ḇ","Ƀ","Ƃ","Ɓ","Ⓒ","C","Ć","Ĉ","Ċ","Č","Ç","Ḉ","Ƈ","Ȼ","Ꜿ","Ⓓ","D","Ḋ","Ď","Ḍ","Ḑ","Ḓ","Ḏ","Đ","Ƌ","Ɗ","Ɖ","Ꝺ","DZ","DŽ","Dz","Dž","Ⓔ","E","È","É","Ê","Ề","Ế","Ễ","Ể","Ẽ","Ē","Ḕ","Ḗ","Ĕ","Ė","Ë","Ẻ","Ě","Ȅ","Ȇ","Ẹ","Ệ","Ȩ","Ḝ","Ę","Ḙ","Ḛ","Ɛ","Ǝ","Ⓕ","F","Ḟ","Ƒ","Ꝼ","Ⓖ","G","Ǵ","Ĝ","Ḡ","Ğ","Ġ","Ǧ","Ģ","Ǥ","Ɠ","Ꞡ","Ᵹ","Ꝿ","Ⓗ","H","Ĥ","Ḣ","Ḧ","Ȟ","Ḥ","Ḩ","Ḫ","Ħ","Ⱨ","Ⱶ","Ɥ","Ⓘ","I","Ì","Í","Î","Ĩ","Ī","Ĭ","İ","Ï","Ḯ","Ỉ","Ǐ","Ȉ","Ȋ","Ị","Į","Ḭ","Ɨ","Ⓙ","J","Ĵ","Ɉ","Ⓚ","K","Ḱ","Ǩ","Ḳ","Ķ","Ḵ","Ƙ","Ⱪ","Ꝁ","Ꝃ","Ꝅ","Ꞣ","Ⓛ","L","Ŀ","Ĺ","Ľ","Ḷ","Ḹ","Ļ","Ḽ","Ḻ","Ł","Ƚ","Ɫ","Ⱡ","Ꝉ","Ꝇ","Ꞁ","LJ","Lj","Ⓜ","M","Ḿ","Ṁ","Ṃ","Ɱ","Ɯ","Ⓝ","N","Ǹ","Ń","Ñ","Ṅ","Ň","Ṇ","Ņ","Ṋ","Ṉ","Ƞ","Ɲ","Ꞑ","Ꞥ","NJ","Nj","Ⓞ","O","Ò","Ó","Ô","Ồ","Ố","Ỗ","Ổ","Õ","Ṍ","Ȭ","Ṏ","Ō","Ṑ","Ṓ","Ŏ","Ȯ","Ȱ","Ö","Ȫ","Ỏ","Ő","Ǒ","Ȍ","Ȏ","Ơ","Ờ","Ớ","Ỡ","Ở","Ợ","Ọ","Ộ","Ǫ","Ǭ","Ø","Ǿ","Ɔ","Ɵ","Ꝋ","Ꝍ","Ƣ","Ꝏ","Ȣ","Ⓟ","P","Ṕ","Ṗ","Ƥ","Ᵽ","Ꝑ","Ꝓ","Ꝕ","Ⓠ","Q","Ꝗ","Ꝙ","Ɋ","Ⓡ","R","Ŕ","Ṙ","Ř","Ȑ","Ȓ","Ṛ","Ṝ","Ŗ","Ṟ","Ɍ","Ɽ","Ꝛ","Ꞧ","Ꞃ","Ⓢ","S","ẞ","Ś","Ṥ","Ŝ","Ṡ","Š","Ṧ","Ṣ","Ṩ","Ș","Ş","Ȿ","Ꞩ","Ꞅ","Ⓣ","T","Ṫ","Ť","Ṭ","Ț","Ţ","Ṱ","Ṯ","Ŧ","Ƭ","Ʈ","Ⱦ","Ꞇ","Ꜩ","Ⓤ","U","Ù","Ú","Û","Ũ","Ṹ","Ū","Ṻ","Ŭ","Ü","Ǜ","Ǘ","Ǖ","Ǚ","Ủ","Ů","Ű","Ǔ","Ȕ","Ȗ","Ư","Ừ","Ứ","Ữ","Ử","Ự","Ụ","Ṳ","Ų","Ṷ","Ṵ","Ʉ","Ⓥ","V","Ṽ","Ṿ","Ʋ","Ꝟ","Ʌ","Ꝡ","Ⓦ","W","Ẁ","Ẃ","Ŵ","Ẇ","Ẅ","Ẉ","Ⱳ","Ⓧ","X","Ẋ","Ẍ","Ⓨ","Y","Ỳ","Ý","Ŷ","Ỹ","Ȳ","Ẏ","Ÿ","Ỷ","Ỵ","Ƴ","Ɏ","Ỿ","Ⓩ","Z","Ź","Ẑ","Ż","Ž","Ẓ","Ẕ","Ƶ","Ȥ","Ɀ","Ⱬ","Ꝣ","ⓐ","a","ẚ","à","á","â","ầ","ấ","ẫ","ẩ","ã","ā","ă","ằ","ắ","ẵ","ẳ","ȧ","ǡ","ä","ǟ","ả","å","ǻ","ǎ","ȁ","ȃ","ạ","ậ","ặ","ḁ","ą","ⱥ","ɐ","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ⓑ","b","ḃ","ḅ","ḇ","ƀ","ƃ","ɓ","ⓒ","c","ć","ĉ","ċ","č","ç","ḉ","ƈ","ȼ","ꜿ","ↄ","ⓓ","d","ḋ","ď","ḍ","ḑ","ḓ","ḏ","đ","ƌ","ɖ","ɗ","ꝺ","dz","dž","ⓔ","e","è","é","ê","ề","ế","ễ","ể","ẽ","ē","ḕ","ḗ","ĕ","ė","ë","ẻ","ě","ȅ","ȇ","ẹ","ệ","ȩ","ḝ","ę","ḙ","ḛ","ɇ","ɛ","ǝ","ⓕ","f","ḟ","ƒ","ꝼ","ⓖ","g","ǵ","ĝ","ḡ","ğ","ġ","ǧ","ģ","ǥ","ɠ","ꞡ","ᵹ","ꝿ","ⓗ","h","ĥ","ḣ","ḧ","ȟ","ḥ","ḩ","ḫ","ẖ","ħ","ⱨ","ⱶ","ɥ","ƕ","ⓘ","i","ì","í","î","ĩ","ī","ĭ","ï","ḯ","ỉ","ǐ","ȉ","ȋ","ị","į","ḭ","ɨ","ı","ⓙ","j","ĵ","ǰ","ɉ","ⓚ","k","ḱ","ǩ","ḳ","ķ","ḵ","ƙ","ⱪ","ꝁ","ꝃ","ꝅ","ꞣ","ⓛ","l","ŀ","ĺ","ľ","ḷ","ḹ","ļ","ḽ","ḻ","ſ","ł","ƚ","ɫ","ⱡ","ꝉ","ꞁ","ꝇ","lj","ⓜ","m","ḿ","ṁ","ṃ","ɱ","ɯ","ⓝ","n","ǹ","ń","ñ","ṅ","ň","ṇ","ņ","ṋ","ṉ","ƞ","ɲ","ʼn","ꞑ","ꞥ","nj","ⓞ","o","ò","ó","ô","ồ","ố","ỗ","ổ","õ","ṍ","ȭ","ṏ","ō","ṑ","ṓ","ŏ","ȯ","ȱ","ö","ȫ","ỏ","ő","ǒ","ȍ","ȏ","ơ","ờ","ớ","ỡ","ở","ợ","ọ","ộ","ǫ","ǭ","ø","ǿ","ɔ","ꝋ","ꝍ","ɵ","ƣ","ȣ","ꝏ","ⓟ","p","ṕ","ṗ","ƥ","ᵽ","ꝑ","ꝓ","ꝕ","ⓠ","q","ɋ","ꝗ","ꝙ","ⓡ","r","ŕ","ṙ","ř","ȑ","ȓ","ṛ","ṝ","ŗ","ṟ","ɍ","ɽ","ꝛ","ꞧ","ꞃ","ⓢ","s","ß","ś","ṥ","ŝ","ṡ","š","ṧ","ṣ","ṩ","ș","ş","ȿ","ꞩ","ꞅ","ẛ","ⓣ","t","ṫ","ẗ","ť","ṭ","ț","ţ","ṱ","ṯ","ŧ","ƭ","ʈ","ⱦ","ꞇ","ꜩ","ⓤ","u","ù","ú","û","ũ","ṹ","ū","ṻ","ŭ","ü","ǜ","ǘ","ǖ","ǚ","ủ","ů","ű","ǔ","ȕ","ȗ","ư","ừ","ứ","ữ","ử","ự","ụ","ṳ","ų","ṷ","ṵ","ʉ","ⓥ","v","ṽ","ṿ","ʋ","ꝟ","ʌ","ꝡ","ⓦ","w","ẁ","ẃ","ŵ","ẇ","ẅ","ẘ","ẉ","ⱳ","ⓧ","x","ẋ","ẍ","ⓨ","y","ỳ","ý","ŷ","ỹ","ȳ","ẏ","ÿ","ỷ","ẙ","ỵ","ƴ","ɏ","ỿ","ⓩ","z","ź","ẑ","ż","ž","ẓ","ẕ","ƶ","ȥ","ɀ","ⱬ","ꝣ","counter","isi18nEnabledAdminTeacher","Object","bind","func","init","search","resultsSelector","prepareOpts","destroy","container","createContainer","containerId","containerSelector","body","closest","adaptContainerCssClass","containerCss","addClass","containerCssClass","elementTabIndex","before","dropdown","find","adaptDropdownCssClass","dropdownCssClass","queryCount","resultsPage","initContainer","highlightUnderEvent","loadMoreIfNeeded","mousewheel","delta","deltaX","deltaY","scrollTop","scrollHeight","updateResults","removeClass","selectHighlighted","initSelection","monitorSource","maximumInputLength","disabled","prop","enable","readonly","autofocus","nextSearchTerm","close","propertyObserver","off","tabindex","removeAttr","show","optionToData","locked","idKey","tagName","toLowerCase","populateResults","populate","depth","selectable","compound","node","label","innerContainer","formatted","sortResults","formatResultCssClass","formatResult","html","defaults","placeholderOption","more","elm","getPlaceholder","getPlaceholderOption","not","obj","sync","observer","mutationCallback","mutations","forEach","MutationObserver","WebKitMutationObserver","MozMutationObserver","observe","attributes","subtree","triggerSelect","evt","Event","object","isDefaultPrevented","triggerChange","details","click","blurOnChange","blur","isInterfaceEnabled","enabledInterface","enableInterface","enabled","_enabled","_readonly","toggleClass","disable","opened","hasClass","positionDropdown","bodyOffset","above","changeDirection","resultsListNode","$dropdown","outerHeight","dropHeight","$window","windowWidth","windowHeight","viewPortRight","scrollLeft","viewportBottom","dropTop","dropLeft","portal","isRTL","navigator","userAgent","frames","enoughRoomBelow","enoughRoomAbove","dropWidth","enoughRoomOnRight","aboveNow","hide","dropdownAutoWidth","right","bottom","dropdownCss","shouldOpen","clearDropdownAlignmentPreference","open","opening","mask","cid","scroll","resize","orient","last","detach","selectOnBlur","noFocus","prev","that","parents","add","empty","clearSearch","externalSearch","getMaximumSelectionSize","maximumSelectionSize","ensureHighlightVisible","child","hb","rb","highlight","findHighlightableChoices","moveHighlight","choices","choice","filter","removeHighlight","countSelectableResults","below","loadMorePadding","postprocessResults","formatLoadMore","items","tokenize","initial","postRender","render","queryNumber","lastTerm","showSearchInput","maxSelSize","formatSelectionTooBig","minimumInputLength","formatInputTooShort","showSearch","formatInputTooLong","formatSearching","def","unshift","formatNoMatches","cancel","focusSearch","highlighted","onSelect","placeholder","firstOption","first","initContainerWidth","resolveContainerWidth","attrs","matches","class","focusser","len","minimumResultsForSearch","isFocused","openOnEnter","altKey","ctrlKey","shiftKey","allowClear","clear","setPlaceholder","removed","isPlaceholderOptionSelected","updateSelection","selected","is_match","noop","noHighlightUpdate","min","old","oldData","added","cssClass","formatSelection","formatSelectionCssClass","ids","grep","ordered","splice","selectChoice","selector","searchContainer","_this","keydowns","next","selectedChoice","unselect","resizeSearch","clearPlaceholder","maxWidth","getMaxSearchWidth","getVal","addSelectedChoice","tokenizer","closeOnSelect","enableChoice","enabledItem","disabledItem","replaceWith","fadeOut","dequeue","insertBefore","setVal","minimumWidth","containerLeft","searchWidth","sideBorderPadding","Math","floor","unique","buildChangeDetails","current","slice","map","onSortStart","onSortEnd","values","method","multiple","Array","allowedMethods","valueMethods","propertyMethods","methodsMap","isi18nEnabledGuardian","n","inputTooLongMsg","max","limit","selectionTooBigMsg","pageNumber","selectedObject","currentSearchTerm","util","abstract","single","multi"],"mappings":"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,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,KAAKC,IAAS,KAAKC,IAAS,KAAKC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC,IAAS,IAAIC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","sourcesContent":["/*\r\nCopyright 2012 Igor Vaynberg\r\n\r\nVersion: 3.4.5 Timestamp: Mon Nov 4 08:22:42 PST 2013\r\n\r\nThis software is licensed under the Apache License, Version 2.0 (the \"Apache License\") or the GNU\r\nGeneral Public License version 2 (the \"GPL License\"). You may choose either license to govern your\r\nuse of this software only upon the condition that you accept all of the terms of either the Apache\r\nLicense or the GPL License.\r\n\r\nYou may obtain a copy of the Apache License and the GPL License at:\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n http://www.gnu.org/licenses/gpl-2.0.html\r\n\r\nUnless required by applicable law or agreed to in writing, software distributed under the\r\nApache License or the GPL Licesnse is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\r\nCONDITIONS OF ANY KIND, either express or implied. See the Apache License and the GPL License for\r\nthe specific language governing permissions and limitations under the Apache License and the GPL License.\r\n*/\r\n(function ($) {\r\n if(typeof $.fn.each2 == \"undefined\") {\r\n $.extend($.fn, {\r\n /*\r\n * 4-10 times faster .each replacement\r\n * use it carefully, as it overrides jQuery context of element on each iteration\r\n */\r\n each2 : function (c) {\r\n var j = $([0]), i = -1, l = this.length;\r\n while (\r\n ++i < l\r\n && (j.context = j[0] = this[i])\r\n && c.call(j[0], i, j) !== false //\"this\"=DOM, i=index, j=jQuery object\r\n );\r\n return this;\r\n }\r\n });\r\n }\r\n})(jQuery);\r\n\r\n(function ($, undefined) {\r\n \"use strict\";\r\n /*global document, window, jQuery, console */\r\n var messageKeys= {};\r\n\r\n if (window.Select2 !== undefined) {\r\n return;\r\n }\r\n\r\n var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,\r\n lastMousePosition={x:0,y:0}, $document, scrollBarDimensions,\r\n\r\n KEY = {\r\n TAB: 9,\r\n ENTER: 13,\r\n ESC: 27,\r\n SPACE: 32,\r\n LEFT: 37,\r\n UP: 38,\r\n RIGHT: 39,\r\n DOWN: 40,\r\n SHIFT: 16,\r\n CTRL: 17,\r\n ALT: 18,\r\n PAGE_UP: 33,\r\n PAGE_DOWN: 34,\r\n HOME: 36,\r\n END: 35,\r\n BACKSPACE: 8,\r\n DELETE: 46,\r\n isArrow: function (k) {\r\n k = k.which ? k.which : k;\r\n switch (k) {\r\n case KEY.LEFT:\r\n case KEY.RIGHT:\r\n case KEY.UP:\r\n case KEY.DOWN:\r\n return true;\r\n }\r\n return false;\r\n },\r\n isControl: function (e) {\r\n var k = e.which;\r\n switch (k) {\r\n case KEY.SHIFT:\r\n case KEY.CTRL:\r\n case KEY.ALT:\r\n return true;\r\n }\r\n\r\n if (e.metaKey) return true;\r\n\r\n return false;\r\n },\r\n isFunctionKey: function (k) {\r\n k = k.which ? k.which : k;\r\n return k >= 112 && k <= 123;\r\n }\r\n },\r\n MEASURE_SCROLLBAR_TEMPLATE = \"
\",\r\n\r\n DIACRITICS = {\"\\u24B6\":\"A\",\"\\uFF21\":\"A\",\"\\u00C0\":\"A\",\"\\u00C1\":\"A\",\"\\u00C2\":\"A\",\"\\u1EA6\":\"A\",\"\\u1EA4\":\"A\",\"\\u1EAA\":\"A\",\"\\u1EA8\":\"A\",\"\\u00C3\":\"A\",\"\\u0100\":\"A\",\"\\u0102\":\"A\",\"\\u1EB0\":\"A\",\"\\u1EAE\":\"A\",\"\\u1EB4\":\"A\",\"\\u1EB2\":\"A\",\"\\u0226\":\"A\",\"\\u01E0\":\"A\",\"\\u00C4\":\"A\",\"\\u01DE\":\"A\",\"\\u1EA2\":\"A\",\"\\u00C5\":\"A\",\"\\u01FA\":\"A\",\"\\u01CD\":\"A\",\"\\u0200\":\"A\",\"\\u0202\":\"A\",\"\\u1EA0\":\"A\",\"\\u1EAC\":\"A\",\"\\u1EB6\":\"A\",\"\\u1E00\":\"A\",\"\\u0104\":\"A\",\"\\u023A\":\"A\",\"\\u2C6F\":\"A\",\"\\uA732\":\"AA\",\"\\u00C6\":\"AE\",\"\\u01FC\":\"AE\",\"\\u01E2\":\"AE\",\"\\uA734\":\"AO\",\"\\uA736\":\"AU\",\"\\uA738\":\"AV\",\"\\uA73A\":\"AV\",\"\\uA73C\":\"AY\",\"\\u24B7\":\"B\",\"\\uFF22\":\"B\",\"\\u1E02\":\"B\",\"\\u1E04\":\"B\",\"\\u1E06\":\"B\",\"\\u0243\":\"B\",\"\\u0182\":\"B\",\"\\u0181\":\"B\",\"\\u24B8\":\"C\",\"\\uFF23\":\"C\",\"\\u0106\":\"C\",\"\\u0108\":\"C\",\"\\u010A\":\"C\",\"\\u010C\":\"C\",\"\\u00C7\":\"C\",\"\\u1E08\":\"C\",\"\\u0187\":\"C\",\"\\u023B\":\"C\",\"\\uA73E\":\"C\",\"\\u24B9\":\"D\",\"\\uFF24\":\"D\",\"\\u1E0A\":\"D\",\"\\u010E\":\"D\",\"\\u1E0C\":\"D\",\"\\u1E10\":\"D\",\"\\u1E12\":\"D\",\"\\u1E0E\":\"D\",\"\\u0110\":\"D\",\"\\u018B\":\"D\",\"\\u018A\":\"D\",\"\\u0189\":\"D\",\"\\uA779\":\"D\",\"\\u01F1\":\"DZ\",\"\\u01C4\":\"DZ\",\"\\u01F2\":\"Dz\",\"\\u01C5\":\"Dz\",\"\\u24BA\":\"E\",\"\\uFF25\":\"E\",\"\\u00C8\":\"E\",\"\\u00C9\":\"E\",\"\\u00CA\":\"E\",\"\\u1EC0\":\"E\",\"\\u1EBE\":\"E\",\"\\u1EC4\":\"E\",\"\\u1EC2\":\"E\",\"\\u1EBC\":\"E\",\"\\u0112\":\"E\",\"\\u1E14\":\"E\",\"\\u1E16\":\"E\",\"\\u0114\":\"E\",\"\\u0116\":\"E\",\"\\u00CB\":\"E\",\"\\u1EBA\":\"E\",\"\\u011A\":\"E\",\"\\u0204\":\"E\",\"\\u0206\":\"E\",\"\\u1EB8\":\"E\",\"\\u1EC6\":\"E\",\"\\u0228\":\"E\",\"\\u1E1C\":\"E\",\"\\u0118\":\"E\",\"\\u1E18\":\"E\",\"\\u1E1A\":\"E\",\"\\u0190\":\"E\",\"\\u018E\":\"E\",\"\\u24BB\":\"F\",\"\\uFF26\":\"F\",\"\\u1E1E\":\"F\",\"\\u0191\":\"F\",\"\\uA77B\":\"F\",\"\\u24BC\":\"G\",\"\\uFF27\":\"G\",\"\\u01F4\":\"G\",\"\\u011C\":\"G\",\"\\u1E20\":\"G\",\"\\u011E\":\"G\",\"\\u0120\":\"G\",\"\\u01E6\":\"G\",\"\\u0122\":\"G\",\"\\u01E4\":\"G\",\"\\u0193\":\"G\",\"\\uA7A0\":\"G\",\"\\uA77D\":\"G\",\"\\uA77E\":\"G\",\"\\u24BD\":\"H\",\"\\uFF28\":\"H\",\"\\u0124\":\"H\",\"\\u1E22\":\"H\",\"\\u1E26\":\"H\",\"\\u021E\":\"H\",\"\\u1E24\":\"H\",\"\\u1E28\":\"H\",\"\\u1E2A\":\"H\",\"\\u0126\":\"H\",\"\\u2C67\":\"H\",\"\\u2C75\":\"H\",\"\\uA78D\":\"H\",\"\\u24BE\":\"I\",\"\\uFF29\":\"I\",\"\\u00CC\":\"I\",\"\\u00CD\":\"I\",\"\\u00CE\":\"I\",\"\\u0128\":\"I\",\"\\u012A\":\"I\",\"\\u012C\":\"I\",\"\\u0130\":\"I\",\"\\u00CF\":\"I\",\"\\u1E2E\":\"I\",\"\\u1EC8\":\"I\",\"\\u01CF\":\"I\",\"\\u0208\":\"I\",\"\\u020A\":\"I\",\"\\u1ECA\":\"I\",\"\\u012E\":\"I\",\"\\u1E2C\":\"I\",\"\\u0197\":\"I\",\"\\u24BF\":\"J\",\"\\uFF2A\":\"J\",\"\\u0134\":\"J\",\"\\u0248\":\"J\",\"\\u24C0\":\"K\",\"\\uFF2B\":\"K\",\"\\u1E30\":\"K\",\"\\u01E8\":\"K\",\"\\u1E32\":\"K\",\"\\u0136\":\"K\",\"\\u1E34\":\"K\",\"\\u0198\":\"K\",\"\\u2C69\":\"K\",\"\\uA740\":\"K\",\"\\uA742\":\"K\",\"\\uA744\":\"K\",\"\\uA7A2\":\"K\",\"\\u24C1\":\"L\",\"\\uFF2C\":\"L\",\"\\u013F\":\"L\",\"\\u0139\":\"L\",\"\\u013D\":\"L\",\"\\u1E36\":\"L\",\"\\u1E38\":\"L\",\"\\u013B\":\"L\",\"\\u1E3C\":\"L\",\"\\u1E3A\":\"L\",\"\\u0141\":\"L\",\"\\u023D\":\"L\",\"\\u2C62\":\"L\",\"\\u2C60\":\"L\",\"\\uA748\":\"L\",\"\\uA746\":\"L\",\"\\uA780\":\"L\",\"\\u01C7\":\"LJ\",\"\\u01C8\":\"Lj\",\"\\u24C2\":\"M\",\"\\uFF2D\":\"M\",\"\\u1E3E\":\"M\",\"\\u1E40\":\"M\",\"\\u1E42\":\"M\",\"\\u2C6E\":\"M\",\"\\u019C\":\"M\",\"\\u24C3\":\"N\",\"\\uFF2E\":\"N\",\"\\u01F8\":\"N\",\"\\u0143\":\"N\",\"\\u00D1\":\"N\",\"\\u1E44\":\"N\",\"\\u0147\":\"N\",\"\\u1E46\":\"N\",\"\\u0145\":\"N\",\"\\u1E4A\":\"N\",\"\\u1E48\":\"N\",\"\\u0220\":\"N\",\"\\u019D\":\"N\",\"\\uA790\":\"N\",\"\\uA7A4\":\"N\",\"\\u01CA\":\"NJ\",\"\\u01CB\":\"Nj\",\"\\u24C4\":\"O\",\"\\uFF2F\":\"O\",\"\\u00D2\":\"O\",\"\\u00D3\":\"O\",\"\\u00D4\":\"O\",\"\\u1ED2\":\"O\",\"\\u1ED0\":\"O\",\"\\u1ED6\":\"O\",\"\\u1ED4\":\"O\",\"\\u00D5\":\"O\",\"\\u1E4C\":\"O\",\"\\u022C\":\"O\",\"\\u1E4E\":\"O\",\"\\u014C\":\"O\",\"\\u1E50\":\"O\",\"\\u1E52\":\"O\",\"\\u014E\":\"O\",\"\\u022E\":\"O\",\"\\u0230\":\"O\",\"\\u00D6\":\"O\",\"\\u022A\":\"O\",\"\\u1ECE\":\"O\",\"\\u0150\":\"O\",\"\\u01D1\":\"O\",\"\\u020C\":\"O\",\"\\u020E\":\"O\",\"\\u01A0\":\"O\",\"\\u1EDC\":\"O\",\"\\u1EDA\":\"O\",\"\\u1EE0\":\"O\",\"\\u1EDE\":\"O\",\"\\u1EE2\":\"O\",\"\\u1ECC\":\"O\",\"\\u1ED8\":\"O\",\"\\u01EA\":\"O\",\"\\u01EC\":\"O\",\"\\u00D8\":\"O\",\"\\u01FE\":\"O\",\"\\u0186\":\"O\",\"\\u019F\":\"O\",\"\\uA74A\":\"O\",\"\\uA74C\":\"O\",\"\\u01A2\":\"OI\",\"\\uA74E\":\"OO\",\"\\u0222\":\"OU\",\"\\u24C5\":\"P\",\"\\uFF30\":\"P\",\"\\u1E54\":\"P\",\"\\u1E56\":\"P\",\"\\u01A4\":\"P\",\"\\u2C63\":\"P\",\"\\uA750\":\"P\",\"\\uA752\":\"P\",\"\\uA754\":\"P\",\"\\u24C6\":\"Q\",\"\\uFF31\":\"Q\",\"\\uA756\":\"Q\",\"\\uA758\":\"Q\",\"\\u024A\":\"Q\",\"\\u24C7\":\"R\",\"\\uFF32\":\"R\",\"\\u0154\":\"R\",\"\\u1E58\":\"R\",\"\\u0158\":\"R\",\"\\u0210\":\"R\",\"\\u0212\":\"R\",\"\\u1E5A\":\"R\",\"\\u1E5C\":\"R\",\"\\u0156\":\"R\",\"\\u1E5E\":\"R\",\"\\u024C\":\"R\",\"\\u2C64\":\"R\",\"\\uA75A\":\"R\",\"\\uA7A6\":\"R\",\"\\uA782\":\"R\",\"\\u24C8\":\"S\",\"\\uFF33\":\"S\",\"\\u1E9E\":\"S\",\"\\u015A\":\"S\",\"\\u1E64\":\"S\",\"\\u015C\":\"S\",\"\\u1E60\":\"S\",\"\\u0160\":\"S\",\"\\u1E66\":\"S\",\"\\u1E62\":\"S\",\"\\u1E68\":\"S\",\"\\u0218\":\"S\",\"\\u015E\":\"S\",\"\\u2C7E\":\"S\",\"\\uA7A8\":\"S\",\"\\uA784\":\"S\",\"\\u24C9\":\"T\",\"\\uFF34\":\"T\",\"\\u1E6A\":\"T\",\"\\u0164\":\"T\",\"\\u1E6C\":\"T\",\"\\u021A\":\"T\",\"\\u0162\":\"T\",\"\\u1E70\":\"T\",\"\\u1E6E\":\"T\",\"\\u0166\":\"T\",\"\\u01AC\":\"T\",\"\\u01AE\":\"T\",\"\\u023E\":\"T\",\"\\uA786\":\"T\",\"\\uA728\":\"TZ\",\"\\u24CA\":\"U\",\"\\uFF35\":\"U\",\"\\u00D9\":\"U\",\"\\u00DA\":\"U\",\"\\u00DB\":\"U\",\"\\u0168\":\"U\",\"\\u1E78\":\"U\",\"\\u016A\":\"U\",\"\\u1E7A\":\"U\",\"\\u016C\":\"U\",\"\\u00DC\":\"U\",\"\\u01DB\":\"U\",\"\\u01D7\":\"U\",\"\\u01D5\":\"U\",\"\\u01D9\":\"U\",\"\\u1EE6\":\"U\",\"\\u016E\":\"U\",\"\\u0170\":\"U\",\"\\u01D3\":\"U\",\"\\u0214\":\"U\",\"\\u0216\":\"U\",\"\\u01AF\":\"U\",\"\\u1EEA\":\"U\",\"\\u1EE8\":\"U\",\"\\u1EEE\":\"U\",\"\\u1EEC\":\"U\",\"\\u1EF0\":\"U\",\"\\u1EE4\":\"U\",\"\\u1E72\":\"U\",\"\\u0172\":\"U\",\"\\u1E76\":\"U\",\"\\u1E74\":\"U\",\"\\u0244\":\"U\",\"\\u24CB\":\"V\",\"\\uFF36\":\"V\",\"\\u1E7C\":\"V\",\"\\u1E7E\":\"V\",\"\\u01B2\":\"V\",\"\\uA75E\":\"V\",\"\\u0245\":\"V\",\"\\uA760\":\"VY\",\"\\u24CC\":\"W\",\"\\uFF37\":\"W\",\"\\u1E80\":\"W\",\"\\u1E82\":\"W\",\"\\u0174\":\"W\",\"\\u1E86\":\"W\",\"\\u1E84\":\"W\",\"\\u1E88\":\"W\",\"\\u2C72\":\"W\",\"\\u24CD\":\"X\",\"\\uFF38\":\"X\",\"\\u1E8A\":\"X\",\"\\u1E8C\":\"X\",\"\\u24CE\":\"Y\",\"\\uFF39\":\"Y\",\"\\u1EF2\":\"Y\",\"\\u00DD\":\"Y\",\"\\u0176\":\"Y\",\"\\u1EF8\":\"Y\",\"\\u0232\":\"Y\",\"\\u1E8E\":\"Y\",\"\\u0178\":\"Y\",\"\\u1EF6\":\"Y\",\"\\u1EF4\":\"Y\",\"\\u01B3\":\"Y\",\"\\u024E\":\"Y\",\"\\u1EFE\":\"Y\",\"\\u24CF\":\"Z\",\"\\uFF3A\":\"Z\",\"\\u0179\":\"Z\",\"\\u1E90\":\"Z\",\"\\u017B\":\"Z\",\"\\u017D\":\"Z\",\"\\u1E92\":\"Z\",\"\\u1E94\":\"Z\",\"\\u01B5\":\"Z\",\"\\u0224\":\"Z\",\"\\u2C7F\":\"Z\",\"\\u2C6B\":\"Z\",\"\\uA762\":\"Z\",\"\\u24D0\":\"a\",\"\\uFF41\":\"a\",\"\\u1E9A\":\"a\",\"\\u00E0\":\"a\",\"\\u00E1\":\"a\",\"\\u00E2\":\"a\",\"\\u1EA7\":\"a\",\"\\u1EA5\":\"a\",\"\\u1EAB\":\"a\",\"\\u1EA9\":\"a\",\"\\u00E3\":\"a\",\"\\u0101\":\"a\",\"\\u0103\":\"a\",\"\\u1EB1\":\"a\",\"\\u1EAF\":\"a\",\"\\u1EB5\":\"a\",\"\\u1EB3\":\"a\",\"\\u0227\":\"a\",\"\\u01E1\":\"a\",\"\\u00E4\":\"a\",\"\\u01DF\":\"a\",\"\\u1EA3\":\"a\",\"\\u00E5\":\"a\",\"\\u01FB\":\"a\",\"\\u01CE\":\"a\",\"\\u0201\":\"a\",\"\\u0203\":\"a\",\"\\u1EA1\":\"a\",\"\\u1EAD\":\"a\",\"\\u1EB7\":\"a\",\"\\u1E01\":\"a\",\"\\u0105\":\"a\",\"\\u2C65\":\"a\",\"\\u0250\":\"a\",\"\\uA733\":\"aa\",\"\\u00E6\":\"ae\",\"\\u01FD\":\"ae\",\"\\u01E3\":\"ae\",\"\\uA735\":\"ao\",\"\\uA737\":\"au\",\"\\uA739\":\"av\",\"\\uA73B\":\"av\",\"\\uA73D\":\"ay\",\"\\u24D1\":\"b\",\"\\uFF42\":\"b\",\"\\u1E03\":\"b\",\"\\u1E05\":\"b\",\"\\u1E07\":\"b\",\"\\u0180\":\"b\",\"\\u0183\":\"b\",\"\\u0253\":\"b\",\"\\u24D2\":\"c\",\"\\uFF43\":\"c\",\"\\u0107\":\"c\",\"\\u0109\":\"c\",\"\\u010B\":\"c\",\"\\u010D\":\"c\",\"\\u00E7\":\"c\",\"\\u1E09\":\"c\",\"\\u0188\":\"c\",\"\\u023C\":\"c\",\"\\uA73F\":\"c\",\"\\u2184\":\"c\",\"\\u24D3\":\"d\",\"\\uFF44\":\"d\",\"\\u1E0B\":\"d\",\"\\u010F\":\"d\",\"\\u1E0D\":\"d\",\"\\u1E11\":\"d\",\"\\u1E13\":\"d\",\"\\u1E0F\":\"d\",\"\\u0111\":\"d\",\"\\u018C\":\"d\",\"\\u0256\":\"d\",\"\\u0257\":\"d\",\"\\uA77A\":\"d\",\"\\u01F3\":\"dz\",\"\\u01C6\":\"dz\",\"\\u24D4\":\"e\",\"\\uFF45\":\"e\",\"\\u00E8\":\"e\",\"\\u00E9\":\"e\",\"\\u00EA\":\"e\",\"\\u1EC1\":\"e\",\"\\u1EBF\":\"e\",\"\\u1EC5\":\"e\",\"\\u1EC3\":\"e\",\"\\u1EBD\":\"e\",\"\\u0113\":\"e\",\"\\u1E15\":\"e\",\"\\u1E17\":\"e\",\"\\u0115\":\"e\",\"\\u0117\":\"e\",\"\\u00EB\":\"e\",\"\\u1EBB\":\"e\",\"\\u011B\":\"e\",\"\\u0205\":\"e\",\"\\u0207\":\"e\",\"\\u1EB9\":\"e\",\"\\u1EC7\":\"e\",\"\\u0229\":\"e\",\"\\u1E1D\":\"e\",\"\\u0119\":\"e\",\"\\u1E19\":\"e\",\"\\u1E1B\":\"e\",\"\\u0247\":\"e\",\"\\u025B\":\"e\",\"\\u01DD\":\"e\",\"\\u24D5\":\"f\",\"\\uFF46\":\"f\",\"\\u1E1F\":\"f\",\"\\u0192\":\"f\",\"\\uA77C\":\"f\",\"\\u24D6\":\"g\",\"\\uFF47\":\"g\",\"\\u01F5\":\"g\",\"\\u011D\":\"g\",\"\\u1E21\":\"g\",\"\\u011F\":\"g\",\"\\u0121\":\"g\",\"\\u01E7\":\"g\",\"\\u0123\":\"g\",\"\\u01E5\":\"g\",\"\\u0260\":\"g\",\"\\uA7A1\":\"g\",\"\\u1D79\":\"g\",\"\\uA77F\":\"g\",\"\\u24D7\":\"h\",\"\\uFF48\":\"h\",\"\\u0125\":\"h\",\"\\u1E23\":\"h\",\"\\u1E27\":\"h\",\"\\u021F\":\"h\",\"\\u1E25\":\"h\",\"\\u1E29\":\"h\",\"\\u1E2B\":\"h\",\"\\u1E96\":\"h\",\"\\u0127\":\"h\",\"\\u2C68\":\"h\",\"\\u2C76\":\"h\",\"\\u0265\":\"h\",\"\\u0195\":\"hv\",\"\\u24D8\":\"i\",\"\\uFF49\":\"i\",\"\\u00EC\":\"i\",\"\\u00ED\":\"i\",\"\\u00EE\":\"i\",\"\\u0129\":\"i\",\"\\u012B\":\"i\",\"\\u012D\":\"i\",\"\\u00EF\":\"i\",\"\\u1E2F\":\"i\",\"\\u1EC9\":\"i\",\"\\u01D0\":\"i\",\"\\u0209\":\"i\",\"\\u020B\":\"i\",\"\\u1ECB\":\"i\",\"\\u012F\":\"i\",\"\\u1E2D\":\"i\",\"\\u0268\":\"i\",\"\\u0131\":\"i\",\"\\u24D9\":\"j\",\"\\uFF4A\":\"j\",\"\\u0135\":\"j\",\"\\u01F0\":\"j\",\"\\u0249\":\"j\",\"\\u24DA\":\"k\",\"\\uFF4B\":\"k\",\"\\u1E31\":\"k\",\"\\u01E9\":\"k\",\"\\u1E33\":\"k\",\"\\u0137\":\"k\",\"\\u1E35\":\"k\",\"\\u0199\":\"k\",\"\\u2C6A\":\"k\",\"\\uA741\":\"k\",\"\\uA743\":\"k\",\"\\uA745\":\"k\",\"\\uA7A3\":\"k\",\"\\u24DB\":\"l\",\"\\uFF4C\":\"l\",\"\\u0140\":\"l\",\"\\u013A\":\"l\",\"\\u013E\":\"l\",\"\\u1E37\":\"l\",\"\\u1E39\":\"l\",\"\\u013C\":\"l\",\"\\u1E3D\":\"l\",\"\\u1E3B\":\"l\",\"\\u017F\":\"l\",\"\\u0142\":\"l\",\"\\u019A\":\"l\",\"\\u026B\":\"l\",\"\\u2C61\":\"l\",\"\\uA749\":\"l\",\"\\uA781\":\"l\",\"\\uA747\":\"l\",\"\\u01C9\":\"lj\",\"\\u24DC\":\"m\",\"\\uFF4D\":\"m\",\"\\u1E3F\":\"m\",\"\\u1E41\":\"m\",\"\\u1E43\":\"m\",\"\\u0271\":\"m\",\"\\u026F\":\"m\",\"\\u24DD\":\"n\",\"\\uFF4E\":\"n\",\"\\u01F9\":\"n\",\"\\u0144\":\"n\",\"\\u00F1\":\"n\",\"\\u1E45\":\"n\",\"\\u0148\":\"n\",\"\\u1E47\":\"n\",\"\\u0146\":\"n\",\"\\u1E4B\":\"n\",\"\\u1E49\":\"n\",\"\\u019E\":\"n\",\"\\u0272\":\"n\",\"\\u0149\":\"n\",\"\\uA791\":\"n\",\"\\uA7A5\":\"n\",\"\\u01CC\":\"nj\",\"\\u24DE\":\"o\",\"\\uFF4F\":\"o\",\"\\u00F2\":\"o\",\"\\u00F3\":\"o\",\"\\u00F4\":\"o\",\"\\u1ED3\":\"o\",\"\\u1ED1\":\"o\",\"\\u1ED7\":\"o\",\"\\u1ED5\":\"o\",\"\\u00F5\":\"o\",\"\\u1E4D\":\"o\",\"\\u022D\":\"o\",\"\\u1E4F\":\"o\",\"\\u014D\":\"o\",\"\\u1E51\":\"o\",\"\\u1E53\":\"o\",\"\\u014F\":\"o\",\"\\u022F\":\"o\",\"\\u0231\":\"o\",\"\\u00F6\":\"o\",\"\\u022B\":\"o\",\"\\u1ECF\":\"o\",\"\\u0151\":\"o\",\"\\u01D2\":\"o\",\"\\u020D\":\"o\",\"\\u020F\":\"o\",\"\\u01A1\":\"o\",\"\\u1EDD\":\"o\",\"\\u1EDB\":\"o\",\"\\u1EE1\":\"o\",\"\\u1EDF\":\"o\",\"\\u1EE3\":\"o\",\"\\u1ECD\":\"o\",\"\\u1ED9\":\"o\",\"\\u01EB\":\"o\",\"\\u01ED\":\"o\",\"\\u00F8\":\"o\",\"\\u01FF\":\"o\",\"\\u0254\":\"o\",\"\\uA74B\":\"o\",\"\\uA74D\":\"o\",\"\\u0275\":\"o\",\"\\u01A3\":\"oi\",\"\\u0223\":\"ou\",\"\\uA74F\":\"oo\",\"\\u24DF\":\"p\",\"\\uFF50\":\"p\",\"\\u1E55\":\"p\",\"\\u1E57\":\"p\",\"\\u01A5\":\"p\",\"\\u1D7D\":\"p\",\"\\uA751\":\"p\",\"\\uA753\":\"p\",\"\\uA755\":\"p\",\"\\u24E0\":\"q\",\"\\uFF51\":\"q\",\"\\u024B\":\"q\",\"\\uA757\":\"q\",\"\\uA759\":\"q\",\"\\u24E1\":\"r\",\"\\uFF52\":\"r\",\"\\u0155\":\"r\",\"\\u1E59\":\"r\",\"\\u0159\":\"r\",\"\\u0211\":\"r\",\"\\u0213\":\"r\",\"\\u1E5B\":\"r\",\"\\u1E5D\":\"r\",\"\\u0157\":\"r\",\"\\u1E5F\":\"r\",\"\\u024D\":\"r\",\"\\u027D\":\"r\",\"\\uA75B\":\"r\",\"\\uA7A7\":\"r\",\"\\uA783\":\"r\",\"\\u24E2\":\"s\",\"\\uFF53\":\"s\",\"\\u00DF\":\"s\",\"\\u015B\":\"s\",\"\\u1E65\":\"s\",\"\\u015D\":\"s\",\"\\u1E61\":\"s\",\"\\u0161\":\"s\",\"\\u1E67\":\"s\",\"\\u1E63\":\"s\",\"\\u1E69\":\"s\",\"\\u0219\":\"s\",\"\\u015F\":\"s\",\"\\u023F\":\"s\",\"\\uA7A9\":\"s\",\"\\uA785\":\"s\",\"\\u1E9B\":\"s\",\"\\u24E3\":\"t\",\"\\uFF54\":\"t\",\"\\u1E6B\":\"t\",\"\\u1E97\":\"t\",\"\\u0165\":\"t\",\"\\u1E6D\":\"t\",\"\\u021B\":\"t\",\"\\u0163\":\"t\",\"\\u1E71\":\"t\",\"\\u1E6F\":\"t\",\"\\u0167\":\"t\",\"\\u01AD\":\"t\",\"\\u0288\":\"t\",\"\\u2C66\":\"t\",\"\\uA787\":\"t\",\"\\uA729\":\"tz\",\"\\u24E4\":\"u\",\"\\uFF55\":\"u\",\"\\u00F9\":\"u\",\"\\u00FA\":\"u\",\"\\u00FB\":\"u\",\"\\u0169\":\"u\",\"\\u1E79\":\"u\",\"\\u016B\":\"u\",\"\\u1E7B\":\"u\",\"\\u016D\":\"u\",\"\\u00FC\":\"u\",\"\\u01DC\":\"u\",\"\\u01D8\":\"u\",\"\\u01D6\":\"u\",\"\\u01DA\":\"u\",\"\\u1EE7\":\"u\",\"\\u016F\":\"u\",\"\\u0171\":\"u\",\"\\u01D4\":\"u\",\"\\u0215\":\"u\",\"\\u0217\":\"u\",\"\\u01B0\":\"u\",\"\\u1EEB\":\"u\",\"\\u1EE9\":\"u\",\"\\u1EEF\":\"u\",\"\\u1EED\":\"u\",\"\\u1EF1\":\"u\",\"\\u1EE5\":\"u\",\"\\u1E73\":\"u\",\"\\u0173\":\"u\",\"\\u1E77\":\"u\",\"\\u1E75\":\"u\",\"\\u0289\":\"u\",\"\\u24E5\":\"v\",\"\\uFF56\":\"v\",\"\\u1E7D\":\"v\",\"\\u1E7F\":\"v\",\"\\u028B\":\"v\",\"\\uA75F\":\"v\",\"\\u028C\":\"v\",\"\\uA761\":\"vy\",\"\\u24E6\":\"w\",\"\\uFF57\":\"w\",\"\\u1E81\":\"w\",\"\\u1E83\":\"w\",\"\\u0175\":\"w\",\"\\u1E87\":\"w\",\"\\u1E85\":\"w\",\"\\u1E98\":\"w\",\"\\u1E89\":\"w\",\"\\u2C73\":\"w\",\"\\u24E7\":\"x\",\"\\uFF58\":\"x\",\"\\u1E8B\":\"x\",\"\\u1E8D\":\"x\",\"\\u24E8\":\"y\",\"\\uFF59\":\"y\",\"\\u1EF3\":\"y\",\"\\u00FD\":\"y\",\"\\u0177\":\"y\",\"\\u1EF9\":\"y\",\"\\u0233\":\"y\",\"\\u1E8F\":\"y\",\"\\u00FF\":\"y\",\"\\u1EF7\":\"y\",\"\\u1E99\":\"y\",\"\\u1EF5\":\"y\",\"\\u01B4\":\"y\",\"\\u024F\":\"y\",\"\\u1EFF\":\"y\",\"\\u24E9\":\"z\",\"\\uFF5A\":\"z\",\"\\u017A\":\"z\",\"\\u1E91\":\"z\",\"\\u017C\":\"z\",\"\\u017E\":\"z\",\"\\u1E93\":\"z\",\"\\u1E95\":\"z\",\"\\u01B6\":\"z\",\"\\u0225\":\"z\",\"\\u0240\":\"z\",\"\\u2C6C\":\"z\",\"\\uA763\":\"z\"};\r\n\r\n $document = $(document);\r\n\r\n nextUid=(function() { var counter=1; return function() { return counter++; }; }());\r\n\r\n if(typeof(isi18nEnabledGuardian) !== 'undefined' || typeof(isi18nEnabledAdminTeacher) !== 'undefined'){\r\n // function to get all the query parameters from the URL.(Pre-reg)\r\n function getUrlParameters() {\r\n var url = window.location.href,\r\n retParams = {},\r\n parameters;\r\n if (url.indexOf('?') === -1) {\r\n return null;\r\n }\r\n url = url.split('?')[1];\r\n parameters = url.split('&');\r\n for (var i = 0; i < parameters.length; i++) {\r\n retParams[parameters[i].split('=')[0]] = parameters[i].split('=')[1];\r\n }\r\n return retParams;\r\n }\r\n\r\n var urlParams = getUrlParameters();\r\n function getMessageKeys(messageKeyPrefix){\r\n var locale = 'en_US';\r\n //Prereg dropdown,multidd use select2.js in which case requestLocaleEEC is undefined for now. So adding the below check and handling this case.\r\n if(typeof(requestLocaleEEC) == 'undefined'){\r\n if(urlParams!=null && urlParams['request_locale']!='undefined')\r\n {\r\n locale=urlParams['request_locale'];\r\n }\r\n }\r\n else{\r\n locale = requestLocaleEEC;\r\n }\r\n var source = '/getMessages.action?prefix=' + messageKeyPrefix + '&locale=' + locale;\r\n $.ajax({\r\n url: source,\r\n success: function(result){\r\n messageKeys = result;\r\n }});\r\n };\r\n getMessageKeys('eec.js.scripts_formbuilder_ext_select2_345.select2');\r\n }else if(typeof(isi18nEnabledAdminTeacher) == 'undefined'){\r\n isi18nEnabledAdminTeacher = 0;\r\n }\r\n\r\n function stripDiacritics(str) {\r\n var ret, i, l, c;\r\n\r\n if (!str || str.length < 1) return str;\r\n\r\n ret = \"\";\r\n for (i = 0, l = str.length; i < l; i++) {\r\n c = str.charAt(i);\r\n ret += DIACRITICS[c] || c;\r\n }\r\n return ret;\r\n }\r\n\r\n function indexOf(value, array) {\r\n var i = 0, l = array.length;\r\n for (; i < l; i = i + 1) {\r\n if (equal(value, array[i])) return i;\r\n }\r\n return -1;\r\n }\r\n\r\n function measureScrollbar () {\r\n var $template = $( MEASURE_SCROLLBAR_TEMPLATE );\r\n $template.appendTo('body');\r\n\r\n var dim = {\r\n width: $template.width() - $template[0].clientWidth,\r\n height: $template.height() - $template[0].clientHeight\r\n };\r\n $template.remove();\r\n\r\n return dim;\r\n }\r\n\r\n /**\r\n * Compares equality of a and b\r\n * @param a\r\n * @param b\r\n */\r\n function equal(a, b) {\r\n if (a === b) return true;\r\n if (a === undefined || b === undefined) return false;\r\n if (a === null || b === null) return false;\r\n // Check whether 'a' or 'b' is a string (primitive or object).\r\n // The concatenation of an empty string (+'') converts its argument to a string's primitive.\r\n if (a.constructor === String) return a+'' === b+''; // a+'' - in case 'a' is a String object\r\n if (b.constructor === String) return b+'' === a+''; // b+'' - in case 'b' is a String object\r\n return false;\r\n }\r\n\r\n /**\r\n * Splits the string into an array of values, trimming each value. An empty array is returned for nulls or empty\r\n * strings\r\n * @param string\r\n * @param separator\r\n */\r\n function splitVal(string, separator) {\r\n var val, i, l;\r\n if (string === null || string.length < 1) return [];\r\n val = string.split(separator);\r\n for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);\r\n return val;\r\n }\r\n\r\n function getSideBorderPadding(element) {\r\n return element.outerWidth(false) - element.width();\r\n }\r\n\r\n function installKeyUpChangeEvent(element) {\r\n var key=\"keyup-change-value\";\r\n element.on(\"keydown\", function () {\r\n if ($.data(element, key) === undefined) {\r\n $.data(element, key, element.val());\r\n }\r\n });\r\n element.on(\"keyup\", function () {\r\n var val= $.data(element, key);\r\n if (val !== undefined && element.val() !== val) {\r\n $.removeData(element, key);\r\n element.trigger(\"keyup-change\");\r\n }\r\n });\r\n }\r\n\r\n $document.on(\"mousemove\", function (e) {\r\n lastMousePosition.x = e.pageX;\r\n lastMousePosition.y = e.pageY;\r\n });\r\n\r\n /**\r\n * filters mouse events so an event is fired only if the mouse moved.\r\n *\r\n * filters out mouse events that occur when mouse is stationary but\r\n * the elements under the pointer are scrolled.\r\n */\r\n function installFilteredMouseMove(element) {\r\n element.on(\"mousemove\", function (e) {\r\n var lastpos = lastMousePosition;\r\n if (lastpos === undefined || lastpos.x !== e.pageX || lastpos.y !== e.pageY) {\r\n $(e.target).trigger(\"mousemove-filtered\", e);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Debounces a function. Returns a function that calls the original fn function only if no invocations have been made\r\n * within the last quietMillis milliseconds.\r\n *\r\n * @param quietMillis number of milliseconds to wait before invoking fn\r\n * @param fn function to be debounced\r\n * @param ctx object to be used as this reference within fn\r\n * @return debounced version of fn\r\n */\r\n function debounce(quietMillis, fn, ctx) {\r\n ctx = ctx || undefined;\r\n var timeout;\r\n return function () {\r\n var args = arguments;\r\n window.clearTimeout(timeout);\r\n timeout = window.setTimeout(function() {\r\n fn.apply(ctx, args);\r\n }, quietMillis);\r\n };\r\n }\r\n\r\n /**\r\n * A simple implementation of a thunk\r\n * @param formula function used to lazily initialize the thunk\r\n * @return {Function}\r\n */\r\n function thunk(formula) {\r\n var evaluated = false,\r\n value;\r\n return function() {\r\n if (evaluated === false) { value = formula(); evaluated = true; }\r\n return value;\r\n };\r\n };\r\n\r\n function installDebouncedScroll(threshold, element) {\r\n var notify = debounce(threshold, function (e) { element.trigger(\"scroll-debounced\", e);});\r\n element.on(\"scroll\", function (e) {\r\n if (indexOf(e.target, element.get()) >= 0) notify(e);\r\n });\r\n }\r\n\r\n function focus($el) {\r\n if ($el[0] === document.activeElement) return;\r\n\r\n /* set the focus in a 0 timeout - that way the focus is set after the processing\r\n of the current event has finished - which seems like the only reliable way\r\n to set focus */\r\n window.setTimeout(function() {\r\n var el=$el[0], pos=$el.val().length, range;\r\n\r\n $el.focus();\r\n\r\n /* make sure el received focus so we do not error out when trying to manipulate the caret.\r\n sometimes modals or others listeners may steal it after its set */\r\n if ($el.is(\":visible\") && el === document.activeElement) {\r\n\r\n /* after the focus is set move the caret to the end, necessary when we val()\r\n just before setting focus */\r\n if(el.setSelectionRange)\r\n {\r\n el.setSelectionRange(pos, pos);\r\n }\r\n else if (el.createTextRange) {\r\n range = el.createTextRange();\r\n range.collapse(false);\r\n range.select();\r\n }\r\n }\r\n }, 0);\r\n }\r\n\r\n function getCursorInfo(el) {\r\n el = $(el)[0];\r\n var offset = 0;\r\n var length = 0;\r\n if ('selectionStart' in el) {\r\n offset = el.selectionStart;\r\n length = el.selectionEnd - offset;\r\n } else if ('selection' in document) {\r\n el.focus();\r\n var sel = document.selection.createRange();\r\n length = document.selection.createRange().text.length;\r\n sel.moveStart('character', -el.value.length);\r\n offset = sel.text.length - length;\r\n }\r\n return { offset: offset, length: length };\r\n }\r\n\r\n function killEvent(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n function killEventImmediately(event) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n }\r\n\r\n function measureTextWidth(e) {\r\n if (!sizer){\r\n var style = e[0].currentStyle || window.getComputedStyle(e[0], null);\r\n sizer = $(document.createElement(\"div\")).css({\r\n position: \"absolute\",\r\n left: \"-10000px\",\r\n top: \"-10000px\",\r\n display: \"none\",\r\n fontSize: style.fontSize,\r\n fontFamily: style.fontFamily,\r\n fontStyle: style.fontStyle,\r\n fontWeight: style.fontWeight,\r\n letterSpacing: style.letterSpacing,\r\n textTransform: style.textTransform,\r\n whiteSpace: \"nowrap\"\r\n });\r\n sizer.attr(\"class\",\"select2-sizer\");\r\n $(\"body\").append(sizer);\r\n }\r\n sizer.text(e.val());\r\n return sizer.width();\r\n }\r\n\r\n function syncCssClasses(dest, src, adapter) {\r\n var classes, replacements = [], adapted;\r\n\r\n classes = dest.attr(\"class\");\r\n if (classes) {\r\n classes = '' + classes; // for IE which returns object\r\n $(classes.split(\" \")).each2(function() {\r\n if (this.indexOf(\"select2-\") === 0) {\r\n replacements.push(this);\r\n }\r\n });\r\n }\r\n classes = src.attr(\"class\");\r\n if (classes) {\r\n classes = '' + classes; // for IE which returns object\r\n $(classes.split(\" \")).each2(function() {\r\n if (this.indexOf(\"select2-\") !== 0) {\r\n adapted = adapter(this);\r\n if (adapted) {\r\n replacements.push(adapted);\r\n }\r\n }\r\n });\r\n }\r\n dest.attr(\"class\", replacements.join(\" \"));\r\n }\r\n\r\n\r\n function markMatch(text, term, markup, escapeMarkup) {\r\n var match=stripDiacritics(text.toUpperCase()).indexOf(stripDiacritics(term.toUpperCase())),\r\n tl=term.length;\r\n\r\n if (match<0) {\r\n markup.push(escapeMarkup(text));\r\n return;\r\n }\r\n\r\n markup.push(escapeMarkup(text.substring(0, match)));\r\n markup.push(\"\");\r\n markup.push(escapeMarkup(text.substring(match, match + tl)));\r\n markup.push(\"\");\r\n markup.push(escapeMarkup(text.substring(match + tl, text.length)));\r\n }\r\n\r\n function defaultEscapeMarkup(markup) {\r\n var replace_map = {\r\n '\\\\': '\',\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '\"': '"',\r\n \"'\": ''',\r\n \"/\": '/'\r\n };\r\n\r\n return String(markup).replace(/[&<>\"'\\/\\\\]/g, function (match) {\r\n return replace_map[match];\r\n });\r\n }\r\n\r\n /**\r\n * Produces an ajax-based query function\r\n *\r\n * @param options object containing configuration paramters\r\n * @param options.params parameter map for the transport ajax call, can contain such options as cache, jsonpCallback, etc. see $.ajax\r\n * @param options.transport function that will be used to execute the ajax request. must be compatible with parameters supported by $.ajax\r\n * @param options.url url for the data\r\n * @param options.data a function(searchTerm, pageNumber, context) that should return an object containing query string parameters for the above url.\r\n * @param options.dataType request data type: ajax, jsonp, other datatatypes supported by jQuery's $.ajax function or the transport function if specified\r\n * @param options.quietMillis (optional) milliseconds to wait before making the ajaxRequest, helps debounce the ajax function if invoked too often\r\n * @param options.results a function(remoteData, pageNumber) that converts data returned form the remote request to the format expected by Select2.\r\n * The expected format is an object containing the following keys:\r\n * results array of objects that will be used as choices\r\n * more (optional) boolean indicating whether there are more results available\r\n * Example: {results:[{id:1, text:'Red'},{id:2, text:'Blue'}], more:true}\r\n */\r\n function ajax(options) {\r\n var timeout, // current scheduled but not yet executed request\r\n handler = null,\r\n quietMillis = options.quietMillis || 100,\r\n ajaxUrl = options.url,\r\n self = this;\r\n\r\n return function (query) {\r\n window.clearTimeout(timeout);\r\n timeout = window.setTimeout(function () {\r\n var data = options.data, // ajax data function\r\n url = ajaxUrl, // ajax url string or function\r\n transport = options.transport || $.fn.select2.ajaxDefaults.transport,\r\n // deprecated - to be removed in 4.0 - use params instead\r\n deprecated = {\r\n type: options.type || 'GET', // set type of request (GET or POST)\r\n cache: options.cache || false,\r\n jsonpCallback: options.jsonpCallback||undefined,\r\n dataType: options.dataType||\"json\"\r\n },\r\n params = $.extend({}, $.fn.select2.ajaxDefaults.params, deprecated);\r\n\r\n data = data ? data.call(self, query.term, query.page, query.context) : null;\r\n url = (typeof url === 'function') ? url.call(self, query.term, query.page, query.context) : url;\r\n\r\n if (handler) { handler.abort(); }\r\n\r\n if (options.params) {\r\n if ($.isFunction(options.params)) {\r\n $.extend(params, options.params.call(self));\r\n } else {\r\n $.extend(params, options.params);\r\n }\r\n }\r\n\r\n $.extend(params, {\r\n url: url,\r\n dataType: options.dataType,\r\n data: data,\r\n success: function (data) {\r\n // TODO - replace query.page with query so users have access to term, page, etc.\r\n var results = options.results(data, query.page);\r\n query.callback(results);\r\n }\r\n });\r\n handler = transport.call(self, params);\r\n }, quietMillis);\r\n };\r\n }\r\n\r\n /**\r\n * Produces a query function that works with a local array\r\n *\r\n * @param options object containing configuration parameters. The options parameter can either be an array or an\r\n * object.\r\n *\r\n * If the array form is used it is assumed that it contains objects with 'id' and 'text' keys.\r\n *\r\n * If the object form is used ti is assumed that it contains 'data' and 'text' keys. The 'data' key should contain\r\n * an array of objects that will be used as choices. These objects must contain at least an 'id' key. The 'text'\r\n * key can either be a String in which case it is expected that each element in the 'data' array has a key with the\r\n * value of 'text' which will be used to match choices. Alternatively, text can be a function(item) that can extract\r\n * the text.\r\n */\r\n function local(options) {\r\n var data = options, // data elements\r\n dataText,\r\n tmp,\r\n text = function (item) { return \"\"+item.text; }; // function used to retrieve the text portion of a data item that is matched against the search\r\n\r\n if ($.isArray(data)) {\r\n tmp = data;\r\n data = { results: tmp };\r\n }\r\n\r\n if ($.isFunction(data) === false) {\r\n tmp = data;\r\n data = function() { return tmp; };\r\n }\r\n\r\n var dataItem = data();\r\n if (dataItem.text) {\r\n text = dataItem.text;\r\n // if text is not a function we assume it to be a key name\r\n if (!$.isFunction(text)) {\r\n dataText = dataItem.text; // we need to store this in a separate variable because in the next step data gets reset and data.text is no longer available\r\n text = function (item) { return item[dataText]; };\r\n }\r\n }\r\n\r\n return function (query) {\r\n var t = query.term, filtered = { results: [] }, process;\r\n if (t === \"\") {\r\n query.callback(data());\r\n return;\r\n }\r\n\r\n process = function(datum, collection) {\r\n var group, attr;\r\n datum = datum[0];\r\n if (datum.children) {\r\n group = {};\r\n for (attr in datum) {\r\n if (datum.hasOwnProperty(attr)) group[attr]=datum[attr];\r\n }\r\n group.children=[];\r\n $(datum.children).each2(function(i, childDatum) { process(childDatum, group.children); });\r\n if (group.children.length || query.matcher(t, text(group), datum)) {\r\n collection.push(group);\r\n }\r\n } else {\r\n if (query.matcher(t, text(datum), datum)) {\r\n collection.push(datum);\r\n }\r\n }\r\n };\r\n\r\n $(data().results).each2(function(i, datum) { process(datum, filtered.results); });\r\n query.callback(filtered);\r\n };\r\n }\r\n\r\n // TODO javadoc\r\n function tags(data) {\r\n var isFunc = $.isFunction(data);\r\n return function (query) {\r\n var t = query.term, filtered = {results: []};\r\n $(isFunc ? data() : data).each(function () {\r\n var isObject = this.text !== undefined,\r\n text = isObject ? this.text : this;\r\n if (t === \"\" || query.matcher(t, text)) {\r\n filtered.results.push(isObject ? this : {id: this, text: this});\r\n }\r\n });\r\n query.callback(filtered);\r\n };\r\n }\r\n\r\n /**\r\n * Checks if the formatter function should be used.\r\n *\r\n * Throws an error if it is not a function. Returns true if it should be used,\r\n * false if no formatting should be performed.\r\n *\r\n * @param formatter\r\n */\r\n function checkFormatter(formatter, formatterName) {\r\n if ($.isFunction(formatter)) return true;\r\n if (!formatter) return false;\r\n throw new Error(formatterName +\" must be a function or a falsy value\");\r\n }\r\n\r\n function evaluate(val) {\r\n return $.isFunction(val) ? val() : val;\r\n }\r\n\r\n function countResults(results) {\r\n var count = 0;\r\n $.each(results, function(i, item) {\r\n if (item.children) {\r\n count += countResults(item.children);\r\n } else {\r\n count++;\r\n }\r\n });\r\n return count;\r\n }\r\n\r\n /**\r\n * Default tokenizer. This function uses breaks the input on substring match of any string from the\r\n * opts.tokenSeparators array and uses opts.createSearchChoice to create the choice object. Both of those\r\n * two options have to be defined in order for the tokenizer to work.\r\n *\r\n * @param input text user has typed so far or pasted into the search field\r\n * @param selection currently selected choices\r\n * @param selectCallback function(choice) callback tho add the choice to selection\r\n * @param opts select2's opts\r\n * @return undefined/null to leave the current input unchanged, or a string to change the input to the returned value\r\n */\r\n function defaultTokenizer(input, selection, selectCallback, opts) {\r\n var original = input, // store the original so we can compare and know if we need to tell the search to update its text\r\n dupe = false, // check for whether a token we extracted represents a duplicate selected choice\r\n token, // token\r\n index, // position at which the separator was found\r\n i, l, // looping variables\r\n separator; // the matched separator\r\n\r\n if (!opts.createSearchChoice || !opts.tokenSeparators || opts.tokenSeparators.length < 1) return undefined;\r\n\r\n while (true) {\r\n index = -1;\r\n\r\n for (i = 0, l = opts.tokenSeparators.length; i < l; i++) {\r\n separator = opts.tokenSeparators[i];\r\n index = input.indexOf(separator);\r\n if (index >= 0) break;\r\n }\r\n\r\n if (index < 0) break; // did not find any token separator in the input string, bail\r\n\r\n token = input.substring(0, index);\r\n input = input.substring(index + separator.length);\r\n\r\n if (token.length > 0) {\r\n token = opts.createSearchChoice.call(this, token, selection);\r\n if (token !== undefined && token !== null && opts.id(token) !== undefined && opts.id(token) !== null) {\r\n dupe = false;\r\n for (i = 0, l = selection.length; i < l; i++) {\r\n if (equal(opts.id(token), opts.id(selection[i]))) {\r\n dupe = true; break;\r\n }\r\n }\r\n\r\n if (!dupe) selectCallback(token);\r\n }\r\n }\r\n }\r\n\r\n if (original!==input) return input;\r\n }\r\n\r\n /**\r\n * Creates a new class\r\n *\r\n * @param superClass\r\n * @param methods\r\n */\r\n function clazz(SuperClass, methods) {\r\n var constructor = function () {};\r\n constructor.prototype = new SuperClass;\r\n constructor.prototype.constructor = constructor;\r\n constructor.prototype.parent = SuperClass.prototype;\r\n constructor.prototype = $.extend(constructor.prototype, methods);\r\n return constructor;\r\n }\r\n\r\n AbstractSelect2 = clazz(Object, {\r\n\r\n // abstract\r\n bind: function (func) {\r\n var self = this;\r\n return function () {\r\n func.apply(self, arguments);\r\n };\r\n },\r\n\r\n // abstract\r\n init: function (opts) {\r\n var results, search, resultsSelector = \".select2-results\";\r\n\r\n // prepare options\r\n this.opts = opts = this.prepareOpts(opts);\r\n\r\n this.id=opts.id;\r\n\r\n // destroy if called on an existing component\r\n if (opts.element.data(\"select2\") !== undefined &&\r\n opts.element.data(\"select2\") !== null) {\r\n opts.element.data(\"select2\").destroy();\r\n }\r\n\r\n this.container = this.createContainer();\r\n\r\n this.containerId=\"s2id_\"+(opts.element.attr(\"id\") || \"autogen\"+nextUid());\r\n this.containerSelector=\"#\"+this.containerId.replace(/([;&,\\.\\+\\*\\~':\"\\!\\^#$%@\\[\\]\\(\\)=>\\|])/g, '\\\\$1');\r\n this.container.attr(\"id\", this.containerId);\r\n\r\n // cache the body so future lookups are cheap\r\n this.body = thunk(function() { return opts.element.closest(\"body\"); });\r\n\r\n syncCssClasses(this.container, this.opts.element, this.opts.adaptContainerCssClass);\r\n\r\n this.container.attr(\"style\", opts.element.attr(\"style\"));\r\n this.container.css(evaluate(opts.containerCss));\r\n this.container.addClass(evaluate(opts.containerCssClass));\r\n\r\n this.elementTabIndex = this.opts.element.attr(\"tabindex\");\r\n\r\n // swap container for the element\r\n this.opts.element\r\n .data(\"select2\", this)\r\n .attr(\"tabindex\", \"-1\")\r\n .before(this.container)\r\n .on(\"click.select2\", killEvent); // do not leak click events\r\n\r\n this.container.data(\"select2\", this);\r\n\r\n this.dropdown = this.container.find(\".select2-drop\");\r\n\r\n syncCssClasses(this.dropdown, this.opts.element, this.opts.adaptDropdownCssClass);\r\n\r\n this.dropdown.addClass(evaluate(opts.dropdownCssClass));\r\n this.dropdown.data(\"select2\", this);\r\n this.dropdown.on(\"click\", killEvent);\r\n\r\n this.results = results = this.container.find(resultsSelector);\r\n this.search = search = this.container.find(\"input.select2-input\");\r\n\r\n this.queryCount = 0;\r\n this.resultsPage = 0;\r\n this.context = null;\r\n\r\n // initialize the container\r\n this.initContainer();\r\n\r\n this.container.on(\"click\", killEvent);\r\n\r\n installFilteredMouseMove(this.results);\r\n this.dropdown.on(\"mousemove-filtered touchstart touchmove touchend\", resultsSelector, this.bind(this.highlightUnderEvent));\r\n\r\n installDebouncedScroll(80, this.results);\r\n this.dropdown.on(\"scroll-debounced\", resultsSelector, this.bind(this.loadMoreIfNeeded));\r\n\r\n // do not propagate change event from the search field out of the component\r\n $(this.container).on(\"change\", \".select2-input\", function(e) {e.stopPropagation();});\r\n $(this.dropdown).on(\"change\", \".select2-input\", function(e) {e.stopPropagation();});\r\n\r\n // if jquery.mousewheel plugin is installed we can prevent out-of-bounds scrolling of results via mousewheel\r\n if ($.fn.mousewheel) {\r\n results.mousewheel(function (e, delta, deltaX, deltaY) {\r\n var top = results.scrollTop();\r\n if (deltaY > 0 && top - deltaY <= 0) {\r\n results.scrollTop(0);\r\n killEvent(e);\r\n } else if (deltaY < 0 && results.get(0).scrollHeight - results.scrollTop() + deltaY <= results.height()) {\r\n results.scrollTop(results.get(0).scrollHeight - results.height());\r\n killEvent(e);\r\n }\r\n });\r\n }\r\n\r\n installKeyUpChangeEvent(search);\r\n search.on(\"keyup-change input paste\", this.bind(this.updateResults));\r\n search.on(\"focus\", function () { search.addClass(\"select2-focused\"); });\r\n search.on(\"blur\", function () { search.removeClass(\"select2-focused\");});\r\n\r\n this.dropdown.on(\"mouseup\", resultsSelector, this.bind(function (e) {\r\n if ($(e.target).closest(\".select2-result-selectable\").length > 0) {\r\n this.highlightUnderEvent(e);\r\n this.selectHighlighted(e);\r\n }\r\n }));\r\n\r\n // trap all mouse events from leaving the dropdown. sometimes there may be a modal that is listening\r\n // for mouse events outside of itself so it can close itself. since the dropdown is now outside the select2's\r\n // dom it will trigger the popup close, which is not what we want\r\n this.dropdown.on(\"click mouseup mousedown\", function (e) { e.stopPropagation(); });\r\n\r\n if ($.isFunction(this.opts.initSelection)) {\r\n // initialize selection based on the current value of the source element\r\n this.initSelection();\r\n\r\n // if the user has provided a function that can set selection based on the value of the source element\r\n // we monitor the change event on the element and trigger it, allowing for two way synchronization\r\n this.monitorSource();\r\n }\r\n\r\n if (opts.maximumInputLength !== null) {\r\n this.search.attr(\"maxlength\", opts.maximumInputLength);\r\n }\r\n\r\n var disabled = opts.element.prop(\"disabled\");\r\n if (disabled === undefined) disabled = false;\r\n this.enable(!disabled);\r\n\r\n var readonly = opts.element.prop(\"readonly\");\r\n if (readonly === undefined) readonly = false;\r\n this.readonly(readonly);\r\n\r\n // Calculate size of scrollbar\r\n scrollBarDimensions = scrollBarDimensions || measureScrollbar();\r\n\r\n this.autofocus = opts.element.prop(\"autofocus\");\r\n opts.element.prop(\"autofocus\", false);\r\n if (this.autofocus) this.focus();\r\n\r\n this.nextSearchTerm = undefined;\r\n },\r\n\r\n // abstract\r\n destroy: function () {\r\n var element=this.opts.element, select2 = element.data(\"select2\");\r\n\r\n this.close();\r\n\r\n if (this.propertyObserver) { delete this.propertyObserver; this.propertyObserver = null; }\r\n\r\n if (select2 !== undefined) {\r\n select2.container.remove();\r\n select2.dropdown.remove();\r\n element\r\n .removeClass(\"select2-offscreen\")\r\n .removeData(\"select2\")\r\n .off(\".select2\")\r\n .prop(\"autofocus\", this.autofocus || false);\r\n if (this.elementTabIndex) {\r\n element.attr({tabindex: this.elementTabIndex});\r\n } else {\r\n element.removeAttr(\"tabindex\");\r\n }\r\n element.show();\r\n }\r\n },\r\n\r\n // abstract\r\n optionToData: function(element) {\r\n if (element.is(\"option\")) {\r\n return {\r\n id:element.prop(\"value\"),\r\n text:element.text(),\r\n element: element.get(),\r\n css: element.attr(\"class\"),\r\n disabled: element.prop(\"disabled\"),\r\n locked: equal(element.attr(\"locked\"), \"locked\") || equal(element.data(\"locked\"), true)\r\n };\r\n } else if (element.is(\"optgroup\")) {\r\n return {\r\n text:element.attr(\"label\"),\r\n children:[],\r\n element: element.get(),\r\n css: element.attr(\"class\")\r\n };\r\n }\r\n },\r\n\r\n // abstract\r\n prepareOpts: function (opts) {\r\n var element, select, idKey, ajaxUrl, self = this;\r\n\r\n element = opts.element;\r\n\r\n if (element.get(0).tagName.toLowerCase() === \"select\") {\r\n this.select = select = opts.element;\r\n }\r\n\r\n if (select) {\r\n // these options are not allowed when attached to a select because they are picked up off the element itself\r\n $.each([\"id\", \"multiple\", \"ajax\", \"query\", \"createSearchChoice\", \"initSelection\", \"data\", \"tags\"], function () {\r\n if (this in opts) {\r\n throw new Error(\"Option '\" + this + \"' is not allowed for Select2 when attached to a