{"version":3,"sources":["bootstrap.js","custom.jquery.validation.js","custom.jquery.validation.unobtrusive.js","jquery.globalize.js","custom.jquery.validation.unobtrusive.ajax.js","jquery.blockui.js","kendo.culture.js","errorHandling.js","fontawesome-iconpicker.js","localize.js"],"names":["global","factory","exports","module","require","define","amd","globalThis","self","bootstrap","Popper","this","_interopNamespace","e","__esModule","n","Object","create","k","d","getOwnPropertyDescriptor","defineProperty","get","enumerable","default","freeze","Popper__namespace","TRANSITION_END","getSelector","element","selector","getAttribute","hrefAttr","includes","startsWith","split","trim","getSelectorFromElement","document","querySelector","getElementFromSelector","triggerTransitionEnd","dispatchEvent","Event","isElement","obj","jquery","nodeType","getElement","length","typeCheckConfig","componentName","config","configTypes","keys","forEach","property","expectedTypes","value","valueType","toString","call","match","toLowerCase","RegExp","test","TypeError","toUpperCase","isVisible","getClientRects","getComputedStyle","getPropertyValue","isDisabled","Node","ELEMENT_NODE","classList","contains","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","parentNode","noop","reflow","offsetHeight","getjQuery","jQuery","window","body","DOMContentLoadedCallbacks","isRTL","dir","defineJQueryPlugin","plugin","callback","$","name","NAME","JQUERY_NO_CONFLICT","fn","jQueryInterface","Constructor","noConflict","readyState","addEventListener","push","execute","executeAfterTransition","transitionElement","waitForTransition","emulatedDuration","transitionDuration","transitionDelay","floatTransitionDuration","Number","parseFloat","floatTransitionDelay","getTransitionDurationFromElement","called","handler","target","removeEventListener","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","index","indexOf","listLength","Math","max","min","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","customEventsRegex","nativeEvents","Set","getUidEvent","uid","getEvent","findHandler","events","delegationSelector","uidEventList","i","len","event","originalHandler","normalizeParams","originalTypeEvent","delegationFn","delegation","typeEvent","getTypeEvent","has","addHandler","oneOff","wrapFn","relatedTarget","delegateTarget","handlers","previousFn","replace","domElements","querySelectorAll","EventHandler","off","type","apply","bootstrapDelegationHandler","bootstrapHandler","removeHandler","Boolean","on","one","inNamespace","isNamespace","elementEvent","namespace","storeElementEvent","handlerKey","removeNamespacedHandlers","slice","keyHandlers","trigger","args","isNative","jQueryEvent","bubbles","nativeDispatch","defaultPrevented","evt","isPropagationStopped","isImmediatePropagationStopped","isDefaultPrevented","createEvent","initEvent","CustomEvent","cancelable","key","preventDefault","elementMap","Map","Data","set","instance","instanceMap","size","console","error","Array","from","remove","delete","BaseComponent","constructor","_element","DATA_KEY","dispose","EVENT_KEY","getOwnPropertyNames","propertyName","_queueCallback","isAnimated","getInstance","getOrCreateInstance","VERSION","Error","enableDismissTrigger","component","method","clickEvent","tagName","closest","EVENT_KEY$c","EVENT_CLOSE","EVENT_CLOSED","Alert","close","_destroyElement","each","data","undefined","SELECTOR_DATA_TOGGLE$5","Button","toggle","setAttribute","normalizeData","val","normalizeDataKey","chr","button","Manipulator","setDataAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","dataset","filter","pureKey","charAt","getDataAttribute","offset","rect","getBoundingClientRect","top","pageYOffset","left","pageXOffset","position","offsetTop","offsetLeft","SelectorEngine","find","concat","Element","prototype","findOne","children","child","matches","parents","ancestor","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","map","join","el","NAME$b","EVENT_KEY$a","DATA_API_KEY$6","Default$a","interval","keyboard","slide","pause","wrap","touch","DefaultType$a","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","KEY_TO_DIRECTION","ArrowLeft","ArrowRight","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","EVENT_DRAG_START","EVENT_LOAD_DATA_API$2","EVENT_CLICK_DATA_API$5","CLASS_NAME_ACTIVE$2","SELECTOR_ACTIVE_ITEM","Carousel","super","_items","_interval","_activeElement","_isPaused","_isSliding","touchTimeout","touchStartX","touchDeltaX","_config","_getConfig","_indicatorsElement","_touchSupported","navigator","maxTouchPoints","_pointerEvent","PointerEvent","_addEventListeners","Default","_slide","nextWhenVisible","hidden","cycle","clearInterval","_updateInterval","setInterval","visibilityState","bind","to","activeIndex","_getItemIndex","order","_handleSwipe","absDeltax","abs","direction","_keydown","_addTouchEventListeners","hasPointerPenTouch","pointerType","start","clientX","touches","move","end","clearTimeout","itemImg","add","_getItemByOrder","isNext","_triggerSlideEvent","eventDirectionName","targetIndex","fromIndex","_setActiveIndicatorElement","activeIndicator","indicators","parseInt","elementInterval","defaultInterval","directionOrOrder","_directionToOrder","activeElementIndex","nextElement","nextElementIndex","isCycling","directionalClassName","orderClassName","_orderToDirection","triggerSlidEvent","completeCallBack","carouselInterface","action","ride","dataApiClickHandler","slideIndex","carousels","NAME$a","DATA_KEY$9","EVENT_KEY$9","Default$9","parent","DefaultType$9","EVENT_SHOW$5","EVENT_SHOWN$5","EVENT_HIDE$5","EVENT_HIDDEN$5","EVENT_CLICK_DATA_API$4","CLASS_NAME_SHOW$7","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","SELECTOR_DATA_TOGGLE$4","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElem","_selector","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activesData","actives","container","tempActiveData","elemActive","dimension","_getDimension","style","scrollSize","triggerArrayLength","selected","triggerArray","isOpen","NAME$9","EVENT_KEY$8","DATA_API_KEY$4","ESCAPE_KEY$2","SPACE_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","REGEXP_KEYDOWN","EVENT_HIDE$4","EVENT_HIDDEN$4","EVENT_SHOW$4","EVENT_SHOWN$4","EVENT_CLICK_DATA_API$3","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_SHOW$6","SELECTOR_DATA_TOGGLE$3","SELECTOR_MENU","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","Default$8","boundary","reference","display","popperConfig","autoClose","DefaultType$8","Dropdown","_popper","_menu","_getMenuElement","_inNavbar","_detectNavbar","DefaultType","getParentFromElement","_createPopper","focus","_completeHide","destroy","update","referenceElement","_getPopperConfig","isDisplayStatic","modifiers","modifier","enabled","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","options","_selectMenuItem","items","clearMenus","toggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isActive","stopPropagation","getToggleButton","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","_saveInitialAttribute","overflow","styleProp","scrollbarWidth","_applyManipulationCallback","reset","_resetElementAttributes","actualValue","removeProperty","callBack","isOverflowing","Default$7","className","rootElement","clickCallback","DefaultType$7","NAME$8","CLASS_NAME_SHOW$5","EVENT_MOUSEDOWN","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","Default$6","trapElement","autofocus","DefaultType$6","EVENT_KEY$7","EVENT_FOCUSIN$1","EVENT_KEYDOWN_TAB","TAB_NAV_BACKWARD","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","NAME$6","EVENT_KEY$6","ESCAPE_KEY$1","Default$5","DefaultType$5","EVENT_HIDE$3","EVENT_HIDE_PREVENTED","EVENT_HIDDEN$3","EVENT_SHOW$3","EVENT_SHOWN$3","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_KEYDOWN_DISMISS$1","EVENT_MOUSEUP_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_CLICK_DATA_API$2","CLASS_NAME_OPEN","CLASS_NAME_SHOW$4","CLASS_NAME_STATIC","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_ignoreBackdropClick","_scrollBar","_isAnimated","_adjustDialog","_setEscapeEvent","_setResizeEvent","_showBackdrop","_showElement","_hideModal","htmlElement","handleUpdate","modalBody","scrollTop","_triggerBackdropTransition","_resetAdjustments","currentTarget","scrollHeight","isModalOverflowing","clientHeight","overflowY","isBodyOverflowing","paddingLeft","paddingRight","showEvent","allReadyOpen","NAME$5","EVENT_KEY$5","DATA_API_KEY$2","EVENT_LOAD_DATA_API$1","Default$4","scroll","DefaultType$4","CLASS_NAME_SHOW$3","OPEN_SELECTOR","EVENT_SHOW$2","EVENT_SHOWN$2","EVENT_HIDE$2","EVENT_HIDDEN$2","EVENT_CLICK_DATA_API$1","EVENT_KEYDOWN_DISMISS","Offcanvas","visibility","blur","uriAttributes","SAFE_URL_PATTERN","DATA_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","regExp","attributeRegex","DefaultAllowlist","a","area","b","br","col","code","div","em","hr","h1","h2","h3","h4","h5","h6","img","li","ol","p","pre","s","small","span","sub","sup","strong","u","ul","sanitizeHtml","unsafeHtml","allowList","sanitizeFn","createdDocument","DOMParser","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","NAME$4","EVENT_KEY$4","DISALLOWED_ATTRIBUTES","DefaultType$3","animation","template","title","delay","html","fallbackPlacements","customClass","sanitize","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","Default$3","Event$2","HIDE","HIDDEN","SHOW","SHOWN","INSERTED","CLICK","FOCUSIN","FOCUSOUT","MOUSEENTER","MOUSELEAVE","CLASS_NAME_FADE$2","CLASS_NAME_SHOW$2","HOVER_STATE_SHOW","HOVER_STATE_OUT","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","Tooltip","_isEnabled","_timeout","_hoverState","_activeTrigger","tip","_setListeners","enable","disable","toggleEnabled","_initializeOnDelegatedTarget","click","_isWithActiveTrigger","_enter","_leave","getTipElement","_hideModalHandler","_disposePopper","isWithContent","shadowRoot","isInTheDom","ownerDocument","getTitle","tipId","prefix","floor","random","getElementById","getUID","attachment","_getAttachment","_addAttachmentClass","_resolvePossibleFunction","prevHoverState","_cleanTipClass","setContent","_sanitizeAndSetContent","content","templateElement","setElementContent","textContent","updateAttachment","_getDelegateConfig","phase","_handlePopperPlacementChange","onFirstUpdate","_getBasicClassPrefix","eventIn","eventOut","_fixTitle","originalTitleType","dataAttributes","dataAttr","basicClassPrefixRegex","tabClass","token","tClass","state","popper","EVENT_KEY$3","Default$2","DefaultType$2","Event$1","Popover","_getContent","NAME$2","EVENT_KEY$2","Default$1","DefaultType$1","EVENT_ACTIVATE","EVENT_SCROLL","EVENT_LOAD_DATA_API","CLASS_NAME_DROPDOWN_ITEM","CLASS_NAME_ACTIVE$1","SELECTOR_NAV_LINKS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","METHOD_POSITION","ScrollSpy","_scrollElement","_offsets","_targets","_activeTarget","_scrollHeight","_process","refresh","autoMethod","offsetMethod","offsetBase","_getScrollTop","_getScrollHeight","targetSelector","targetBCR","height","item","sort","_getOffsetHeight","innerHeight","maxScroll","_activate","_clear","queries","link","listGroup","navItem","node","spy","EVENT_KEY$1","EVENT_HIDE$1","EVENT_HIDDEN$1","EVENT_SHOW$1","EVENT_SHOWN$1","EVENT_CLICK_DATA_API","CLASS_NAME_ACTIVE","CLASS_NAME_FADE$1","CLASS_NAME_SHOW$1","SELECTOR_ACTIVE","SELECTOR_ACTIVE_UL","Tab","listElement","itemSelector","hideEvent","complete","active","isTransitioning","_transitionComplete","dropdownChild","dropdownElement","dropdown","EVENT_MOUSEOVER","EVENT_MOUSEOUT","EVENT_FOCUSIN","EVENT_FOCUSOUT","EVENT_HIDE","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","CLASS_NAME_HIDE","CLASS_NAME_SHOW","CLASS_NAME_SHOWING","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","_onInteraction","isInteracting","extend","validate","validator","attr","settings","onsubmit","submitButton","hasClass","cancelSubmit","handle","result","submitHandler","formSubmitted","appendTo","currentForm","debug","form","pendingRequest","focusInvalid","warn","valid","errorList","is","rules","command","argument","staticRules","existingRules","param","filtered","isContentEditable","normalizeRule","messages","normalizeRules","classRules","attributeRules","dataRules","required","remote","str","expr","pseudos","blank","filled","unchecked","prop","defaults","init","format","source","params","arguments","makeArray","unshift","groups","errorClass","pendingClass","validClass","errorElement","focusCleanup","errorContainer","errorLabelContainer","ignore","ignoreTitle","onfocusin","lastActive","unhighlight","hideThese","errorsFor","onfocusout","checkable","submitted","optional","onkeyup","which","elementValue","inArray","keyCode","invalid","onclick","highlight","findByName","addClass","removeClass","setDefaults","email","url","date","dateISO","number","digits","equalTo","maxlength","minlength","rangelength","range","step","autoCreateRanges","labelContainer","errorContext","containers","valueCache","pending","delegate","eventType","invalidHandler","checkForm","errorMap","triggerHandler","showErrors","prepareForm","currentElements","check","rs","group","cleanElement","clean","checkElement","validationTargetFor","v","prepareElement","testgroup","numberOfInvalids","toHide","errors","message","successList","grep","defaultShowErrors","resetForm","hideErrors","removeData","removeAttr","resetElements","objectLength","count","not","text","addWrapper","findLastActive","rulesCache","resetInternals","toShow","idx","$element","validity","badInput","substr","lastIndexOf","rule","normalizer","rulesCount","dependencyMismatch","parameters","methods","formatAndAdd","log","id","customDataMessage","substring","customMessage","m","String","findDefined","defaultMessage","theregex","toToggle","wrapper","showLabel","success","validElements","invalidElements","place","errorID","elementID","idOrName","describedBy","errorPlacement","insertAfter","escapeCssMeta","describer","string","getLength","depend","dependTypes","boolean","function","startRequest","stopRequest","submit","previousValue","old","classRuleSettings","creditcard","addClassRules","classes","normalizeAttributeRule","isNaN","depends","keepRule","parameter","parts","isArray","transformed","addMethod","Date","decimals","errorMessage","re","decimalPlaces","num","toInt","round","pow","optionDataString","originalMessage","ajax","mode","port","dataType","response","pendingRequests","ajaxPrefilter","_","xhr","abort","ajaxSettings","unobtrusive","adapters","$jQval","data_validation","setValidationValues","ruleName","escapeAttributeValue","getModelPrefix","fieldName","appendModelPrefix","onError","inputElement","replaceAttrValue","parseJSON","empty","onErrors","onSuccess","onReset","$form","validationInfo","onResetProxy","proxy","defaultOptions","execInContext","func","isFunction","attachValidation","parseElement","skipAttach","valInfo","paramValues","adapt","__dummy__","parse","$selector","$forms","addBack","info","adapterName","addBool","addMinMax","minRuleName","maxRuleName","minMaxRuleName","minAttribute","maxAttribute","addSingleVal","exec","nonalphamin","extension","fullOtherName","other","splitAndTrim","additionalfields","paramName","field","regex","extensions","Globalize","regexHex","regexInfinity","regexParseFloat","regexTrim","arrayIndexOf","endsWith","isObject","truncate","zeroPad","appendPreOrPostMatch","expandFormat","formatDate","formatNumber","getTokenRegExp","getEra","getEraYear","parseExact","parseNegativePattern","expandNumber","expandYear","getDayIndex","getMonthIndex","getParseRegExp","outOfRange","toUpper","toUpperArray","cultureSelector","cultures","englishName","nativeName","language","numberFormat","pattern","groupSizes","NaN","negativeInfinity","positiveInfinity","percent","symbol","currency","calendars","standard","firstDay","days","names","namesAbbr","namesShort","months","AM","PM","eras","twoDigitYearMax","patterns","D","t","T","f","F","M","Y","S","calendar","en","array","src","copy","copyIsArray","clone","deep","l","preMatch","strings","quoteCount","escaped","il","c","cal","culture","ret","convert","eraDate","getTime","era","setFullYear","toLocaleString","sortable","hour","foundDay","checkedDay","converted","zeros","dayPartRegExp","tokenRegExp","padZeros","r","getPart","part","getFullYear","getMonth","getDate","fromGregorian","lastIndex","ar","current","clength","getDay","monthsGenitive","getHours","getMinutes","getSeconds","getMilliseconds","getTimezoneOffset","precision","formatInfo","curSize","curGroupIndex","factor","rounded","isFinite","numberString","right","exponent","stringIndex","sep","Infinity","nf","patternParts","ticks","year","now","curr","abbr","upperDays","_upperDays","monthsGen","upperMonths","_upperMonths","upperMonthsGen","_upperMonthsGen","_parseRegExp","reFormat","expFormat","regexp","parseRegExp","low","high","arr","results","parseInfo","hourOffset","month","weekDay","sec","msec","tzMinOffset","pmHour","j","jl","matchGroup","matchInt","offsets","minOffset","eraName","defaultYear","toGregorian","setHours","adjustedMin","negativePattern","neg","pos","findClosestCulture","localize","radix","addCultureInfo","cultureName","baseCultureName","base","isNew","lang","prioritized","pri","cultureKey","parseDate","formats","signInfo","sign","intAndFraction","exponentPos","integer","fraction","decSep","decimalPos","groupSep","altGroupSep","expSignInfo","isNumeric","data_click","data_target","getFunction","argNames","shift","Function","isMethodProxySafe","asyncRequest","confirm","loading","duration","cache","beforeSend","setRequestHeader","asyncOnBeforeSend","status","contentType","prepend","replaceWith","asyncOnSuccess","getResponseHeader","formdata","FormData","file","files","processData","href","pageX","pageY","clickInfo","clickTarget","isCancel","serializeArray","centerElement","css","setup","_fadeIn","fadeIn","noOp","msie","userAgent","ie6","setExpr","documentMode","setExpression","blockUI","opts","install","unblockUI","growlUI","timeout","onClose","$m","callBlock","fadeOut","centerY","showOverlay","onUnblock","growlCSS","mouseover","displayBlock","stop","fadeTo","mouseout","block","fullOpts","$el","ignoreIfBlocked","unblock","zoom","version","draggable","theme","textAlign","color","border","backgroundColor","cursor","themedCSS","overlayCSS","opacity","cursorReset","padding","iframeSrc","location","forceIframe","baseZ","centerX","allowBodyStretch","bindEvents","constrainTabKey","focusInput","focusableElements","onBlock","onOverlayClick","quirksmodeOffsetHack","blockMsgClass","pageBlock","pageBlockEls","full","msg","removeChild","lyr1","lyr2","lyr3","z","responsive","layers","$par","cancel","support","boxModel","sz","fixT","fixL","o","marginTop","expression","cb","cb1","cb2","x","y","offsetWidth","center","els","appendChild","w","cssW","unbind","fwd","back","kendo","groupSize","g","G","pl","ui","FilterCell","operators","eq","gte","gt","lte","lt","neq","isnull","isnotnull","endswith","startswith","doesnotcontain","enums","FilterMenu","ColumnMenu","columns","sortAscending","sortDescending","done","lock","unlock","RecurrenceEditor","daily","repeatEvery","after","occurrence","label","never","mobileLabel","frequencies","monthly","weekly","yearly","day","repeatOn","offsetPositions","first","fourth","last","second","third","of","weekdays","weekday","weekend","Grid","commands","canceledit","edit","excel","pdf","select","save","editable","confirmation","cancelDelete","confirmDelete","_checkRows","_uncheckCheckBoxes","table","lockedTable","_deselectCheckRows","_isLocked","_relatedRow","_toggleHeaderCheckState","_persistSelectedRows","Pager","ARIATemplate","allPages","page","itemsPerPage","morePages","TreeListPager","clear","isFalse","isTrue","operator","and","selectValue","or","additionalOperator","additionalValue","logic","FilterMultiCheck","search","Groupable","Editor","bold","createLink","fontName","fontNameInherit","fontSize","fontSizeInherit","formatBlock","indent","insertHtml","insertImage","insertOrderedList","insertUnorderedList","italic","justifyCenter","justifyFull","justifyLeft","justifyRight","outdent","strikethrough","styles","subscript","superscript","underline","unlink","deleteFile","directoryNotFound","emptyFolder","invalidFileType","orderBy","orderByName","orderBySize","overwriteFile","uploadFile","backColor","foreColor","dialogButtonSeparator","dialogCancel","dialogInsert","imageAltText","imageWebAddress","imageWidth","imageHeight","linkWebAddress","linkText","linkToolTip","linkOpenInNewWindow","createTable","createTableHint","addColumnLeft","addColumnRight","addRowAbove","addRowBelow","deleteRow","deleteColumn","mergeCellsHorizontally","mergeCellsVertically","splitCellHorizontally","splitCellVertically","tableWizard","tableTab","cellTab","accessibilityTab","caption","summary","units","cellSpacing","cellPadding","cellMargin","alignment","background","cssClass","borderStyle","collapseBorders","wrapText","associateCellsWithHeaders","alignLeft","alignCenter","alignRight","alignLeftTop","alignCenterTop","alignRightTop","alignLeftMiddle","alignCenterMiddle","alignRightMiddle","alignLeftBottom","alignCenterBottom","alignRightBottom","alignRemove","rows","selectAllCells","dropFilesHere","formatting","viewHtml","dialogUpdate","insertFile","editAreaTitle","FileBrowser","ImageBrowser","Upload","localization","retry","statusFailed","statusUploaded","statusUploading","uploadSelectedFiles","headerStatusUploaded","headerStatusUploading","invalidMaxFileSize","invalidMinFileSize","invalidFileExtension","Scheduler","allDay","editor","allDayEvent","description","editorTitle","endTimezone","repeat","separateTimezones","startTimezone","timezone","timezoneEditorButton","timezoneEditorTitle","noTimezone","recurrenceMessages","deleteRecurring","deleteWindowOccurrence","deleteWindowSeries","deleteWindowTitle","editRecurring","editWindowOccurrence","editWindowSeries","editWindowTitle","time","today","views","agenda","week","workWeek","showFullDay","showWorkDay","ariaSlotLabel","ariaEventLabel","Dialog","okText","Confirm","Prompt","ColorPicker","DatePicker","dateButtonText","timeButtonText","DropDownList","_span","_inputWrapper","firstChild","_arrow","_arrowIcon","NumericTextBox","upArrowText","downArrowText","_icon","_dateIcon","role","dateView","_dateViewID","SchedulerView","_verticalSlots","groupIndex","startSlot","endSlot","_normalizeVerticalSelection","_getNextVerticalRange","_isVerticallyGrouped","_isGroupedByDate","_changeDate","_changeGroup","MultiDayView","_updateDirection","isAllDay","collectionIndex","backward","ErrorHandling","noBasePage","maintenancePage","ajaxError","ajaxErrorHandling","onerror","jsErrorHandling","jqXHR","thrownError","responseText","err","ajaxErrorBody","exception","ajaxErrorExceptionClass","ajaxErrorExceptionMessage","alertMsg","ajaxErrorTitle","line","jsErrorTitle","jsErrorBody","h","getScrollInfo","isWindow","isDocument","scrollWidth","getWithinInfo","scrollLeft","outerWidth","outerHeight","q","within","collision","at","A","my","marginLeft","targetWidth","targetHeight","elemWidth","elemHeight","collisionPosition","collisionWidth","collisionHeight","using","horizontal","vertical","important","_trigger","positionData","triggered","fit","flip","flipfit","getElementsByTagName","margin","insertBefore","cssText","offsetFractions","iconpicker","_id","_idCounter","iconpickerValue","templates","originalPlacement","isDropdownMenu","input","_createPopover","_createIconpicker","getAcceptButton","mustAccept","isInputGroup","popover","_bindElementEvents","_bindWindowEvents","isInline","defaultValue","hideOnSelect","showFooter","searchInFooter","selectedCustomClass","icons","fullClassFormatter","inputSearch","footer","buttons","iconpickerItem","batch","iconpickerInstance","hasSeparatedSearchInput","searchTerms","_isEventInsideIconpicker","getSearchInput","getCancelButton","hasComponent","hasInput","_updateFormGroupStatus","getValid","updatePlacement","_unbindElementEvents","hasContainer","_unbindWindowEvents","bottom","maxWidth","_updateComponents","getHtml","setValue","setSourceValue","getSourceValue","isInputSearch","eRMap","determineWayError","showMarkersError","initialAddress","print","printingMap","setRoute","traffic"],"mappings":"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","file":"bottomscripts.min.js","sourcesContent":[null,"/*!\r\n * jQuery Validation Plugin v1.19.3\r\n *\r\n * https://jqueryvalidation.org/\r\n *\r\n * Copyright (c) 2021 Jörn Zaefferer\r\n * Released under the MIT license\r\n */\r\n(function (factory) {\r\n\tif (typeof define === \"function\" && define.amd) {\r\n\t\tdefine([\"jquery\"], factory);\r\n\t} else if (typeof module === \"object\" && module.exports) {\r\n\t\tmodule.exports = factory(require(\"jquery\"));\r\n\t} else {\r\n\t\tfactory(jQuery);\r\n\t}\r\n}(function ($) {\r\n\r\n\t$.extend($.fn, {\r\n\r\n\t\t// https://jqueryvalidation.org/validate/\r\n\t\tvalidate: function (options) {\r\n\r\n\t\t\t// If nothing is selected, return nothing; can't chain anyway\r\n\t\t\tif (!this.length) {\r\n\t\t\t\tif (options && options.debug && window.console) {\r\n\t\t\t\t\tconsole.warn(\"Nothing selected, can't validate, returning nothing.\");\r\n\t\t\t\t}\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// Check if a validator for this form was already created\r\n\t\t\tvar validator = $.data(this[0], \"validator\");\r\n\t\t\tif (validator) {\r\n\t\t\t\treturn validator;\r\n\t\t\t}\r\n\r\n\t\t\t// Add novalidate tag if HTML5.\r\n\t\t\tthis.attr(\"novalidate\", \"novalidate\");\r\n\r\n\t\t\tvalidator = new $.validator(options, this[0]);\r\n\t\t\t$.data(this[0], \"validator\", validator);\r\n\r\n\t\t\tif (validator.settings.onsubmit) {\r\n\r\n\t\t\t\tthis.on(\"click.validate\", \":submit\", function (event) {\r\n\r\n\t\t\t\t\t// Track the used submit button to properly handle scripted\r\n\t\t\t\t\t// submits later.\r\n\t\t\t\t\tvalidator.submitButton = event.currentTarget;\r\n\r\n\t\t\t\t\t// Allow suppressing validation by adding a cancel class to the submit button\r\n\t\t\t\t\tif ($(this).hasClass(\"cancel\")) {\r\n\t\t\t\t\t\tvalidator.cancelSubmit = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Allow suppressing validation by adding the html5 formnovalidate attribute to the submit button\r\n\t\t\t\t\tif ($(this).attr(\"formnovalidate\") !== undefined) {\r\n\t\t\t\t\t\tvalidator.cancelSubmit = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\t// Validate the form on submit\r\n\t\t\t\tthis.on(\"submit.validate\", function (event) {\r\n\t\t\t\t\tif (validator.settings.debug) {\r\n\r\n\t\t\t\t\t\t// Prevent form submit to be able to see console output\r\n\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tfunction handle() {\r\n\t\t\t\t\t\tvar hidden, result;\r\n\r\n\t\t\t\t\t\t// Insert a hidden input as a replacement for the missing submit button\r\n\t\t\t\t\t\t// The hidden input is inserted in two cases:\r\n\t\t\t\t\t\t// - A user defined a `submitHandler`\r\n\t\t\t\t\t\t// - There was a pending request due to `remote` method and `stopRequest()`\r\n\t\t\t\t\t\t// was called to submit the form in case it's valid\r\n\t\t\t\t\t\tif (validator.submitButton && (validator.settings.submitHandler || validator.formSubmitted)) {\r\n\t\t\t\t\t\t\thidden = $(\"\")\r\n\t\t\t\t\t\t\t\t.attr(\"name\", validator.submitButton.name)\r\n\t\t\t\t\t\t\t\t.val($(validator.submitButton).val())\r\n\t\t\t\t\t\t\t\t.appendTo(validator.currentForm);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (validator.settings.submitHandler && !validator.settings.debug) {\r\n\t\t\t\t\t\t\tresult = validator.settings.submitHandler.call(validator, validator.currentForm, event);\r\n\t\t\t\t\t\t\tif (hidden) {\r\n\r\n\t\t\t\t\t\t\t\t// And clean up afterwards; thanks to no-block-scope, hidden can be referenced\r\n\t\t\t\t\t\t\t\thidden.remove();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (result !== undefined) {\r\n\t\t\t\t\t\t\t\treturn result;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Prevent submit for invalid forms or custom submit handlers\r\n\t\t\t\t\tif (validator.cancelSubmit) {\r\n\t\t\t\t\t\tvalidator.cancelSubmit = false;\r\n\t\t\t\t\t\treturn handle();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (validator.form()) {\r\n\t\t\t\t\t\tif (validator.pendingRequest) {\r\n\t\t\t\t\t\t\tvalidator.formSubmitted = true;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn handle();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvalidator.focusInvalid();\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\treturn validator;\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/valid/\r\n\t\tvalid: function () {\r\n\t\t\tvar valid, validator, errorList;\r\n\r\n\t\t\tif ($(this[0]).is(\"form\")) {\r\n\t\t\t\tvalid = this.validate().form();\r\n\t\t\t} else {\r\n\t\t\t\terrorList = [];\r\n\t\t\t\tvalid = true;\r\n\t\t\t\tvalidator = $(this[0].form).validate();\r\n\t\t\t\tthis.each(function () {\r\n\t\t\t\t\tvalid = validator.element(this) && valid;\r\n\t\t\t\t\tif (!valid) {\r\n\t\t\t\t\t\terrorList = errorList.concat(validator.errorList);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tvalidator.errorList = errorList;\r\n\t\t\t}\r\n\t\t\treturn valid;\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/rules/\r\n\t\trules: function (command, argument) {\r\n\t\t\tvar element = this[0],\r\n\t\t\t\tisContentEditable = typeof this.attr(\"contenteditable\") !== \"undefined\" && this.attr(\"contenteditable\") !== \"false\",\r\n\t\t\t\tsettings, staticRules, existingRules, data, param, filtered;\r\n\r\n\t\t\t// If nothing is selected, return empty object; can't chain anyway\r\n\t\t\tif (element == null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (!element.form && isContentEditable) {\r\n\t\t\t\telement.form = this.closest(\"form\")[0];\r\n\t\t\t\telement.name = this.attr(\"name\");\r\n\t\t\t}\r\n\r\n\t\t\tif (element.form == null) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif (command) {\r\n\t\t\t\tsettings = $.data(element.form, \"validator\").settings;\r\n\t\t\t\tstaticRules = settings.rules;\r\n\t\t\t\texistingRules = $.validator.staticRules(element);\r\n\t\t\t\tswitch (command) {\r\n\t\t\t\t\tcase \"add\":\r\n\t\t\t\t\t\t$.extend(existingRules, $.validator.normalizeRule(argument));\r\n\r\n\t\t\t\t\t\t// Remove messages from rules, but allow them to be set separately\r\n\t\t\t\t\t\tdelete existingRules.messages;\r\n\t\t\t\t\t\tstaticRules[element.name] = existingRules;\r\n\t\t\t\t\t\tif (argument.messages) {\r\n\t\t\t\t\t\t\tsettings.messages[element.name] = $.extend(settings.messages[element.name], argument.messages);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase \"remove\":\r\n\t\t\t\t\t\tif (!argument) {\r\n\t\t\t\t\t\t\tdelete staticRules[element.name];\r\n\t\t\t\t\t\t\treturn existingRules;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfiltered = {};\r\n\t\t\t\t\t\t$.each(argument.split(/\\s/), function (index, method) {\r\n\t\t\t\t\t\t\tfiltered[method] = existingRules[method];\r\n\t\t\t\t\t\t\tdelete existingRules[method];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn filtered;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tdata = $.validator.normalizeRules(\r\n\t\t\t\t$.extend(\r\n\t\t\t\t\t{},\r\n\t\t\t\t\t$.validator.classRules(element),\r\n\t\t\t\t\t$.validator.attributeRules(element),\r\n\t\t\t\t\t$.validator.dataRules(element),\r\n\t\t\t\t\t$.validator.staticRules(element)\r\n\t\t\t\t), element);\r\n\r\n\t\t\t// Make sure required is at front\r\n\t\t\tif (data.required) {\r\n\t\t\t\tparam = data.required;\r\n\t\t\t\tdelete data.required;\r\n\t\t\t\tdata = $.extend({ required: param }, data);\r\n\t\t\t}\r\n\r\n\t\t\t// Make sure remote is at back\r\n\t\t\tif (data.remote) {\r\n\t\t\t\tparam = data.remote;\r\n\t\t\t\tdelete data.remote;\r\n\t\t\t\tdata = $.extend(data, { remote: param });\r\n\t\t\t}\r\n\r\n\t\t\treturn data;\r\n\t\t}\r\n\t});\r\n\r\n\t// JQuery trim is deprecated, provide a trim method based on String.prototype.trim\r\n\tvar trim = function (str) {\r\n\r\n\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim#Polyfill\r\n\t\treturn str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, \"\");\r\n\t};\r\n\r\n\t// Custom selectors\r\n\t$.extend($.expr.pseudos || $.expr[\":\"], {\t\t// '|| $.expr[ \":\" ]' here enables backwards compatibility to jQuery 1.7. Can be removed when dropping jQ 1.7.x support\r\n\r\n\t\t// https://jqueryvalidation.org/blank-selector/\r\n\t\tblank: function (a) {\r\n\t\t\treturn !trim(\"\" + $(a).val());\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/filled-selector/\r\n\t\tfilled: function (a) {\r\n\t\t\tvar val = $(a).val();\r\n\t\t\treturn val !== null && !!trim(\"\" + val);\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/unchecked-selector/\r\n\t\tunchecked: function (a) {\r\n\t\t\treturn !$(a).prop(\"checked\");\r\n\t\t}\r\n\t});\r\n\r\n\t// Constructor for validator\r\n\t$.validator = function (options, form) {\r\n\t\tthis.settings = $.extend(true, {}, $.validator.defaults, options);\r\n\t\tthis.currentForm = form;\r\n\t\tthis.init();\r\n\t};\r\n\r\n\t// https://jqueryvalidation.org/jQuery.validator.format/\r\n\t$.validator.format = function (source, params) {\r\n\t\tif (arguments.length === 1) {\r\n\t\t\treturn function () {\r\n\t\t\t\tvar args = $.makeArray(arguments);\r\n\t\t\t\targs.unshift(source);\r\n\t\t\t\treturn $.validator.format.apply(this, args);\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (params === undefined) {\r\n\t\t\treturn source;\r\n\t\t}\r\n\t\tif (arguments.length > 2 && params.constructor !== Array) {\r\n\t\t\tparams = $.makeArray(arguments).slice(1);\r\n\t\t}\r\n\t\tif (params.constructor !== Array) {\r\n\t\t\tparams = [params];\r\n\t\t}\r\n\t\t$.each(params, function (i, n) {\r\n\t\t\tsource = source.replace(new RegExp(\"\\\\{\" + i + \"\\\\}\", \"g\"), function () {\r\n\t\t\t\treturn n;\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn source;\r\n\t};\r\n\r\n\t$.extend($.validator, {\r\n\r\n\t\tdefaults: {\r\n\t\t\tmessages: {},\r\n\t\t\tgroups: {},\r\n\t\t\trules: {},\r\n\t\t\terrorClass: \"error\",\r\n\t\t\tpendingClass: \"pending\",\r\n\t\t\tvalidClass: \"valid\",\r\n\t\t\terrorElement: \"label\",\r\n\t\t\tfocusCleanup: false,\r\n\t\t\tfocusInvalid: true,\r\n\t\t\terrorContainer: $([]),\r\n\t\t\terrorLabelContainer: $([]),\r\n\t\t\tonsubmit: true,\r\n\t\t\tignore: \":hidden\",\r\n\t\t\tignoreTitle: false,\r\n\t\t\tonfocusin: function (element) {\r\n\t\t\t\tthis.lastActive = element;\r\n\r\n\t\t\t\t// Hide error label and remove error class on focus if enabled\r\n\t\t\t\tif (this.settings.focusCleanup) {\r\n\t\t\t\t\tif (this.settings.unhighlight) {\r\n\t\t\t\t\t\tthis.settings.unhighlight.call(this, element, this.settings.errorClass, this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.hideThese(this.errorsFor(element));\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonfocusout: function (element) {\r\n\t\t\t\tif (!this.checkable(element) && (element.name in this.submitted || !this.optional(element))) {\r\n\t\t\t\t\tthis.element(element);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonkeyup: function (element, event) {\r\n\r\n\t\t\t\t// Avoid revalidate the field when pressing one of the following keys\r\n\t\t\t\t// Shift => 16\r\n\t\t\t\t// Ctrl => 17\r\n\t\t\t\t// Alt => 18\r\n\t\t\t\t// Caps lock => 20\r\n\t\t\t\t// End => 35\r\n\t\t\t\t// Home => 36\r\n\t\t\t\t// Left arrow => 37\r\n\t\t\t\t// Up arrow => 38\r\n\t\t\t\t// Right arrow => 39\r\n\t\t\t\t// Down arrow => 40\r\n\t\t\t\t// Insert => 45\r\n\t\t\t\t// Num lock => 144\r\n\t\t\t\t// AltGr key => 225\r\n\t\t\t\tvar excludedKeys = [\r\n\t\t\t\t\t16, 17, 18, 20, 35, 36, 37,\r\n\t\t\t\t\t38, 39, 40, 45, 144, 225\r\n\t\t\t\t];\r\n\r\n\t\t\t\tif (event.which === 9 && this.elementValue(element) === \"\" || $.inArray(event.keyCode, excludedKeys) !== -1) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t} else if (element.name in this.submitted || element.name in this.invalid) {\r\n\t\t\t\t\tthis.element(element);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tonclick: function (element) {\r\n\r\n\t\t\t\t// Click on selects, radiobuttons and checkboxes\r\n\t\t\t\tif (element.name in this.submitted) {\r\n\t\t\t\t\tthis.element(element);\r\n\r\n\t\t\t\t\t// Or option elements, check parent select in that case\r\n\t\t\t\t} else if (element.parentNode.name in this.submitted) {\r\n\t\t\t\t\tthis.element(element.parentNode);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\thighlight: function (element, errorClass, validClass) {\r\n\t\t\t\tif (element.type === \"radio\") {\r\n\t\t\t\t\tthis.findByName(element.name).addClass(errorClass).removeClass(validClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(element).addClass(errorClass).removeClass(validClass);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tunhighlight: function (element, errorClass, validClass) {\r\n\t\t\t\tif (element.type === \"radio\") {\r\n\t\t\t\t\tthis.findByName(element.name).removeClass(errorClass).addClass(validClass);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(element).removeClass(errorClass).addClass(validClass);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/jQuery.validator.setDefaults/\r\n\t\tsetDefaults: function (settings) {\r\n\t\t\t$.extend($.validator.defaults, settings);\r\n\t\t},\r\n\r\n\t\tmessages: {\r\n\t\t\trequired: \"This field is required.\",\r\n\t\t\tremote: \"Please fix this field.\",\r\n\t\t\temail: \"Please enter a valid email address.\",\r\n\t\t\turl: \"Please enter a valid URL.\",\r\n\t\t\tdate: \"Please enter a valid date.\",\r\n\t\t\tdateISO: \"Please enter a valid date (ISO).\",\r\n\t\t\tnumber: \"Please enter a valid number.\",\r\n\t\t\tdigits: \"Please enter only digits.\",\r\n\t\t\tequalTo: \"Please enter the same value again.\",\r\n\t\t\tmaxlength: $.validator.format(\"Please enter no more than {0} characters.\"),\r\n\t\t\tminlength: $.validator.format(\"Please enter at least {0} characters.\"),\r\n\t\t\trangelength: $.validator.format(\"Please enter a value between {0} and {1} characters long.\"),\r\n\t\t\trange: $.validator.format(\"Please enter a value between {0} and {1}.\"),\r\n\t\t\tmax: $.validator.format(\"Please enter a value less than or equal to {0}.\"),\r\n\t\t\tmin: $.validator.format(\"Please enter a value greater than or equal to {0}.\"),\r\n\t\t\tstep: $.validator.format(\"Please enter a multiple of {0}.\")\r\n\t\t},\r\n\r\n\t\tautoCreateRanges: false,\r\n\r\n\t\tprototype: {\r\n\r\n\t\t\tinit: function () {\r\n\t\t\t\tthis.labelContainer = $(this.settings.errorLabelContainer);\r\n\t\t\t\tthis.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm);\r\n\t\t\t\tthis.containers = $(this.settings.errorContainer).add(this.settings.errorLabelContainer);\r\n\t\t\t\tthis.submitted = {};\r\n\t\t\t\tthis.valueCache = {};\r\n\t\t\t\tthis.pendingRequest = 0;\r\n\t\t\t\tthis.pending = {};\r\n\t\t\t\tthis.invalid = {};\r\n\t\t\t\tthis.reset();\r\n\r\n\t\t\t\tvar currentForm = this.currentForm,\r\n\t\t\t\t\tgroups = (this.groups = {}),\r\n\t\t\t\t\trules;\r\n\t\t\t\t$.each(this.settings.groups, function (key, value) {\r\n\t\t\t\t\tif (typeof value === \"string\") {\r\n\t\t\t\t\t\tvalue = value.split(/\\s/);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$.each(value, function (index, name) {\r\n\t\t\t\t\t\tgroups[name] = key;\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t\trules = this.settings.rules;\r\n\t\t\t\t$.each(rules, function (key, value) {\r\n\t\t\t\t\trules[key] = $.validator.normalizeRule(value);\r\n\t\t\t\t});\r\n\r\n\t\t\t\tfunction delegate(event) {\r\n\t\t\t\t\tvar isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\r\n\r\n\t\t\t\t\t// Set form expando on contenteditable\r\n\t\t\t\t\tif (!this.form && isContentEditable) {\r\n\t\t\t\t\t\tthis.form = $(this).closest(\"form\")[0];\r\n\t\t\t\t\t\tthis.name = $(this).attr(\"name\");\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Ignore the element if it belongs to another form. This will happen mainly\r\n\t\t\t\t\t// when setting the `form` attribute of an input to the id of another form.\r\n\t\t\t\t\tif (currentForm !== this.form) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar validator = $.data(this.form, \"validator\"),\r\n\t\t\t\t\t\teventType = \"on\" + event.type.replace(/^validate/, \"\"),\r\n\t\t\t\t\t\tsettings = validator.settings;\r\n\t\t\t\t\tif (settings[eventType] && !$(this).is(settings.ignore)) {\r\n\t\t\t\t\t\tsettings[eventType].call(validator, this, event);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t$(this.currentForm)\r\n\t\t\t\t\t.on(\"focusin.validate focusout.validate keyup.validate\",\r\n\t\t\t\t\t\t\":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], \" +\r\n\t\t\t\t\t\t\"[type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], \" +\r\n\t\t\t\t\t\t\"[type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], \" +\r\n\t\t\t\t\t\t\"[type='radio'], [type='checkbox'], [contenteditable], [type='button']\", delegate)\r\n\r\n\t\t\t\t\t// Support: Chrome, oldIE\r\n\t\t\t\t\t// \"select\" is provided as event.target when clicking a option\r\n\t\t\t\t\t.on(\"click.validate\", \"select, option, [type='radio'], [type='checkbox']\", delegate);\r\n\r\n\t\t\t\tif (this.settings.invalidHandler) {\r\n\t\t\t\t\t$(this.currentForm).on(\"invalid-form.validate\", this.settings.invalidHandler);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.form/\r\n\t\t\tform: function () {\r\n\t\t\t\tthis.checkForm();\r\n\t\t\t\t$.extend(this.submitted, this.errorMap);\r\n\t\t\t\tthis.invalid = $.extend({}, this.errorMap);\r\n\t\t\t\tif (!this.valid()) {\r\n\t\t\t\t\t$(this.currentForm).triggerHandler(\"invalid-form\", [this]);\r\n\t\t\t\t}\r\n\t\t\t\tthis.showErrors();\r\n\t\t\t\treturn this.valid();\r\n\t\t\t},\r\n\r\n\t\t\tcheckForm: function () {\r\n\t\t\t\tthis.prepareForm();\r\n\t\t\t\tfor (var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++) {\r\n\t\t\t\t\tthis.check(elements[i]);\r\n\t\t\t\t}\r\n\t\t\t\treturn this.valid();\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.element/\r\n\t\t\telement: function (element) {\r\n\t\t\t\tvar cleanElement = this.clean(element),\r\n\t\t\t\t\tcheckElement = this.validationTargetFor(cleanElement),\r\n\t\t\t\t\tv = this,\r\n\t\t\t\t\tresult = true,\r\n\t\t\t\t\trs, group;\r\n\r\n\t\t\t\tif (checkElement === undefined) {\r\n\t\t\t\t\tdelete this.invalid[cleanElement.name];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.prepareElement(checkElement);\r\n\t\t\t\t\tthis.currentElements = $(checkElement);\r\n\r\n\t\t\t\t\t// If this element is grouped, then validate all group elements already\r\n\t\t\t\t\t// containing a value\r\n\t\t\t\t\tgroup = this.groups[checkElement.name];\r\n\t\t\t\t\tif (group) {\r\n\t\t\t\t\t\t$.each(this.groups, function (name, testgroup) {\r\n\t\t\t\t\t\t\tif (testgroup === group && name !== checkElement.name) {\r\n\t\t\t\t\t\t\t\tcleanElement = v.validationTargetFor(v.clean(v.findByName(name)));\r\n\t\t\t\t\t\t\t\tif (cleanElement && cleanElement.name in v.invalid) {\r\n\t\t\t\t\t\t\t\t\tv.currentElements.push(cleanElement);\r\n\t\t\t\t\t\t\t\t\tresult = v.check(cleanElement) && result;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\trs = this.check(checkElement) !== false;\r\n\t\t\t\t\tresult = result && rs;\r\n\t\t\t\t\tif (rs) {\r\n\t\t\t\t\t\tthis.invalid[checkElement.name] = false;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.invalid[checkElement.name] = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (!this.numberOfInvalids()) {\r\n\r\n\t\t\t\t\t\t// Hide error containers on last error\r\n\t\t\t\t\t\tthis.toHide = this.toHide.add(this.containers);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.showErrors();\r\n\r\n\t\t\t\t\t// Add aria-invalid status for screen readers\r\n\t\t\t\t\t$(element).attr(\"aria-invalid\", !rs);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.showErrors/\r\n\t\t\tshowErrors: function (errors) {\r\n\t\t\t\tif (errors) {\r\n\t\t\t\t\tvar validator = this;\r\n\r\n\t\t\t\t\t// Add items to error list and map\r\n\t\t\t\t\t$.extend(this.errorMap, errors);\r\n\t\t\t\t\tthis.errorList = $.map(this.errorMap, function (message, name) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tmessage: message,\r\n\t\t\t\t\t\t\telement: validator.findByName(name)[0]\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\t// Remove items from success list\r\n\t\t\t\t\tthis.successList = $.grep(this.successList, function (element) {\r\n\t\t\t\t\t\treturn !(element.name in errors);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.showErrors) {\r\n\t\t\t\t\tthis.settings.showErrors.call(this, this.errorMap, this.errorList);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.defaultShowErrors();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/Validator.resetForm/\r\n\t\t\tresetForm: function () {\r\n\t\t\t\tif ($.fn.resetForm) {\r\n\t\t\t\t\t$(this.currentForm).resetForm();\r\n\t\t\t\t}\r\n\t\t\t\tthis.invalid = {};\r\n\t\t\t\tthis.submitted = {};\r\n\t\t\t\tthis.prepareForm();\r\n\t\t\t\tthis.hideErrors();\r\n\t\t\t\tvar elements = this.elements()\r\n\t\t\t\t\t.removeData(\"previousValue\")\r\n\t\t\t\t\t.removeAttr(\"aria-invalid\");\r\n\r\n\t\t\t\tthis.resetElements(elements);\r\n\t\t\t},\r\n\r\n\t\t\tresetElements: function (elements) {\r\n\t\t\t\tvar i;\r\n\r\n\t\t\t\tif (this.settings.unhighlight) {\r\n\t\t\t\t\tfor (i = 0; elements[i]; i++) {\r\n\t\t\t\t\t\tthis.settings.unhighlight.call(this, elements[i],\r\n\t\t\t\t\t\t\tthis.settings.errorClass, \"\");\r\n\t\t\t\t\t\tthis.findByName(elements[i].name).removeClass(this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\telements\r\n\t\t\t\t\t\t.removeClass(this.settings.errorClass)\r\n\t\t\t\t\t\t.removeClass(this.settings.validClass);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tnumberOfInvalids: function () {\r\n\t\t\t\treturn this.objectLength(this.invalid);\r\n\t\t\t},\r\n\r\n\t\t\tobjectLength: function (obj) {\r\n\t\t\t\t/* jshint unused: false */\r\n\t\t\t\tvar count = 0,\r\n\t\t\t\t\ti;\r\n\t\t\t\tfor (i in obj) {\r\n\r\n\t\t\t\t\t// This check allows counting elements with empty error\r\n\t\t\t\t\t// message as invalid elements\r\n\t\t\t\t\tif (obj[i] !== undefined && obj[i] !== null && obj[i] !== false) {\r\n\t\t\t\t\t\tcount++;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn count;\r\n\t\t\t},\r\n\r\n\t\t\thideErrors: function () {\r\n\t\t\t\tthis.hideThese(this.toHide);\r\n\t\t\t},\r\n\r\n\t\t\thideThese: function (errors) {\r\n\t\t\t\terrors.not(this.containers).text(\"\");\r\n\t\t\t\tthis.addWrapper(errors).hide();\r\n\t\t\t},\r\n\r\n\t\t\tvalid: function () {\r\n\t\t\t\treturn this.size() === 0;\r\n\t\t\t},\r\n\r\n\t\t\tsize: function () {\r\n\t\t\t\treturn this.errorList.length;\r\n\t\t\t},\r\n\r\n\t\t\tfocusInvalid: function () {\r\n\t\t\t\tif (this.settings.focusInvalid) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\t$(this.findLastActive() || this.errorList.length && this.errorList[0].element || [])\r\n\t\t\t\t\t\t\t.filter(\":visible\")\r\n\t\t\t\t\t\t\t.trigger(\"focus\")\r\n\r\n\t\t\t\t\t\t\t// Manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find\r\n\t\t\t\t\t\t\t.trigger(\"focusin\");\r\n\t\t\t\t\t} catch (e) {\r\n\r\n\t\t\t\t\t\t// Ignore IE throwing errors when focusing hidden elements\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tfindLastActive: function () {\r\n\t\t\t\tvar lastActive = this.lastActive;\r\n\t\t\t\treturn lastActive && $.grep(this.errorList, function (n) {\r\n\t\t\t\t\treturn n.element.name === lastActive.name;\r\n\t\t\t\t}).length === 1 && lastActive;\r\n\t\t\t},\r\n\r\n\t\t\telements: function () {\r\n\t\t\t\tvar validator = this,\r\n\t\t\t\t\trulesCache = {};\r\n\r\n\t\t\t\t// Select all valid inputs inside the form (no submit or reset buttons)\r\n\t\t\t\treturn $(this.currentForm)\r\n\t\t\t\t\t.find(\"input, select, textarea, [contenteditable]\")\r\n\t\t\t\t\t.not(\":submit, :reset, :image, :disabled\")\r\n\t\t\t\t\t.not(this.settings.ignore)\r\n\t\t\t\t\t.filter(function () {\r\n\t\t\t\t\t\tvar name = this.name || $(this).attr(\"name\"); // For contenteditable\r\n\t\t\t\t\t\tvar isContentEditable = typeof $(this).attr(\"contenteditable\") !== \"undefined\" && $(this).attr(\"contenteditable\") !== \"false\";\r\n\r\n\t\t\t\t\t\tif (!name && validator.settings.debug && window.console) {\r\n\t\t\t\t\t\t\tconsole.error(\"%o has no name assigned\", this);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Set form expando on contenteditable\r\n\t\t\t\t\t\tif (isContentEditable) {\r\n\t\t\t\t\t\t\tthis.form = $(this).closest(\"form\")[0];\r\n\t\t\t\t\t\t\tthis.name = name;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Ignore elements that belong to other/nested forms\r\n\t\t\t\t\t\tif (this.form !== validator.currentForm) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Select only the first element for each name, and only those with rules specified\r\n\t\t\t\t\t\tif (name in rulesCache || !validator.objectLength($(this).rules())) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\trulesCache[name] = true;\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tclean: function (selector) {\r\n\t\t\t\treturn $(selector)[0];\r\n\t\t\t},\r\n\r\n\t\t\terrors: function () {\r\n\t\t\t\tvar errorClass = this.settings.errorClass.split(\" \").join(\".\");\r\n\t\t\t\treturn $(this.settings.errorElement + \".\" + errorClass, this.errorContext);\r\n\t\t\t},\r\n\r\n\t\t\tresetInternals: function () {\r\n\t\t\t\tthis.successList = [];\r\n\t\t\t\tthis.errorList = [];\r\n\t\t\t\tthis.errorMap = {};\r\n\t\t\t\tthis.toShow = $([]);\r\n\t\t\t\tthis.toHide = $([]);\r\n\t\t\t},\r\n\r\n\t\t\treset: function () {\r\n\t\t\t\tthis.resetInternals();\r\n\t\t\t\tthis.currentElements = $([]);\r\n\t\t\t},\r\n\r\n\t\t\tprepareForm: function () {\r\n\t\t\t\tthis.reset();\r\n\t\t\t\tthis.toHide = this.errors().add(this.containers);\r\n\t\t\t},\r\n\r\n\t\t\tprepareElement: function (element) {\r\n\t\t\t\tthis.reset();\r\n\t\t\t\tthis.toHide = this.errorsFor(element);\r\n\t\t\t},\r\n\r\n\t\t\telementValue: function (element) {\r\n\t\t\t\tvar $element = $(element),\r\n\t\t\t\t\ttype = element.type,\r\n\t\t\t\t\tisContentEditable = typeof $element.attr(\"contenteditable\") !== \"undefined\" && $element.attr(\"contenteditable\") !== \"false\",\r\n\t\t\t\t\tval, idx;\r\n\r\n\t\t\t\tif (type === \"radio\" || type === \"checkbox\") {\r\n\t\t\t\t\treturn this.findByName(element.name).filter(\":checked\").val();\r\n\t\t\t\t} else if (type === \"number\" && typeof element.validity !== \"undefined\") {\r\n\t\t\t\t\treturn element.validity.badInput ? \"NaN\" : $element.val();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (isContentEditable) {\r\n\t\t\t\t\tval = $element.text();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tval = $element.val();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (type === \"file\") {\r\n\r\n\t\t\t\t\t// Modern browser (chrome & safari)\r\n\t\t\t\t\tif (val.substr(0, 12) === \"C:\\\\fakepath\\\\\") {\r\n\t\t\t\t\t\treturn val.substr(12);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Legacy browsers\r\n\t\t\t\t\t// Unix-based path\r\n\t\t\t\t\tidx = val.lastIndexOf(\"/\");\r\n\t\t\t\t\tif (idx >= 0) {\r\n\t\t\t\t\t\treturn val.substr(idx + 1);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Windows-based path\r\n\t\t\t\t\tidx = val.lastIndexOf(\"\\\\\");\r\n\t\t\t\t\tif (idx >= 0) {\r\n\t\t\t\t\t\treturn val.substr(idx + 1);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Just the file name\r\n\t\t\t\t\treturn val;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (typeof val === \"string\") {\r\n\t\t\t\t\treturn val.replace(/\\r/g, \"\");\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t},\r\n\r\n\t\t\tcheck: function (element) {\r\n\t\t\t\telement = this.validationTargetFor(this.clean(element));\r\n\r\n\t\t\t\tvar rules = $(element).rules(),\r\n\t\t\t\t\trulesCount = $.map(rules, function (n, i) {\r\n\t\t\t\t\t\treturn i;\r\n\t\t\t\t\t}).length,\r\n\t\t\t\t\tdependencyMismatch = false,\r\n\t\t\t\t\tval = this.elementValue(element),\r\n\t\t\t\t\tresult, method, rule, normalizer;\r\n\r\n\t\t\t\t// Prioritize the local normalizer defined for this element over the global one\r\n\t\t\t\t// if the former exists, otherwise user the global one in case it exists.\r\n\t\t\t\tif (typeof rules.normalizer === \"function\") {\r\n\t\t\t\t\tnormalizer = rules.normalizer;\r\n\t\t\t\t} else if (typeof this.settings.normalizer === \"function\") {\r\n\t\t\t\t\tnormalizer = this.settings.normalizer;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If normalizer is defined, then call it to retreive the changed value instead\r\n\t\t\t\t// of using the real one.\r\n\t\t\t\t// Note that `this` in the normalizer is `element`.\r\n\t\t\t\tif (normalizer) {\r\n\t\t\t\t\tval = normalizer.call(element, val);\r\n\r\n\t\t\t\t\t// Delete the normalizer from rules to avoid treating it as a pre-defined method.\r\n\t\t\t\t\tdelete rules.normalizer;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor (method in rules) {\r\n\t\t\t\t\trule = { method: method, parameters: rules[method] };\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tresult = $.validator.methods[method].call(this, val, element, rule.parameters);\r\n\r\n\t\t\t\t\t\t// If a method indicates that the field is optional and therefore valid,\r\n\t\t\t\t\t\t// don't mark it as valid when there are no other rules\r\n\t\t\t\t\t\tif (result === \"dependency-mismatch\" && rulesCount === 1) {\r\n\t\t\t\t\t\t\tdependencyMismatch = true;\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdependencyMismatch = false;\r\n\r\n\t\t\t\t\t\tif (result === \"pending\") {\r\n\t\t\t\t\t\t\tthis.toHide = this.toHide.not(this.errorsFor(element));\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (!result) {\r\n\t\t\t\t\t\t\tthis.formatAndAdd(element, rule);\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\tif (this.settings.debug && window.console) {\r\n\t\t\t\t\t\t\tconsole.log(\"Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\", e);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (e instanceof TypeError) {\r\n\t\t\t\t\t\t\te.message += \". Exception occurred when checking element \" + element.id + \", check the '\" + rule.method + \"' method.\";\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthrow e;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (dependencyMismatch) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.objectLength(rules)) {\r\n\t\t\t\t\tthis.successList.push(element);\r\n\t\t\t\t}\r\n\t\t\t\treturn true;\r\n\t\t\t},\r\n\r\n\t\t\t// Return the custom message for the given element and validation method\r\n\t\t\t// specified in the element's HTML5 data attribute\r\n\t\t\t// return the generic message if present and no method specific message is present\r\n\t\t\tcustomDataMessage: function (element, method) {\r\n\t\t\t\treturn $(element).data(\"msg\" + method.charAt(0).toUpperCase() +\r\n\t\t\t\t\tmethod.substring(1).toLowerCase()) || $(element).data(\"msg\");\r\n\t\t\t},\r\n\r\n\t\t\t// Return the custom message for the given element name and validation method\r\n\t\t\tcustomMessage: function (name, method) {\r\n\t\t\t\tvar m = this.settings.messages[name];\r\n\t\t\t\treturn m && (m.constructor === String ? m : m[method]);\r\n\t\t\t},\r\n\r\n\t\t\t// Return the first defined argument, allowing empty strings\r\n\t\t\tfindDefined: function () {\r\n\t\t\t\tfor (var i = 0; i < arguments.length; i++) {\r\n\t\t\t\t\tif (arguments[i] !== undefined) {\r\n\t\t\t\t\t\treturn arguments[i];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined;\r\n\t\t\t},\r\n\r\n\t\t\t// The second parameter 'rule' used to be a string, and extended to an object literal\r\n\t\t\t// of the following form:\r\n\t\t\t// rule = {\r\n\t\t\t// method: \"method name\",\r\n\t\t\t// parameters: \"the given method parameters\"\r\n\t\t\t// }\r\n\t\t\t//\r\n\t\t\t// The old behavior still supported, kept to maintain backward compatibility with\r\n\t\t\t// old code, and will be removed in the next major release.\r\n\t\t\tdefaultMessage: function (element, rule) {\r\n\t\t\t\tif (typeof rule === \"string\") {\r\n\t\t\t\t\trule = { method: rule };\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar message = this.findDefined(\r\n\t\t\t\t\tthis.customMessage(element.name, rule.method),\r\n\t\t\t\t\tthis.customDataMessage(element, rule.method),\r\n\r\n\t\t\t\t\t// 'title' is never undefined, so handle empty string as undefined\r\n\t\t\t\t\t!this.settings.ignoreTitle && element.title || undefined,\r\n\t\t\t\t\t$.validator.messages[rule.method],\r\n\t\t\t\t\t\"Warning: No message defined for \" + element.name + \"\"\r\n\t\t\t\t),\r\n\t\t\t\t\ttheregex = /\\$?\\{(\\d+)\\}/g;\r\n\t\t\t\tif (typeof message === \"function\") {\r\n\t\t\t\t\tmessage = message.call(this, rule.parameters, element);\r\n\t\t\t\t} else if (theregex.test(message)) {\r\n\t\t\t\t\tmessage = $.validator.format(message.replace(theregex, \"{$1}\"), rule.parameters);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn message;\r\n\t\t\t},\r\n\r\n\t\t\tformatAndAdd: function (element, rule) {\r\n\t\t\t\tvar message = this.defaultMessage(element, rule);\r\n\r\n\t\t\t\tthis.errorList.push({\r\n\t\t\t\t\tmessage: message,\r\n\t\t\t\t\telement: element,\r\n\t\t\t\t\tmethod: rule.method\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.errorMap[element.name] = message;\r\n\t\t\t\tthis.submitted[element.name] = message;\r\n\t\t\t},\r\n\r\n\t\t\taddWrapper: function (toToggle) {\r\n\t\t\t\tif (this.settings.wrapper) {\r\n\t\t\t\t\ttoToggle = toToggle.add(toToggle.parent(this.settings.wrapper));\r\n\t\t\t\t}\r\n\t\t\t\treturn toToggle;\r\n\t\t\t},\r\n\r\n\t\t\tdefaultShowErrors: function () {\r\n\t\t\t\tvar i, elements, error;\r\n\t\t\t\tfor (i = 0; this.errorList[i]; i++) {\r\n\t\t\t\t\terror = this.errorList[i];\r\n\t\t\t\t\tif (this.settings.highlight) {\r\n\t\t\t\t\t\tthis.settings.highlight.call(this, error.element, this.settings.errorClass, this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.showLabel(error.element, error.message);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.errorList.length) {\r\n\t\t\t\t\tthis.toShow = this.toShow.add(this.containers);\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.success) {\r\n\t\t\t\t\tfor (i = 0; this.successList[i]; i++) {\r\n\t\t\t\t\t\tthis.showLabel(this.successList[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (this.settings.unhighlight) {\r\n\t\t\t\t\tfor (i = 0, elements = this.validElements(); elements[i]; i++) {\r\n\t\t\t\t\t\tthis.settings.unhighlight.call(this, elements[i], this.settings.errorClass, this.settings.validClass);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.toHide = this.toHide.not(this.toShow);\r\n\t\t\t\tthis.hideErrors();\r\n\t\t\t\tthis.addWrapper(this.toShow).show();\r\n\t\t\t},\r\n\r\n\t\t\tvalidElements: function () {\r\n\t\t\t\treturn this.currentElements.not(this.invalidElements());\r\n\t\t\t},\r\n\r\n\t\t\tinvalidElements: function () {\r\n\t\t\t\treturn $(this.errorList).map(function () {\r\n\t\t\t\t\treturn this.element;\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\tshowLabel: function (element, message) {\r\n\t\t\t\tvar place, group, errorID, v,\r\n\t\t\t\t\terror = this.errorsFor(element),\r\n\t\t\t\t\telementID = this.idOrName(element),\r\n\t\t\t\t\tdescribedBy = $(element).attr(\"aria-describedby\");\r\n\r\n\t\t\t\tif (error.length) {\r\n\r\n\t\t\t\t\t// Refresh error/success class\r\n\t\t\t\t\terror.removeClass(this.settings.validClass).addClass(this.settings.errorClass);\r\n\r\n\t\t\t\t\t// Replace message on existing label\r\n\t\t\t\t\terror.html(message);\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\t// Create error element\r\n\t\t\t\t\terror = $(\"<\" + this.settings.errorElement + \">\")\r\n\t\t\t\t\t\t.attr(\"id\", elementID + \"-error\")\r\n\t\t\t\t\t\t.addClass(this.settings.errorClass)\r\n\t\t\t\t\t\t.html(message || \"\");\r\n\r\n\t\t\t\t\t// Maintain reference to the element to be placed into the DOM\r\n\t\t\t\t\tplace = error;\r\n\t\t\t\t\tif (this.settings.wrapper) {\r\n\r\n\t\t\t\t\t\t// Make sure the element is visible, even in IE\r\n\t\t\t\t\t\t// actually showing the wrapped element is handled elsewhere\r\n\t\t\t\t\t\tplace = error.hide().show().wrap(\"<\" + this.settings.wrapper + \"/>\").parent();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.labelContainer.length) {\r\n\t\t\t\t\t\tthis.labelContainer.append(place);\r\n\t\t\t\t\t} else if (this.settings.errorPlacement) {\r\n\t\t\t\t\t\tthis.settings.errorPlacement.call(this, place, $(element));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tplace.insertAfter(element);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Link error back to the element\r\n\t\t\t\t\tif (error.is(\"label\")) {\r\n\r\n\t\t\t\t\t\t// If the error is a label, then associate using 'for'\r\n\t\t\t\t\t\terror.attr(\"for\", elementID);\r\n\r\n\t\t\t\t\t\t// If the element is not a child of an associated label, then it's necessary\r\n\t\t\t\t\t\t// to explicitly apply aria-describedby\r\n\t\t\t\t\t} else if (error.parents(\"label[for='\" + this.escapeCssMeta(elementID) + \"']\").length === 0) {\r\n\t\t\t\t\t\terrorID = error.attr(\"id\");\r\n\r\n\t\t\t\t\t\t// Respect existing non-error aria-describedby\r\n\t\t\t\t\t\tif (!describedBy) {\r\n\t\t\t\t\t\t\tdescribedBy = errorID;\r\n\t\t\t\t\t\t} else if (!describedBy.match(new RegExp(\"\\\\b\" + this.escapeCssMeta(errorID) + \"\\\\b\"))) {\r\n\r\n\t\t\t\t\t\t\t// Add to end of list if not already present\r\n\t\t\t\t\t\t\tdescribedBy += \" \" + errorID;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t$(element).attr(\"aria-describedby\", describedBy);\r\n\r\n\t\t\t\t\t\t// If this element is grouped, then assign to all elements in the same group\r\n\t\t\t\t\t\tgroup = this.groups[element.name];\r\n\t\t\t\t\t\tif (group) {\r\n\t\t\t\t\t\t\tv = this;\r\n\t\t\t\t\t\t\t$.each(v.groups, function (name, testgroup) {\r\n\t\t\t\t\t\t\t\tif (testgroup === group) {\r\n\t\t\t\t\t\t\t\t\t$(\"[name='\" + v.escapeCssMeta(name) + \"']\", v.currentForm)\r\n\t\t\t\t\t\t\t\t\t\t.attr(\"aria-describedby\", error.attr(\"id\"));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (!message && this.settings.success) {\r\n\t\t\t\t\terror.text(\"\");\r\n\t\t\t\t\tif (typeof this.settings.success === \"string\") {\r\n\t\t\t\t\t\terror.addClass(this.settings.success);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.settings.success(error, element);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.toShow = this.toShow.add(error);\r\n\t\t\t},\r\n\r\n\t\t\terrorsFor: function (element) {\r\n\t\t\t\tvar name = this.escapeCssMeta(this.idOrName(element)),\r\n\t\t\t\t\tdescriber = $(element).attr(\"aria-describedby\"),\r\n\t\t\t\t\tselector = \"label[for='\" + name + \"'], label[for='\" + name + \"'] *\";\r\n\r\n\t\t\t\t// 'aria-describedby' should directly reference the error element\r\n\t\t\t\tif (describer) {\r\n\t\t\t\t\tselector = selector + \", #\" + this.escapeCssMeta(describer)\r\n\t\t\t\t\t\t.replace(/\\s+/g, \", #\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn this\r\n\t\t\t\t\t.errors()\r\n\t\t\t\t\t.filter(selector);\r\n\t\t\t},\r\n\r\n\t\t\t// See https://api.jquery.com/category/selectors/, for CSS\r\n\t\t\t// meta-characters that should be escaped in order to be used with JQuery\r\n\t\t\t// as a literal part of a name/id or any selector.\r\n\t\t\tescapeCssMeta: function (string) {\r\n\t\t\t\treturn string.replace(/([\\\\!\"#$%&'()*+,./:;<=>?@\\[\\]^`{|}~])/g, \"\\\\$1\");\r\n\t\t\t},\r\n\r\n\t\t\tidOrName: function (element) {\r\n\t\t\t\treturn this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name);\r\n\t\t\t},\r\n\r\n\t\t\tvalidationTargetFor: function (element) {\r\n\r\n\t\t\t\t// If radio/checkbox, validate first element in group instead\r\n\t\t\t\tif (this.checkable(element)) {\r\n\t\t\t\t\telement = this.findByName(element.name);\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Always apply ignore filter\r\n\t\t\t\treturn $(element).not(this.settings.ignore)[0];\r\n\t\t\t},\r\n\r\n\t\t\tcheckable: function (element) {\r\n\t\t\t\treturn (/radio|checkbox/i).test(element.type);\r\n\t\t\t},\r\n\r\n\t\t\tfindByName: function (name) {\r\n\t\t\t\treturn $(this.currentForm).find(\"[name='\" + this.escapeCssMeta(name) + \"']\");\r\n\t\t\t},\r\n\r\n\t\t\tgetLength: function (value, element) {\r\n\t\t\t\tswitch (element.nodeName.toLowerCase()) {\r\n\t\t\t\t\tcase \"select\":\r\n\t\t\t\t\t\treturn $(\"option:selected\", element).length;\r\n\t\t\t\t\tcase \"input\":\r\n\t\t\t\t\t\tif (this.checkable(element)) {\r\n\t\t\t\t\t\t\treturn this.findByName(element.name).filter(\":checked\").length;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn value.length;\r\n\t\t\t},\r\n\r\n\t\t\tdepend: function (param, element) {\r\n\t\t\t\treturn this.dependTypes[typeof param] ? this.dependTypes[typeof param](param, element) : true;\r\n\t\t\t},\r\n\r\n\t\t\tdependTypes: {\r\n\t\t\t\t\"boolean\": function (param) {\r\n\t\t\t\t\treturn param;\r\n\t\t\t\t},\r\n\t\t\t\t\"string\": function (param, element) {\r\n\t\t\t\t\treturn !!$(param, element.form).length;\r\n\t\t\t\t},\r\n\t\t\t\t\"function\": function (param, element) {\r\n\t\t\t\t\treturn param(element);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\toptional: function (element) {\r\n\t\t\t\tvar val = this.elementValue(element);\r\n\t\t\t\treturn !$.validator.methods.required.call(this, val, element) && \"dependency-mismatch\";\r\n\t\t\t},\r\n\r\n\t\t\tstartRequest: function (element) {\r\n\t\t\t\tif (!this.pending[element.name]) {\r\n\t\t\t\t\tthis.pendingRequest++;\r\n\t\t\t\t\t$(element).addClass(this.settings.pendingClass);\r\n\t\t\t\t\tthis.pending[element.name] = true;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tstopRequest: function (element, valid) {\r\n\t\t\t\tthis.pendingRequest--;\r\n\r\n\t\t\t\t// Sometimes synchronization fails, make sure pendingRequest is never < 0\r\n\t\t\t\tif (this.pendingRequest < 0) {\r\n\t\t\t\t\tthis.pendingRequest = 0;\r\n\t\t\t\t}\r\n\t\t\t\tdelete this.pending[element.name];\r\n\t\t\t\t$(element).removeClass(this.settings.pendingClass);\r\n\t\t\t\tif (valid && this.pendingRequest === 0 && this.formSubmitted && this.form()) {\r\n\t\t\t\t\t$(this.currentForm).submit();\r\n\r\n\t\t\t\t\t// Remove the hidden input that was used as a replacement for the\r\n\t\t\t\t\t// missing submit button. The hidden input is added by `handle()`\r\n\t\t\t\t\t// to ensure that the value of the used submit button is passed on\r\n\t\t\t\t\t// for scripted submits triggered by this method\r\n\t\t\t\t\tif (this.submitButton) {\r\n\t\t\t\t\t\t$(\"input:hidden[name='\" + this.submitButton.name + \"']\", this.currentForm).remove();\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.formSubmitted = false;\r\n\t\t\t\t} else if (!valid && this.pendingRequest === 0 && this.formSubmitted) {\r\n\t\t\t\t\t$(this.currentForm).triggerHandler(\"invalid-form\", [this]);\r\n\t\t\t\t\tthis.formSubmitted = false;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tpreviousValue: function (element, method) {\r\n\t\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\r\n\r\n\t\t\t\treturn $.data(element, \"previousValue\") || $.data(element, \"previousValue\", {\r\n\t\t\t\t\told: null,\r\n\t\t\t\t\tvalid: true,\r\n\t\t\t\t\tmessage: this.defaultMessage(element, { method: method })\r\n\t\t\t\t});\r\n\t\t\t},\r\n\r\n\t\t\t// Cleans up all forms and elements, removes validator-specific events\r\n\t\t\tdestroy: function () {\r\n\t\t\t\tthis.resetForm();\r\n\r\n\t\t\t\t$(this.currentForm)\r\n\t\t\t\t\t.off(\".validate\")\r\n\t\t\t\t\t.removeData(\"validator\")\r\n\t\t\t\t\t.find(\".validate-equalTo-blur\")\r\n\t\t\t\t\t.off(\".validate-equalTo\")\r\n\t\t\t\t\t.removeClass(\"validate-equalTo-blur\")\r\n\t\t\t\t\t.find(\".validate-lessThan-blur\")\r\n\t\t\t\t\t.off(\".validate-lessThan\")\r\n\t\t\t\t\t.removeClass(\"validate-lessThan-blur\")\r\n\t\t\t\t\t.find(\".validate-lessThanEqual-blur\")\r\n\t\t\t\t\t.off(\".validate-lessThanEqual\")\r\n\t\t\t\t\t.removeClass(\"validate-lessThanEqual-blur\")\r\n\t\t\t\t\t.find(\".validate-greaterThanEqual-blur\")\r\n\t\t\t\t\t.off(\".validate-greaterThanEqual\")\r\n\t\t\t\t\t.removeClass(\"validate-greaterThanEqual-blur\")\r\n\t\t\t\t\t.find(\".validate-greaterThan-blur\")\r\n\t\t\t\t\t.off(\".validate-greaterThan\")\r\n\t\t\t\t\t.removeClass(\"validate-greaterThan-blur\");\r\n\t\t\t}\r\n\r\n\t\t},\r\n\r\n\t\tclassRuleSettings: {\r\n\t\t\trequired: { required: true },\r\n\t\t\temail: { email: true },\r\n\t\t\turl: { url: true },\r\n\t\t\tdate: { date: true },\r\n\t\t\tdateISO: { dateISO: true },\r\n\t\t\tnumber: { number: true },\r\n\t\t\tdigits: { digits: true },\r\n\t\t\tcreditcard: { creditcard: true }\r\n\t\t},\r\n\r\n\t\taddClassRules: function (className, rules) {\r\n\t\t\tif (className.constructor === String) {\r\n\t\t\t\tthis.classRuleSettings[className] = rules;\r\n\t\t\t} else {\r\n\t\t\t\t$.extend(this.classRuleSettings, className);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclassRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\tclasses = $(element).attr(\"class\");\r\n\r\n\t\t\tif (classes) {\r\n\t\t\t\t$.each(classes.split(\" \"), function () {\r\n\t\t\t\t\tif (this in $.validator.classRuleSettings) {\r\n\t\t\t\t\t\t$.extend(rules, $.validator.classRuleSettings[this]);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tnormalizeAttributeRule: function (rules, type, method, value) {\r\n\r\n\t\t\t// Convert the value to a number for number inputs, and for text for backwards compability\r\n\t\t\t// allows type=\"date\" and others to be compared as strings\r\n\t\t\tif (/min|max|step/.test(method) && (type === null || /number|range|text/.test(type))) {\r\n\t\t\t\tvalue = Number(value);\r\n\r\n\t\t\t\t// Support Opera Mini, which returns NaN for undefined minlength\r\n\t\t\t\tif (isNaN(value)) {\r\n\t\t\t\t\tvalue = undefined;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (value || value === 0) {\r\n\t\t\t\trules[method] = value;\r\n\t\t\t} else if (type === method && type !== \"range\") {\r\n\r\n\t\t\t\t// Exception: the jquery validate 'range' method\r\n\t\t\t\t// does not test for the html5 'range' type\r\n\t\t\t\trules[method] = true;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tattributeRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\t$element = $(element),\r\n\t\t\t\ttype = element.getAttribute(\"type\"),\r\n\t\t\t\tmethod, value;\r\n\r\n\t\t\tfor (method in $.validator.methods) {\r\n\r\n\t\t\t\t// Support for in both html5 and older browsers\r\n\t\t\t\tif (method === \"required\") {\r\n\t\t\t\t\tvalue = element.getAttribute(method);\r\n\r\n\t\t\t\t\t// Some browsers return an empty string for the required attribute\r\n\t\t\t\t\t// and non-HTML5 browsers might have required=\"\" markup\r\n\t\t\t\t\tif (value === \"\") {\r\n\t\t\t\t\t\tvalue = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Force non-HTML5 browsers to return bool\r\n\t\t\t\t\tvalue = !!value;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvalue = $element.attr(method);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.normalizeAttributeRule(rules, type, method, value);\r\n\t\t\t}\r\n\r\n\t\t\t// 'maxlength' may be returned as -1, 2147483647 ( IE ) and 524288 ( safari ) for text inputs\r\n\t\t\tif (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) {\r\n\t\t\t\tdelete rules.maxlength;\r\n\t\t\t}\r\n\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tdataRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\t$element = $(element),\r\n\t\t\t\ttype = element.getAttribute(\"type\"),\r\n\t\t\t\tmethod, value;\r\n\r\n\t\t\tfor (method in $.validator.methods) {\r\n\t\t\t\tvalue = $element.data(\"rule\" + method.charAt(0).toUpperCase() + method.substring(1).toLowerCase());\r\n\r\n\t\t\t\t// Cast empty attributes like `data-rule-required` to `true`\r\n\t\t\t\tif (value === \"\") {\r\n\t\t\t\t\tvalue = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.normalizeAttributeRule(rules, type, method, value);\r\n\t\t\t}\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tstaticRules: function (element) {\r\n\t\t\tvar rules = {},\r\n\t\t\t\tvalidator = $.data(element.form, \"validator\");\r\n\r\n\t\t\tif (validator.settings.rules) {\r\n\t\t\t\trules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {};\r\n\t\t\t}\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\tnormalizeRules: function (rules, element) {\r\n\r\n\t\t\t// Handle dependency check\r\n\t\t\t$.each(rules, function (prop, val) {\r\n\r\n\t\t\t\t// Ignore rule when param is explicitly false, eg. required:false\r\n\t\t\t\tif (val === false) {\r\n\t\t\t\t\tdelete rules[prop];\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (val.param || val.depends) {\r\n\t\t\t\t\tvar keepRule = true;\r\n\t\t\t\t\tswitch (typeof val.depends) {\r\n\t\t\t\t\t\tcase \"string\":\r\n\t\t\t\t\t\t\tkeepRule = !!$(val.depends, element.form).length;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase \"function\":\r\n\t\t\t\t\t\t\tkeepRule = val.depends.call(element, element);\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (keepRule) {\r\n\t\t\t\t\t\trules[prop] = val.param !== undefined ? val.param : true;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$.data(element.form, \"validator\").resetElements($(element));\r\n\t\t\t\t\t\tdelete rules[prop];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t// Evaluate parameters\r\n\t\t\t$.each(rules, function (rule, parameter) {\r\n\t\t\t\trules[rule] = typeof parameter === \"function\" && rule !== \"normalizer\" ? parameter(element) : parameter;\r\n\t\t\t});\r\n\r\n\t\t\t// Clean number parameters\r\n\t\t\t$.each([\"minlength\", \"maxlength\"], function () {\r\n\t\t\t\tif (rules[this]) {\r\n\t\t\t\t\trules[this] = Number(rules[this]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t$.each([\"rangelength\", \"range\"], function () {\r\n\t\t\t\tvar parts;\r\n\t\t\t\tif (rules[this]) {\r\n\t\t\t\t\tif (Array.isArray(rules[this])) {\r\n\t\t\t\t\t\trules[this] = [Number(rules[this][0]), Number(rules[this][1])];\r\n\t\t\t\t\t} else if (typeof rules[this] === \"string\") {\r\n\t\t\t\t\t\tparts = rules[this].replace(/[\\[\\]]/g, \"\").split(/[\\s,]+/);\r\n\t\t\t\t\t\trules[this] = [Number(parts[0]), Number(parts[1])];\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tif ($.validator.autoCreateRanges) {\r\n\r\n\t\t\t\t// Auto-create ranges\r\n\t\t\t\tif (rules.min != null && rules.max != null) {\r\n\t\t\t\t\trules.range = [rules.min, rules.max];\r\n\t\t\t\t\tdelete rules.min;\r\n\t\t\t\t\tdelete rules.max;\r\n\t\t\t\t}\r\n\t\t\t\tif (rules.minlength != null && rules.maxlength != null) {\r\n\t\t\t\t\trules.rangelength = [rules.minlength, rules.maxlength];\r\n\t\t\t\t\tdelete rules.minlength;\r\n\t\t\t\t\tdelete rules.maxlength;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn rules;\r\n\t\t},\r\n\r\n\t\t// Converts a simple string to a {string: true} rule, e.g., \"required\" to {required:true}\r\n\t\tnormalizeRule: function (data) {\r\n\t\t\tif (typeof data === \"string\") {\r\n\t\t\t\tvar transformed = {};\r\n\t\t\t\t$.each(data.split(/\\s/), function () {\r\n\t\t\t\t\ttransformed[this] = true;\r\n\t\t\t\t});\r\n\t\t\t\tdata = transformed;\r\n\t\t\t}\r\n\t\t\treturn data;\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/jQuery.validator.addMethod/\r\n\t\taddMethod: function (name, method, message) {\r\n\t\t\t$.validator.methods[name] = method;\r\n\t\t\t$.validator.messages[name] = message !== undefined ? message : $.validator.messages[name];\r\n\t\t\tif (method.length < 3) {\r\n\t\t\t\t$.validator.addClassRules(name, $.validator.normalizeRule(name));\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t// https://jqueryvalidation.org/jQuery.validator.methods/\r\n\t\tmethods: {\r\n\r\n\t\t\t// https://jqueryvalidation.org/required-method/\r\n\t\t\trequired: function (value, element, param) {\r\n\r\n\t\t\t\t// Check if dependency is met\r\n\t\t\t\tif (!this.depend(param, element)) {\r\n\t\t\t\t\treturn \"dependency-mismatch\";\r\n\t\t\t\t}\r\n\t\t\t\tif (element.nodeName.toLowerCase() === \"select\") {\r\n\r\n\t\t\t\t\t// Could be an array for select-multiple or a string, both are fine this way\r\n\t\t\t\t\tvar val = $(element).val();\r\n\t\t\t\t\treturn val && val.length > 0;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.checkable(element)) {\r\n\t\t\t\t\treturn this.getLength(value, element) > 0;\r\n\t\t\t\t}\r\n\t\t\t\treturn value !== undefined && value !== null && value.length > 0;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/email-method/\r\n\t\t\temail: function (value, element) {\r\n\r\n\t\t\t\t// From https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address\r\n\t\t\t\t// Retrieved 2014-01-14\r\n\t\t\t\t// If you have a problem with this implementation, report a bug against the above spec\r\n\t\t\t\t// Or use custom methods to implement your own email validation\r\n\t\t\t\treturn this.optional(element) || /^[a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/url-method/\r\n\t\t\turl: function (value, element) {\r\n\r\n\t\t\t\t// Copyright (c) 2010-2013 Diego Perini, MIT licensed\r\n\t\t\t\t// https://gist.github.com/dperini/729294\r\n\t\t\t\t// see also https://mathiasbynens.be/demo/url-regex\r\n\t\t\t\t// modified to allow protocol-relative URLs\r\n\t\t\t\treturn this.optional(element) || /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)+(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/i.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/date-method/\r\n\t\t\tdate: (function () {\r\n\t\t\t\tvar called = false;\r\n\r\n\t\t\t\treturn function (value, element) {\r\n\t\t\t\t\tif (!called) {\r\n\t\t\t\t\t\tcalled = true;\r\n\t\t\t\t\t\tif (this.settings.debug && window.console) {\r\n\t\t\t\t\t\t\tconsole.warn(\r\n\t\t\t\t\t\t\t\t\"The `date` method is deprecated and will be removed in version '2.0.0'.\\n\" +\r\n\t\t\t\t\t\t\t\t\"Please don't use it, since it relies on the Date constructor, which\\n\" +\r\n\t\t\t\t\t\t\t\t\"behaves very differently across browsers and locales. Use `dateISO`\\n\" +\r\n\t\t\t\t\t\t\t\t\"instead or one of the locale specific methods in `localizations/`\\n\" +\r\n\t\t\t\t\t\t\t\t\"and `additional-methods.js`.\"\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn this.optional(element) || !/Invalid|NaN/.test(new Date(value).toString());\r\n\t\t\t\t};\r\n\t\t\t}()),\r\n\r\n\t\t\t// https://jqueryvalidation.org/dateISO-method/\r\n\t\t\tdateISO: function (value, element) {\r\n\t\t\t\treturn this.optional(element) || /^\\d{4}[\\/\\-](0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/number-method/\r\n\t\t\tnumber: function (value, element) {\r\n\t\t\t\treturn this.optional(element) || /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/digits-method/\r\n\t\t\tdigits: function (value, element) {\r\n\t\t\t\treturn this.optional(element) || /^\\d+$/.test(value);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/minlength-method/\r\n\t\t\tminlength: function (value, element, param) {\r\n\t\t\t\tvar length = Array.isArray(value) ? value.length : this.getLength(value, element);\r\n\t\t\t\treturn this.optional(element) || length >= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/maxlength-method/\r\n\t\t\tmaxlength: function (value, element, param) {\r\n\t\t\t\tvar length = Array.isArray(value) ? value.length : this.getLength(value, element);\r\n\t\t\t\treturn this.optional(element) || length <= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/rangelength-method/\r\n\t\t\trangelength: function (value, element, param) {\r\n\t\t\t\tvar length = Array.isArray(value) ? value.length : this.getLength(value, element);\r\n\t\t\t\treturn this.optional(element) || (length >= param[0] && length <= param[1]);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/min-method/\r\n\t\t\tmin: function (value, element, param) {\r\n\t\t\t\treturn this.optional(element) || value >= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/max-method/\r\n\t\t\tmax: function (value, element, param) {\r\n\t\t\t\treturn this.optional(element) || value <= param;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/range-method/\r\n\t\t\trange: function (value, element, param) {\r\n\t\t\t\treturn this.optional(element) || (value >= param[0] && value <= param[1]);\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/step-method/\r\n\t\t\tstep: function (value, element, param) {\r\n\t\t\t\tvar type = $(element).attr(\"type\"),\r\n\t\t\t\t\terrorMessage = \"Step attribute on input type \" + type + \" is not supported.\",\r\n\t\t\t\t\tsupportedTypes = [\"text\", \"number\", \"range\"],\r\n\t\t\t\t\tre = new RegExp(\"\\\\b\" + type + \"\\\\b\"),\r\n\t\t\t\t\tnotSupported = type && !re.test(supportedTypes.join()),\r\n\t\t\t\t\tdecimalPlaces = function (num) {\r\n\t\t\t\t\t\tvar match = (\"\" + num).match(/(?:\\.(\\d+))?$/);\r\n\t\t\t\t\t\tif (!match) {\r\n\t\t\t\t\t\t\treturn 0;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Number of digits right of decimal point.\r\n\t\t\t\t\t\treturn match[1] ? match[1].length : 0;\r\n\t\t\t\t\t},\r\n\t\t\t\t\ttoInt = function (num) {\r\n\t\t\t\t\t\treturn Math.round(num * Math.pow(10, decimals));\r\n\t\t\t\t\t},\r\n\t\t\t\t\tvalid = true,\r\n\t\t\t\t\tdecimals;\r\n\r\n\t\t\t\t// Works only for text, number and range input types\r\n\t\t\t\t// TODO find a way to support input types date, datetime, datetime-local, month, time and week\r\n\t\t\t\tif (notSupported) {\r\n\t\t\t\t\tthrow new Error(errorMessage);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdecimals = decimalPlaces(param);\r\n\r\n\t\t\t\t// Value can't have too many decimals\r\n\t\t\t\tif (decimalPlaces(value) > decimals || toInt(value) % toInt(param) !== 0) {\r\n\t\t\t\t\tvalid = false;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn this.optional(element) || valid;\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/equalTo-method/\r\n\t\t\tequalTo: function (value, element, param) {\r\n\r\n\t\t\t\t// Bind to the blur event of the target in order to revalidate whenever the target field is updated\r\n\t\t\t\tvar target = $(param);\r\n\t\t\t\tif (this.settings.onfocusout && target.not(\".validate-equalTo-blur\").length) {\r\n\t\t\t\t\ttarget.addClass(\"validate-equalTo-blur\").on(\"blur.validate-equalTo\", function () {\r\n\t\t\t\t\t\t$(element).valid();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn value === target.val();\r\n\t\t\t},\r\n\r\n\t\t\t// https://jqueryvalidation.org/remote-method/\r\n\t\t\tremote: function (value, element, param, method) {\r\n\t\t\t\tif (this.optional(element)) {\r\n\t\t\t\t\treturn \"dependency-mismatch\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tmethod = typeof method === \"string\" && method || \"remote\";\r\n\r\n\t\t\t\tvar previous = this.previousValue(element, method),\r\n\t\t\t\t\tvalidator, data, optionDataString;\r\n\r\n\t\t\t\tif (!this.settings.messages[element.name]) {\r\n\t\t\t\t\tthis.settings.messages[element.name] = {};\r\n\t\t\t\t}\r\n\t\t\t\tprevious.originalMessage = previous.originalMessage || this.settings.messages[element.name][method];\r\n\t\t\t\tthis.settings.messages[element.name][method] = previous.message;\r\n\r\n\t\t\t\tparam = typeof param === \"string\" && { url: param } || param;\r\n\t\t\t\toptionDataString = $.param($.extend({ data: value }, param.data));\r\n\t\t\t\tif (previous.old === optionDataString) {\r\n\t\t\t\t\treturn previous.valid;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tprevious.old = optionDataString;\r\n\t\t\t\tvalidator = this;\r\n\t\t\t\tthis.startRequest(element);\r\n\t\t\t\tdata = {};\r\n\t\t\t\tdata[element.name] = value;\r\n\t\t\t\t$.ajax($.extend(true, {\r\n\t\t\t\t\tmode: \"abort\",\r\n\t\t\t\t\tport: \"validate\" + element.name,\r\n\t\t\t\t\tdataType: \"json\",\r\n\t\t\t\t\tdata: data,\r\n\t\t\t\t\tcontext: validator.currentForm,\r\n\t\t\t\t\tsuccess: function (response) {\r\n\t\t\t\t\t\tvar valid = response === true || response === \"true\",\r\n\t\t\t\t\t\t\terrors, message, submitted;\r\n\r\n\t\t\t\t\t\tvalidator.settings.messages[element.name][method] = previous.originalMessage;\r\n\t\t\t\t\t\tif (valid) {\r\n\t\t\t\t\t\t\tsubmitted = validator.formSubmitted;\r\n\t\t\t\t\t\t\tvalidator.resetInternals();\r\n\t\t\t\t\t\t\tvalidator.toHide = validator.errorsFor(element);\r\n\t\t\t\t\t\t\tvalidator.formSubmitted = submitted;\r\n\t\t\t\t\t\t\tvalidator.successList.push(element);\r\n\t\t\t\t\t\t\tvalidator.invalid[element.name] = false;\r\n\t\t\t\t\t\t\tvalidator.showErrors();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\terrors = {};\r\n\t\t\t\t\t\t\tmessage = response || validator.defaultMessage(element, { method: method, parameters: value });\r\n\t\t\t\t\t\t\terrors[element.name] = previous.message = message;\r\n\t\t\t\t\t\t\tvalidator.invalid[element.name] = true;\r\n\t\t\t\t\t\t\tvalidator.showErrors(errors);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tprevious.valid = valid;\r\n\t\t\t\t\t\tvalidator.stopRequest(element, valid);\r\n\t\t\t\t\t}\r\n\t\t\t\t}, param));\r\n\t\t\t\treturn \"pending\";\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t});\r\n\r\n\t// Ajax mode: abort\r\n\t// usage: $.ajax({ mode: \"abort\"[, port: \"uniqueport\"]});\r\n\t// if mode:\"abort\" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()\r\n\r\n\tvar pendingRequests = {},\r\n\t\tajax;\r\n\r\n\t// Use a prefilter if available (1.5+)\r\n\tif ($.ajaxPrefilter) {\r\n\t\t$.ajaxPrefilter(function (settings, _, xhr) {\r\n\t\t\tvar port = settings.port;\r\n\t\t\tif (settings.mode === \"abort\") {\r\n\t\t\t\tif (pendingRequests[port]) {\r\n\t\t\t\t\tpendingRequests[port].abort();\r\n\t\t\t\t}\r\n\t\t\t\tpendingRequests[port] = xhr;\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\r\n\t\t// Proxy ajax\r\n\t\tajax = $.ajax;\r\n\t\t$.ajax = function (settings) {\r\n\t\t\tvar mode = (\"mode\" in settings ? settings : $.ajaxSettings).mode,\r\n\t\t\t\tport = (\"port\" in settings ? settings : $.ajaxSettings).port;\r\n\t\t\tif (mode === \"abort\") {\r\n\t\t\t\tif (pendingRequests[port]) {\r\n\t\t\t\t\tpendingRequests[port].abort();\r\n\t\t\t\t}\r\n\t\t\t\tpendingRequests[port] = ajax.apply(this, arguments);\r\n\t\t\t\treturn pendingRequests[port];\r\n\t\t\t}\r\n\t\t\treturn ajax.apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\treturn $;\r\n}));","// Unobtrusive validation support library for jQuery and jQuery Validate\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// @version v3.2.12\r\n\r\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\r\n/*global document: false, jQuery: false */\r\n\r\n(function (factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Register as an anonymous module.\r\n define(\"jquery.validate.unobtrusive\", ['jquery-validation'], factory);\r\n } else if (typeof module === 'object' && module.exports) {\r\n // CommonJS-like environments that support module.exports \r\n module.exports = factory(require('jquery-validation'));\r\n } else {\r\n // Browser global\r\n jQuery.validator.unobtrusive = factory(jQuery);\r\n }\r\n}(function ($) {\r\n var $jQval = $.validator,\r\n adapters,\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function setValidationValues(options, ruleName, value) {\r\n options.rules[ruleName] = value;\r\n if (options.message) {\r\n options.messages[ruleName] = options.message;\r\n }\r\n }\r\n\r\n function splitAndTrim(value) {\r\n return value.replace(/^\\s+|\\s+$/g, \"\").split(/\\s*,\\s*/g);\r\n }\r\n\r\n function escapeAttributeValue(value) {\r\n // As mentioned on http://api.jquery.com/category/selectors/\r\n return value.replace(/([!\"#$%&'()*+,./:;<=>?@\\[\\\\\\]^`{|}~])/g, \"\\\\$1\");\r\n }\r\n\r\n function getModelPrefix(fieldName) {\r\n return fieldName.substr(0, fieldName.lastIndexOf(\".\") + 1);\r\n }\r\n\r\n function appendModelPrefix(value, prefix) {\r\n if (value.indexOf(\"*.\") === 0) {\r\n value = value.replace(\"*.\", prefix);\r\n }\r\n return value;\r\n }\r\n\r\n function onError(error, inputElement) { // 'this' is the form element\r\n var container = $(this).find(\"[data-valmsg-for='\" + escapeAttributeValue(inputElement[0].name) + \"']\"),\r\n replaceAttrValue = container.attr(\"data-valmsg-replace\"),\r\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null;\r\n\r\n container.removeClass(\"field-validation-valid\").addClass(\"field-validation-error\");\r\n error.data(\"unobtrusiveContainer\", container);\r\n\r\n if (replace) {\r\n container.empty();\r\n error.removeClass(\"input-validation-error\").appendTo(container);\r\n }\r\n else {\r\n error.hide();\r\n }\r\n }\r\n\r\n function onErrors(event, validator) { // 'this' is the form element\r\n var container = $(this).find(\"[data-valmsg-summary=true]\"),\r\n list = container.find(\"ul\");\r\n\r\n if (list && list.length && validator.errorList.length) {\r\n list.empty();\r\n container.addClass(\"validation-summary-errors\").removeClass(\"validation-summary-valid\");\r\n\r\n $.each(validator.errorList, function () {\r\n $(\"
  • \").html(this.message).appendTo(list);\r\n });\r\n }\r\n }\r\n\r\n function onSuccess(error) { // 'this' is the form element\r\n var container = error.data(\"unobtrusiveContainer\");\r\n\r\n if (container) {\r\n var replaceAttrValue = container.attr(\"data-valmsg-replace\"),\r\n replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null;\r\n\r\n container.addClass(\"field-validation-valid\").removeClass(\"field-validation-error\");\r\n error.removeData(\"unobtrusiveContainer\");\r\n\r\n if (replace) {\r\n container.empty();\r\n }\r\n }\r\n }\r\n\r\n function onReset(event) { // 'this' is the form element\r\n var $form = $(this),\r\n key = '__jquery_unobtrusive_validation_form_reset';\r\n if ($form.data(key)) {\r\n return;\r\n }\r\n // Set a flag that indicates we're currently resetting the form.\r\n $form.data(key, true);\r\n try {\r\n $form.data(\"validator\").resetForm();\r\n } finally {\r\n $form.removeData(key);\r\n }\r\n\r\n $form.find(\".validation-summary-errors\")\r\n .addClass(\"validation-summary-valid\")\r\n .removeClass(\"validation-summary-errors\");\r\n $form.find(\".field-validation-error\")\r\n .addClass(\"field-validation-valid\")\r\n .removeClass(\"field-validation-error\")\r\n .removeData(\"unobtrusiveContainer\")\r\n .find(\">*\") // If we were using valmsg-replace, get the underlying error\r\n .removeData(\"unobtrusiveContainer\");\r\n }\r\n\r\n function validationInfo(form) {\r\n var $form = $(form),\r\n result = $form.data(data_validation),\r\n onResetProxy = $.proxy(onReset, form),\r\n defaultOptions = $jQval.unobtrusive.options || {},\r\n execInContext = function (name, args) {\r\n var func = defaultOptions[name];\r\n func && $.isFunction(func) && func.apply(form, args);\r\n };\r\n\r\n if (!result) {\r\n result = {\r\n options: { // options structure passed to jQuery Validate's validate() method\r\n errorClass: defaultOptions.errorClass || \"input-validation-error\",\r\n errorElement: defaultOptions.errorElement || \"span\",\r\n errorPlacement: function () {\r\n onError.apply(form, arguments);\r\n execInContext(\"errorPlacement\", arguments);\r\n },\r\n invalidHandler: function () {\r\n onErrors.apply(form, arguments);\r\n execInContext(\"invalidHandler\", arguments);\r\n },\r\n messages: {},\r\n rules: {},\r\n success: function () {\r\n onSuccess.apply(form, arguments);\r\n execInContext(\"success\", arguments);\r\n }\r\n },\r\n attachValidation: function () {\r\n $form\r\n .off(\"reset.\" + data_validation, onResetProxy)\r\n .on(\"reset.\" + data_validation, onResetProxy)\r\n .validate(this.options);\r\n },\r\n validate: function () { // a validation function that is called by unobtrusive Ajax\r\n $form.validate();\r\n return $form.valid();\r\n }\r\n };\r\n $form.data(data_validation, result);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n $jQval.unobtrusive = {\r\n adapters: [],\r\n\r\n parseElement: function (element, skipAttach) {\r\n /// \r\n /// Parses a single HTML element for unobtrusive validation attributes.\r\n /// \r\n /// The HTML element to be parsed.\r\n /// [Optional] true to skip attaching the\r\n /// validation to the form. If parsing just this single element, you should specify true.\r\n /// If parsing several elements, you should specify false, and manually attach the validation\r\n /// to the form when you are finished. The default is false.\r\n var $element = $(element),\r\n form = $element.parents(\"form\")[0],\r\n valInfo, rules, messages;\r\n\r\n if (!form) { // Cannot do client-side validation without a form\r\n return;\r\n }\r\n\r\n valInfo = validationInfo(form);\r\n valInfo.options.rules[element.name] = rules = {};\r\n valInfo.options.messages[element.name] = messages = {};\r\n\r\n $.each(this.adapters, function () {\r\n var prefix = \"data-val-\" + this.name,\r\n message = $element.attr(prefix),\r\n paramValues = {};\r\n\r\n if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy)\r\n prefix += \"-\";\r\n\r\n $.each(this.params, function () {\r\n paramValues[this] = $element.attr(prefix + this);\r\n });\r\n\r\n this.adapt({\r\n element: element,\r\n form: form,\r\n message: message,\r\n params: paramValues,\r\n rules: rules,\r\n messages: messages\r\n });\r\n }\r\n });\r\n\r\n $.extend(rules, { \"__dummy__\": true });\r\n\r\n if (!skipAttach) {\r\n valInfo.attachValidation();\r\n }\r\n },\r\n\r\n parse: function (selector) {\r\n /// \r\n /// Parses all the HTML elements in the specified selector. It looks for input elements decorated\r\n /// with the [data-val=true] attribute value and enables validation according to the data-val-*\r\n /// attribute values.\r\n /// \r\n /// Any valid jQuery selector.\r\n\r\n // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one\r\n // element with data-val=true\r\n var $selector = $(selector),\r\n $forms = $selector.parents()\r\n .addBack()\r\n .filter(\"form\")\r\n .add($selector.find(\"form\"))\r\n .has(\"[data-val=true]\");\r\n\r\n $selector.find(\"[data-val=true]\").each(function () {\r\n $jQval.unobtrusive.parseElement(this, true);\r\n });\r\n\r\n $forms.each(function () {\r\n var info = validationInfo(this);\r\n if (info) {\r\n info.attachValidation();\r\n }\r\n });\r\n }\r\n };\r\n\r\n adapters = $jQval.unobtrusive.adapters;\r\n\r\n adapters.add = function (adapterName, params, fn) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// [Optional] An array of parameter names (strings) that will\r\n /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and\r\n /// mmmm is the parameter name).\r\n /// The function to call, which adapts the values from the HTML\r\n /// attributes into jQuery Validate rules and/or messages.\r\n /// \r\n if (!fn) { // Called with no params, just a function\r\n fn = params;\r\n params = [];\r\n }\r\n this.push({ name: adapterName, params: params, adapt: fn });\r\n return this;\r\n };\r\n\r\n adapters.addBool = function (adapterName, ruleName) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation rule has no parameter values.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// [Optional] The name of the jQuery Validate rule. If not provided, the value\r\n /// of adapterName will be used instead.\r\n /// \r\n return this.add(adapterName, function (options) {\r\n setValidationValues(options, ruleName || adapterName, true);\r\n });\r\n };\r\n\r\n adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and\r\n /// one for min-and-max). The HTML parameters are expected to be named -min and -max.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name).\r\n /// The name of the jQuery Validate rule to be used when you only\r\n /// have a minimum value.\r\n /// The name of the jQuery Validate rule to be used when you only\r\n /// have a maximum value.\r\n /// The name of the jQuery Validate rule to be used when you\r\n /// have both a minimum and maximum value.\r\n /// [Optional] The name of the HTML attribute that\r\n /// contains the minimum value. The default is \"min\".\r\n /// [Optional] The name of the HTML attribute that\r\n /// contains the maximum value. The default is \"max\".\r\n /// \r\n return this.add(adapterName, [minAttribute || \"min\", maxAttribute || \"max\"], function (options) {\r\n var min = options.params.min,\r\n max = options.params.max;\r\n\r\n if (min && max) {\r\n setValidationValues(options, minMaxRuleName, [min, max]);\r\n }\r\n else if (min) {\r\n setValidationValues(options, minRuleName, min);\r\n }\r\n else if (max) {\r\n setValidationValues(options, maxRuleName, max);\r\n }\r\n });\r\n };\r\n\r\n adapters.addSingleVal = function (adapterName, attribute, ruleName) {\r\n /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where\r\n /// the jQuery Validate validation rule has a single value.\r\n /// The name of the adapter to be added. This matches the name used\r\n /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name).\r\n /// [Optional] The name of the HTML attribute that contains the value.\r\n /// The default is \"val\".\r\n /// [Optional] The name of the jQuery Validate rule. If not provided, the value\r\n /// of adapterName will be used instead.\r\n /// \r\n return this.add(adapterName, [attribute || \"val\"], function (options) {\r\n setValidationValues(options, ruleName || adapterName, options.params[attribute]);\r\n });\r\n };\r\n\r\n $jQval.addMethod(\"__dummy__\", function (value, element, params) {\r\n return true;\r\n });\r\n\r\n $jQval.addMethod(\"regex\", function (value, element, params) {\r\n var match;\r\n if (this.optional(element)) {\r\n return true;\r\n }\r\n\r\n match = new RegExp(params).exec(value);\r\n return (match && (match.index === 0) && (match[0].length === value.length));\r\n });\r\n\r\n $jQval.addMethod(\"nonalphamin\", function (value, element, nonalphamin) {\r\n var match;\r\n if (nonalphamin) {\r\n match = value.match(/\\W/g);\r\n match = match && match.length >= nonalphamin;\r\n }\r\n return match;\r\n });\r\n\r\n if ($jQval.methods.extension) {\r\n adapters.addSingleVal(\"accept\", \"mimtype\");\r\n adapters.addSingleVal(\"extension\", \"extension\");\r\n } else {\r\n // for backward compatibility, when the 'extension' validation method does not exist, such as with versions\r\n // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for\r\n // validating the extension, and ignore mime-type validations as they are not supported.\r\n adapters.addSingleVal(\"extension\", \"extension\", \"accept\");\r\n }\r\n // Wolimy by najpierw sprawdzać długośc ciągu\r\n adapters.addMinMax(\"length\", \"minlength\", \"maxlength\", \"rangelength\").addMinMax(\"range\", \"min\", \"max\", \"range\");\r\n adapters.addMinMax(\"minlength\", \"minlength\").addMinMax(\"maxlength\", \"minlength\", \"maxlength\");\r\n adapters.addSingleVal(\"regex\", \"pattern\");\r\n adapters.addBool(\"creditcard\").addBool(\"date\").addBool(\"digits\").addBool(\"email\").addBool(\"number\").addBool(\"url\");\r\n adapters.add(\"equalto\", [\"other\"], function (options) {\r\n var prefix = getModelPrefix(options.element.name),\r\n other = options.params.other,\r\n fullOtherName = appendModelPrefix(other, prefix),\r\n element = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(fullOtherName) + \"']\")[0];\r\n\r\n setValidationValues(options, \"equalTo\", element);\r\n });\r\n adapters.add(\"required\", function (options) {\r\n // jQuery Validate equates \"required\" with \"mandatory\" for checkbox elements\r\n if (options.element.tagName.toUpperCase() !== \"INPUT\" || options.element.type.toUpperCase() !== \"CHECKBOX\") {\r\n setValidationValues(options, \"required\", true);\r\n }\r\n });\r\n adapters.add(\"remote\", [\"url\", \"type\", \"additionalfields\"], function (options) {\r\n var value = {\r\n url: options.params.url,\r\n type: options.params.type || \"GET\",\r\n data: {}\r\n },\r\n prefix = getModelPrefix(options.element.name);\r\n\r\n $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) {\r\n var paramName = appendModelPrefix(fieldName, prefix);\r\n value.data[paramName] = function () {\r\n var field = $(options.form).find(\":input\").filter(\"[name='\" + escapeAttributeValue(paramName) + \"']\");\r\n // For checkboxes and radio buttons, only pick up values from checked fields.\r\n if (field.is(\":checkbox\")) {\r\n return field.filter(\":checked\").val() || field.filter(\":hidden\").val() || '';\r\n }\r\n else if (field.is(\":radio\")) {\r\n return field.filter(\":checked\").val() || '';\r\n }\r\n return field.val();\r\n };\r\n });\r\n\r\n setValidationValues(options, \"remote\", value);\r\n });\r\n adapters.add(\"password\", [\"min\", \"nonalphamin\", \"regex\"], function (options) {\r\n if (options.params.min) {\r\n setValidationValues(options, \"minlength\", options.params.min);\r\n }\r\n if (options.params.nonalphamin) {\r\n setValidationValues(options, \"nonalphamin\", options.params.nonalphamin);\r\n }\r\n if (options.params.regex) {\r\n setValidationValues(options, \"regex\", options.params.regex);\r\n }\r\n });\r\n adapters.add(\"fileextensions\", [\"extensions\"], function (options) {\r\n setValidationValues(options, \"extension\", options.params.extensions);\r\n });\r\n\r\n $(function () {\r\n $jQval.unobtrusive.parse(document);\r\n });\r\n\r\n return $jQval.unobtrusive;\r\n}));\r\n","/*!\r\n * Globalize\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n */\r\n\r\n(function (window, undefined) {\r\n\r\n var Globalize,\r\n // private variables\r\n regexHex,\r\n regexInfinity,\r\n regexParseFloat,\r\n regexTrim,\r\n // private JavaScript utility functions\r\n arrayIndexOf,\r\n endsWith,\r\n extend,\r\n isArray,\r\n isFunction,\r\n isObject,\r\n startsWith,\r\n trim,\r\n truncate,\r\n zeroPad,\r\n // private Globalization utility functions\r\n appendPreOrPostMatch,\r\n expandFormat,\r\n formatDate,\r\n formatNumber,\r\n getTokenRegExp,\r\n getEra,\r\n getEraYear,\r\n parseExact,\r\n parseNegativePattern;\r\n\r\n // Global variable (Globalize) or CommonJS module (globalize)\r\n Globalize = function (cultureSelector) {\r\n return new Globalize.prototype.init(cultureSelector);\r\n };\r\n\r\n if (typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\") {\r\n // Assume CommonJS\r\n module.exports = Globalize;\r\n } else {\r\n // Export as global variable\r\n window.Globalize = Globalize;\r\n }\r\n\r\n Globalize.cultures = {};\r\n\r\n Globalize.prototype = {\r\n constructor: Globalize,\r\n init: function (cultureSelector) {\r\n this.cultures = Globalize.cultures;\r\n this.cultureSelector = cultureSelector;\r\n\r\n return this;\r\n }\r\n };\r\n Globalize.prototype.init.prototype = Globalize.prototype;\r\n\r\n // 1. When defining a culture, all fields are required except the ones stated as optional.\r\n // 2. Each culture should have a \".calendars\" object with at least one calendar named \"standard\"\r\n // which serves as the default calendar in use by that culture.\r\n // 3. Each culture should have a \".calendar\" object which is the current calendar being used,\r\n // it may be dynamically changed at any time to one of the calendars in \".calendars\".\r\n Globalize.cultures[\"default\"] = {\r\n // A unique name for the culture in the form -\r\n name: \"en\",\r\n // the name of the culture in the english language\r\n englishName: \"English\",\r\n // the name of the culture in its own language\r\n nativeName: \"English\",\r\n // whether the culture uses right-to-left text\r\n isRTL: false,\r\n // \"language\" is used for so-called \"specific\" cultures.\r\n // For example, the culture \"es-CL\" means \"Spanish, in Chili\".\r\n // It represents the Spanish-speaking culture as it is in Chili,\r\n // which might have different formatting rules or even translations\r\n // than Spanish in Spain. A \"neutral\" culture is one that is not\r\n // specific to a region. For example, the culture \"es\" is the generic\r\n // Spanish culture, which may be a more generalized version of the language\r\n // that may or may not be what a specific culture expects.\r\n // For a specific culture like \"es-CL\", the \"language\" field refers to the\r\n // neutral, generic culture information for the language it is using.\r\n // This is not always a simple matter of the string before the dash.\r\n // For example, the \"zh-Hans\" culture is netural (Simplified Chinese).\r\n // And the \"zh-SG\" culture is Simplified Chinese in Singapore, whose lanugage\r\n // field is \"zh-CHS\", not \"zh\".\r\n // This field should be used to navigate from a specific culture to it's\r\n // more general, neutral culture. If a culture is already as general as it\r\n // can get, the language may refer to itself.\r\n language: \"en\",\r\n // numberFormat defines general number formatting rules, like the digits in\r\n // each grouping, the group separator, and how negative numbers are displayed.\r\n numberFormat: {\r\n // [negativePattern]\r\n // Note, numberFormat.pattern has no \"positivePattern\" unlike percent and currency,\r\n // but is still defined as an array for consistency with them.\r\n // negativePattern: one of \"(n)|-n|- n|n-|n -\"\r\n pattern: [\"-n\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // string that separates number groups, as in 1,000,000\r\n \",\": \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n \".\": \".\",\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // symbol used for positive numbers\r\n \"+\": \"+\",\r\n // symbol used for negative numbers\r\n \"-\": \"-\",\r\n // symbol used for NaN (Not-A-Number)\r\n \"NaN\": \"NaN\",\r\n // symbol used for Negative Infinity\r\n negativeInfinity: \"-Infinity\",\r\n // symbol used for Positive Infinity\r\n positiveInfinity: \"Infinity\",\r\n percent: {\r\n // [negativePattern, positivePattern]\r\n // negativePattern: one of \"-n %|-n%|-%n|%-n|%n-|n-%|n%-|-% n|n %-|% n-|% -n|n- %\"\r\n // positivePattern: one of \"n %|n%|%n|% n\"\r\n pattern: [\"-n %\", \"n %\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // string that separates number groups, as in 1,000,000\r\n \",\": \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n \".\": \".\",\r\n // symbol used to represent a percentage\r\n symbol: \"%\"\r\n },\r\n currency: {\r\n // [negativePattern, positivePattern]\r\n // negativePattern: one of \"($n)|-$n|$-n|$n-|(n$)|-n$|n-$|n$-|-n $|-$ n|n $-|$ n-|$ -n|n- $|($ n)|(n $)\"\r\n // positivePattern: one of \"$n|n$|$ n|n $\"\r\n pattern: [\"($n)\", \"$n\"],\r\n // number of decimal places normally shown\r\n decimals: 2,\r\n // array of numbers indicating the size of each number group.\r\n // TODO: more detailed description and example\r\n groupSizes: [3],\r\n // string that separates number groups, as in 1,000,000\r\n \",\": \",\",\r\n // string that separates a number from the fractional portion, as in 1.99\r\n \".\": \".\",\r\n // symbol used to represent currency\r\n symbol: \"$\"\r\n }\r\n },\r\n // calendars defines all the possible calendars used by this culture.\r\n // There should be at least one defined with name \"standard\", and is the default\r\n // calendar used by the culture.\r\n // A calendar contains information about how dates are formatted, information about\r\n // the calendar's eras, a standard set of the date formats,\r\n // translations for day and month names, and if the calendar is not based on the Gregorian\r\n // calendar, conversion functions to and from the Gregorian calendar.\r\n calendars: {\r\n standard: {\r\n // name that identifies the type of calendar this is\r\n name: \"Gregorian_USEnglish\",\r\n // separator of parts of a date (e.g. \"/\" in 11/05/1955)\r\n \"/\": \"/\",\r\n // separator of parts of a time (e.g. \":\" in 05:44 PM)\r\n \":\": \":\",\r\n // the first day of the week (0 = Sunday, 1 = Monday, etc)\r\n firstDay: 0,\r\n days: {\r\n // full day names\r\n names: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\r\n // abbreviated day names\r\n namesAbbr: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\r\n // shortest day names\r\n namesShort: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"]\r\n },\r\n months: {\r\n // full month names (13 months for lunar calendards -- 13th month should be \"\" if not lunar)\r\n names: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\", \"\"],\r\n // abbreviated month names\r\n namesAbbr: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\", \"\"]\r\n },\r\n // AM and PM designators in one of these forms:\r\n // The usual view, and the upper and lower case versions\r\n // [ standard, lowercase, uppercase ]\r\n // The culture does not use AM or PM (likely all standard date formats use 24 hour time)\r\n // null\r\n AM: [\"AM\", \"am\", \"AM\"],\r\n PM: [\"PM\", \"pm\", \"PM\"],\r\n eras: [\r\n // eras in reverse chronological order.\r\n // name: the name of the era in this culture (e.g. A.D., C.E.)\r\n // start: when the era starts in ticks (gregorian, gmt), null if it is the earliest supported era.\r\n // offset: offset in years from gregorian calendar\r\n {\r\n \"name\": \"A.D.\",\r\n \"start\": null,\r\n \"offset\": 0\r\n }\r\n ],\r\n // when a two digit year is given, it will never be parsed as a four digit\r\n // year greater than this year (in the appropriate era for the culture)\r\n // Set it as a full year (e.g. 2029) or use an offset format starting from\r\n // the current year: \"+19\" would correspond to 2029 if the current year 2010.\r\n twoDigitYearMax: 2029,\r\n // set of predefined date and time patterns used by the culture\r\n // these represent the format someone in this culture would expect\r\n // to see given the portions of the date that are shown.\r\n patterns: {\r\n // short date pattern\r\n d: \"M/d/yyyy\",\r\n // long date pattern\r\n D: \"dddd, MMMM dd, yyyy\",\r\n // short time pattern\r\n t: \"h:mm tt\",\r\n // long time pattern\r\n T: \"h:mm:ss tt\",\r\n // long date, short time pattern\r\n f: \"dddd, MMMM dd, yyyy h:mm tt\",\r\n // long date, long time pattern\r\n F: \"dddd, MMMM dd, yyyy h:mm:ss tt\",\r\n // month/day pattern\r\n M: \"MMMM dd\",\r\n // month/year pattern\r\n Y: \"yyyy MMMM\",\r\n // S is a sortable format that does not vary by culture\r\n S: \"yyyy\\u0027-\\u0027MM\\u0027-\\u0027dd\\u0027T\\u0027HH\\u0027:\\u0027mm\\u0027:\\u0027ss\"\r\n }\r\n // optional fields for each calendar:\r\n /*\r\n monthsGenitive:\r\n Same as months but used when the day preceeds the month.\r\n Omit if the culture has no genitive distinction in month names.\r\n For an explaination of genitive months, see http://blogs.msdn.com/michkap/archive/2004/12/25/332259.aspx\r\n convert:\r\n Allows for the support of non-gregorian based calendars. This convert object is used to\r\n to convert a date to and from a gregorian calendar date to handle parsing and formatting.\r\n The two functions:\r\n fromGregorian( date )\r\n Given the date as a parameter, return an array with parts [ year, month, day ]\r\n corresponding to the non-gregorian based year, month, and day for the calendar.\r\n toGregorian( year, month, day )\r\n Given the non-gregorian year, month, and day, return a new Date() object\r\n set to the corresponding date in the gregorian calendar.\r\n */\r\n }\r\n },\r\n // For localized strings\r\n messages: {}\r\n };\r\n\r\n Globalize.cultures[\"default\"].calendar = Globalize.cultures[\"default\"].calendars.standard;\r\n\r\n Globalize.cultures.en = Globalize.cultures[\"default\"];\r\n\r\n Globalize.cultureSelector = \"en\";\r\n\r\n //\r\n // private variables\r\n //\r\n\r\n regexHex = /^0x[a-f0-9]+$/i;\r\n regexInfinity = /^[+\\-]?infinity$/i;\r\n regexParseFloat = /^[+\\-]?\\d*\\.?\\d*(e[+\\-]?\\d+)?$/;\r\n regexTrim = /^\\s+|\\s+$/g;\r\n\r\n //\r\n // private JavaScript utility functions\r\n //\r\n\r\n arrayIndexOf = function (array, item) {\r\n if (array.indexOf) {\r\n return array.indexOf(item);\r\n }\r\n for (var i = 0, length = array.length; i < length; i++) {\r\n if (array[i] === item) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n\r\n endsWith = function (value, pattern) {\r\n return value.substr(value.length - pattern.length) === pattern;\r\n };\r\n\r\n extend = function () {\r\n var options, name, src, copy, copyIsArray, clone,\r\n target = arguments[0] || {},\r\n i = 1,\r\n length = arguments.length,\r\n deep = false;\r\n\r\n // Handle a deep copy situation\r\n if (typeof target === \"boolean\") {\r\n deep = target;\r\n target = arguments[1] || {};\r\n // skip the boolean and the target\r\n i = 2;\r\n }\r\n\r\n // Handle case when target is a string or something (possible in deep copy)\r\n if (typeof target !== \"object\" && !isFunction(target)) {\r\n target = {};\r\n }\r\n\r\n for (; i < length; i++) {\r\n // Only deal with non-null/undefined values\r\n if ((options = arguments[i]) != null) {\r\n // Extend the base object\r\n for (name in options) {\r\n src = target[name];\r\n copy = options[name];\r\n\r\n // Prevent never-ending loop\r\n if (target === copy) {\r\n continue;\r\n }\r\n\r\n // Recurse if we're merging plain objects or arrays\r\n if (deep && copy && (isObject(copy) || (copyIsArray = isArray(copy)))) {\r\n if (copyIsArray) {\r\n copyIsArray = false;\r\n clone = src && isArray(src) ? src : [];\r\n\r\n } else {\r\n clone = src && isObject(src) ? src : {};\r\n }\r\n\r\n // Never move original objects, clone them\r\n target[name] = extend(deep, clone, copy);\r\n\r\n // Don't bring in undefined values\r\n } else if (copy !== undefined) {\r\n target[name] = copy;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Return the modified object\r\n return target;\r\n };\r\n\r\n isArray = Array.isArray || function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Array]\";\r\n };\r\n\r\n isFunction = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Function]\";\r\n };\r\n\r\n isObject = function (obj) {\r\n return Object.prototype.toString.call(obj) === \"[object Object]\";\r\n };\r\n\r\n startsWith = function (value, pattern) {\r\n return value.indexOf(pattern) === 0;\r\n };\r\n\r\n trim = function (value) {\r\n return (value + \"\").replace(regexTrim, \"\");\r\n };\r\n\r\n truncate = function (value) {\r\n if (isNaN(value)) {\r\n return NaN;\r\n }\r\n return Math[value < 0 ? \"ceil\" : \"floor\"](value);\r\n };\r\n\r\n zeroPad = function (str, count, left) {\r\n var l;\r\n for (l = str.length; l < count; l += 1) {\r\n str = (left ? (\"0\" + str) : (str + \"0\"));\r\n }\r\n return str;\r\n };\r\n\r\n //\r\n // private Globalization utility functions\r\n //\r\n\r\n appendPreOrPostMatch = function (preMatch, strings) {\r\n // appends pre- and post- token match strings while removing escaped characters.\r\n // Returns a single quote count which is used to determine if the token occurs\r\n // in a string literal.\r\n var quoteCount = 0,\r\n escaped = false;\r\n for (var i = 0, il = preMatch.length; i < il; i++) {\r\n var c = preMatch.charAt(i);\r\n switch (c) {\r\n case \"\\'\":\r\n if (escaped) {\r\n strings.push(\"\\'\");\r\n } else {\r\n quoteCount++;\r\n }\r\n escaped = false;\r\n break;\r\n case \"\\\\\":\r\n if (escaped) {\r\n strings.push(\"\\\\\");\r\n }\r\n escaped = !escaped;\r\n break;\r\n default:\r\n strings.push(c);\r\n escaped = false;\r\n break;\r\n }\r\n }\r\n return quoteCount;\r\n };\r\n\r\n expandFormat = function (cal, format) {\r\n // expands unspecified or single character date formats into the full pattern.\r\n format = format || \"F\";\r\n var pattern,\r\n patterns = cal.patterns,\r\n len = format.length;\r\n if (len === 1) {\r\n pattern = patterns[format];\r\n if (!pattern) {\r\n throw \"Invalid date format string \\'\" + format + \"\\'.\";\r\n }\r\n format = pattern;\r\n } else if (len === 2 && format.charAt(0) === \"%\") {\r\n // %X escape format -- intended as a custom format string that is only one character, not a built-in format.\r\n format = format.charAt(1);\r\n }\r\n return format;\r\n };\r\n\r\n formatDate = function (value, format, culture) {\r\n var cal = culture.calendar,\r\n convert = cal.convert,\r\n ret;\r\n\r\n if (!format || !format.length || format === \"i\") {\r\n if (culture && culture.name.length) {\r\n if (convert) {\r\n // non-gregorian calendar, so we cannot use built-in toLocaleString()\r\n ret = formatDate(value, cal.patterns.F, culture);\r\n } else {\r\n var eraDate = new Date(value.getTime()),\r\n era = getEra(value, cal.eras);\r\n eraDate.setFullYear(getEraYear(value, cal, era));\r\n ret = eraDate.toLocaleString();\r\n }\r\n } else {\r\n ret = value.toString();\r\n }\r\n return ret;\r\n }\r\n\r\n var eras = cal.eras,\r\n sortable = format === \"s\";\r\n format = expandFormat(cal, format);\r\n\r\n // Start with an empty string\r\n ret = [];\r\n var hour,\r\n zeros = [\"0\", \"00\", \"000\"],\r\n foundDay,\r\n checkedDay,\r\n dayPartRegExp = /([^d]|^)(d|dd)([^d]|$)/g,\r\n quoteCount = 0,\r\n tokenRegExp = getTokenRegExp(),\r\n converted;\r\n\r\n function padZeros(num, c) {\r\n var r, s = num + \"\";\r\n if (c > 1 && s.length < c) {\r\n r = (zeros[c - 2] + s);\r\n return r.substr(r.length - c, c);\r\n } else {\r\n r = s;\r\n }\r\n return r;\r\n }\r\n\r\n function hasDay() {\r\n if (foundDay || checkedDay) {\r\n return foundDay;\r\n }\r\n foundDay = dayPartRegExp.test(format);\r\n checkedDay = true;\r\n return foundDay;\r\n }\r\n\r\n function getPart(date, part) {\r\n if (converted) {\r\n return converted[part];\r\n }\r\n switch (part) {\r\n case 0:\r\n return date.getFullYear();\r\n case 1:\r\n return date.getMonth();\r\n case 2:\r\n return date.getDate();\r\n default:\r\n throw \"Invalid part value \" + part;\r\n }\r\n }\r\n\r\n if (!sortable && convert) {\r\n converted = convert.fromGregorian(value);\r\n }\r\n\r\n for (; ;) {\r\n // Save the current index\r\n var index = tokenRegExp.lastIndex,\r\n // Look for the next pattern\r\n ar = tokenRegExp.exec(format);\r\n\r\n // Append the text before the pattern (or the end of the string if not found)\r\n var preMatch = format.slice(index, ar ? ar.index : format.length);\r\n quoteCount += appendPreOrPostMatch(preMatch, ret);\r\n\r\n if (!ar) {\r\n break;\r\n }\r\n\r\n // do not replace any matches that occur inside a string literal.\r\n if (quoteCount % 2) {\r\n ret.push(ar[0]);\r\n continue;\r\n }\r\n\r\n var current = ar[0],\r\n clength = current.length;\r\n\r\n switch (current) {\r\n case \"ddd\":\r\n //Day of the week, as a three-letter abbreviation\r\n case \"dddd\":\r\n // Day of the week, using the full name\r\n var names = (clength === 3) ? cal.days.namesAbbr : cal.days.names;\r\n ret.push(names[value.getDay()]);\r\n break;\r\n case \"d\":\r\n // Day of month, without leading zero for single-digit days\r\n case \"dd\":\r\n // Day of month, with leading zero for single-digit days\r\n foundDay = true;\r\n ret.push(\r\n padZeros(getPart(value, 2), clength)\r\n );\r\n break;\r\n case \"MMM\":\r\n // Month, as a three-letter abbreviation\r\n case \"MMMM\":\r\n // Month, using the full name\r\n var part = getPart(value, 1);\r\n ret.push(\r\n (cal.monthsGenitive && hasDay()) ?\r\n (cal.monthsGenitive[clength === 3 ? \"namesAbbr\" : \"names\"][part]) :\r\n (cal.months[clength === 3 ? \"namesAbbr\" : \"names\"][part])\r\n );\r\n break;\r\n case \"M\":\r\n // Month, as digits, with no leading zero for single-digit months\r\n case \"MM\":\r\n // Month, as digits, with leading zero for single-digit months\r\n ret.push(\r\n padZeros(getPart(value, 1) + 1, clength)\r\n );\r\n break;\r\n case \"y\":\r\n // Year, as two digits, but with no leading zero for years less than 10\r\n case \"yy\":\r\n // Year, as two digits, with leading zero for years less than 10\r\n case \"yyyy\":\r\n // Year represented by four full digits\r\n part = converted ? converted[0] : getEraYear(value, cal, getEra(value, eras), sortable);\r\n if (clength < 4) {\r\n part = part % 100;\r\n }\r\n ret.push(\r\n padZeros(part, clength)\r\n );\r\n break;\r\n case \"h\":\r\n // Hours with no leading zero for single-digit hours, using 12-hour clock\r\n case \"hh\":\r\n // Hours with leading zero for single-digit hours, using 12-hour clock\r\n hour = value.getHours() % 12;\r\n if (hour === 0) hour = 12;\r\n ret.push(\r\n padZeros(hour, clength)\r\n );\r\n break;\r\n case \"H\":\r\n // Hours with no leading zero for single-digit hours, using 24-hour clock\r\n case \"HH\":\r\n // Hours with leading zero for single-digit hours, using 24-hour clock\r\n ret.push(\r\n padZeros(value.getHours(), clength)\r\n );\r\n break;\r\n case \"m\":\r\n // Minutes with no leading zero for single-digit minutes\r\n case \"mm\":\r\n // Minutes with leading zero for single-digit minutes\r\n ret.push(\r\n padZeros(value.getMinutes(), clength)\r\n );\r\n break;\r\n case \"s\":\r\n // Seconds with no leading zero for single-digit seconds\r\n case \"ss\":\r\n // Seconds with leading zero for single-digit seconds\r\n ret.push(\r\n padZeros(value.getSeconds(), clength)\r\n );\r\n break;\r\n case \"t\":\r\n // One character am/pm indicator (\"a\" or \"p\")\r\n case \"tt\":\r\n // Multicharacter am/pm indicator\r\n part = value.getHours() < 12 ? (cal.AM ? cal.AM[0] : \" \") : (cal.PM ? cal.PM[0] : \" \");\r\n ret.push(clength === 1 ? part.charAt(0) : part);\r\n break;\r\n case \"f\":\r\n // Deciseconds\r\n case \"ff\":\r\n // Centiseconds\r\n case \"fff\":\r\n // Milliseconds\r\n ret.push(\r\n padZeros(value.getMilliseconds(), 3).substr(0, clength)\r\n );\r\n break;\r\n case \"z\":\r\n // Time zone offset, no leading zero\r\n case \"zz\":\r\n // Time zone offset with leading zero\r\n hour = value.getTimezoneOffset() / 60;\r\n ret.push(\r\n (hour <= 0 ? \"+\" : \"-\") + padZeros(Math.floor(Math.abs(hour)), clength)\r\n );\r\n break;\r\n case \"zzz\":\r\n // Time zone offset with leading zero\r\n hour = value.getTimezoneOffset() / 60;\r\n ret.push(\r\n (hour <= 0 ? \"+\" : \"-\") + padZeros(Math.floor(Math.abs(hour)), 2) +\r\n // Hard coded \":\" separator, rather than using cal.TimeSeparator\r\n // Repeated here for consistency, plus \":\" was already assumed in date parsing.\r\n \":\" + padZeros(Math.abs(value.getTimezoneOffset() % 60), 2)\r\n );\r\n break;\r\n case \"g\":\r\n case \"gg\":\r\n if (cal.eras) {\r\n ret.push(\r\n cal.eras[getEra(value, eras)].name\r\n );\r\n }\r\n break;\r\n case \"/\":\r\n ret.push(cal[\"/\"]);\r\n break;\r\n default:\r\n throw \"Invalid date format pattern \\'\" + current + \"\\'.\";\r\n }\r\n }\r\n return ret.join(\"\");\r\n };\r\n\r\n // formatNumber\r\n (function () {\r\n var expandNumber;\r\n\r\n expandNumber = function (number, precision, formatInfo) {\r\n var groupSizes = formatInfo.groupSizes,\r\n curSize = groupSizes[0],\r\n curGroupIndex = 1,\r\n factor = Math.pow(10, precision),\r\n rounded = Math.round(number * factor) / factor;\r\n\r\n if (!isFinite(rounded)) {\r\n rounded = number;\r\n }\r\n number = rounded;\r\n\r\n var numberString = number + \"\",\r\n right = \"\",\r\n split = numberString.split(/e/i),\r\n exponent = split.length > 1 ? parseInt(split[1], 10) : 0;\r\n numberString = split[0];\r\n split = numberString.split(\".\");\r\n numberString = split[0];\r\n right = split.length > 1 ? split[1] : \"\";\r\n\r\n var l;\r\n if (exponent > 0) {\r\n right = zeroPad(right, exponent, false);\r\n numberString += right.slice(0, exponent);\r\n right = right.substr(exponent);\r\n } else if (exponent < 0) {\r\n exponent = -exponent;\r\n numberString = zeroPad(numberString, exponent + 1, true);\r\n right = numberString.slice(-exponent, numberString.length) + right;\r\n numberString = numberString.slice(0, -exponent);\r\n }\r\n\r\n if (precision > 0) {\r\n right = formatInfo[\".\"] +\r\n ((right.length > precision) ? right.slice(0, precision) : zeroPad(right, precision));\r\n } else {\r\n right = \"\";\r\n }\r\n\r\n var stringIndex = numberString.length - 1,\r\n sep = formatInfo[\",\"],\r\n ret = \"\";\r\n\r\n while (stringIndex >= 0) {\r\n if (curSize === 0 || curSize > stringIndex) {\r\n return numberString.slice(0, stringIndex + 1) + (ret.length ? (sep + ret + right) : right);\r\n }\r\n ret = numberString.slice(stringIndex - curSize + 1, stringIndex + 1) + (ret.length ? (sep + ret) : \"\");\r\n\r\n stringIndex -= curSize;\r\n\r\n if (curGroupIndex < groupSizes.length) {\r\n curSize = groupSizes[curGroupIndex];\r\n curGroupIndex++;\r\n }\r\n }\r\n\r\n return numberString.slice(0, stringIndex + 1) + sep + ret + right;\r\n };\r\n\r\n formatNumber = function (value, format, culture) {\r\n if (!isFinite(value)) {\r\n if (value === Infinity) {\r\n return culture.numberFormat.positiveInfinity;\r\n }\r\n if (value === -Infinity) {\r\n return culture.numberFormat.negativeInfinity;\r\n }\r\n return culture.numberFormat[\"NaN\"];\r\n }\r\n if (!format || format === \"i\") {\r\n return culture.name.length ? value.toLocaleString() : value.toString();\r\n }\r\n format = format || \"D\";\r\n\r\n var nf = culture.numberFormat,\r\n number = Math.abs(value),\r\n precision = -1,\r\n pattern;\r\n if (format.length > 1) precision = parseInt(format.slice(1), 10);\r\n\r\n var current = format.charAt(0).toUpperCase(),\r\n formatInfo;\r\n\r\n switch (current) {\r\n case \"D\":\r\n pattern = \"n\";\r\n number = truncate(number);\r\n if (precision !== -1) {\r\n number = zeroPad(\"\" + number, precision, true);\r\n }\r\n if (value < 0) number = \"-\" + number;\r\n break;\r\n case \"N\":\r\n formatInfo = nf;\r\n /* falls through */\r\n case \"C\":\r\n formatInfo = formatInfo || nf.currency;\r\n /* falls through */\r\n case \"P\":\r\n formatInfo = formatInfo || nf.percent;\r\n pattern = value < 0 ? formatInfo.pattern[0] : (formatInfo.pattern[1] || \"n\");\r\n if (precision === -1) precision = formatInfo.decimals;\r\n number = expandNumber(number * (current === \"P\" ? 100 : 1), precision, formatInfo);\r\n break;\r\n default:\r\n throw \"Bad number format specifier: \" + current;\r\n }\r\n\r\n var patternParts = /n|\\$|-|%/g,\r\n ret = \"\";\r\n for (; ;) {\r\n var index = patternParts.lastIndex,\r\n ar = patternParts.exec(pattern);\r\n\r\n ret += pattern.slice(index, ar ? ar.index : pattern.length);\r\n\r\n if (!ar) {\r\n break;\r\n }\r\n\r\n switch (ar[0]) {\r\n case \"n\":\r\n ret += number;\r\n break;\r\n case \"$\":\r\n ret += nf.currency.symbol;\r\n break;\r\n case \"-\":\r\n // don't make 0 negative\r\n if (/[1-9]/.test(number)) {\r\n ret += nf[\"-\"];\r\n }\r\n break;\r\n case \"%\":\r\n ret += nf.percent.symbol;\r\n break;\r\n }\r\n }\r\n\r\n return ret;\r\n };\r\n\r\n }());\r\n\r\n getTokenRegExp = function () {\r\n // regular expression for matching date and time tokens in format strings.\r\n return (/\\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g);\r\n };\r\n\r\n getEra = function (date, eras) {\r\n if (!eras) return 0;\r\n var start, ticks = date.getTime();\r\n for (var i = 0, l = eras.length; i < l; i++) {\r\n start = eras[i].start;\r\n if (start === null || ticks >= start) {\r\n return i;\r\n }\r\n }\r\n return 0;\r\n };\r\n\r\n getEraYear = function (date, cal, era, sortable) {\r\n var year = date.getFullYear();\r\n if (!sortable && cal.eras) {\r\n // convert normal gregorian year to era-shifted gregorian\r\n // year by subtracting the era offset\r\n year -= cal.eras[era].offset;\r\n }\r\n return year;\r\n };\r\n\r\n // parseExact\r\n (function () {\r\n var expandYear,\r\n getDayIndex,\r\n getMonthIndex,\r\n getParseRegExp,\r\n outOfRange,\r\n toUpper,\r\n toUpperArray;\r\n\r\n expandYear = function (cal, year) {\r\n // expands 2-digit year into 4 digits.\r\n if (year < 100) {\r\n var now = new Date(),\r\n era = getEra(now),\r\n curr = getEraYear(now, cal, era),\r\n twoDigitYearMax = cal.twoDigitYearMax;\r\n twoDigitYearMax = typeof twoDigitYearMax === \"string\" ? new Date().getFullYear() % 100 + parseInt(twoDigitYearMax, 10) : twoDigitYearMax;\r\n year += curr - (curr % 100);\r\n if (year > twoDigitYearMax) {\r\n year -= 100;\r\n }\r\n }\r\n return year;\r\n };\r\n\r\n getDayIndex = function (cal, value, abbr) {\r\n var ret,\r\n days = cal.days,\r\n upperDays = cal._upperDays;\r\n if (!upperDays) {\r\n cal._upperDays = upperDays = [\r\n toUpperArray(days.names),\r\n toUpperArray(days.namesAbbr),\r\n toUpperArray(days.namesShort)\r\n ];\r\n }\r\n value = toUpper(value);\r\n if (abbr) {\r\n ret = arrayIndexOf(upperDays[1], value);\r\n if (ret === -1) {\r\n ret = arrayIndexOf(upperDays[2], value);\r\n }\r\n } else {\r\n ret = arrayIndexOf(upperDays[0], value);\r\n }\r\n return ret;\r\n };\r\n\r\n getMonthIndex = function (cal, value, abbr) {\r\n var months = cal.months,\r\n monthsGen = cal.monthsGenitive || cal.months,\r\n upperMonths = cal._upperMonths,\r\n upperMonthsGen = cal._upperMonthsGen;\r\n if (!upperMonths) {\r\n cal._upperMonths = upperMonths = [\r\n toUpperArray(months.names),\r\n toUpperArray(months.namesAbbr)\r\n ];\r\n cal._upperMonthsGen = upperMonthsGen = [\r\n toUpperArray(monthsGen.names),\r\n toUpperArray(monthsGen.namesAbbr)\r\n ];\r\n }\r\n value = toUpper(value);\r\n var i = arrayIndexOf(abbr ? upperMonths[1] : upperMonths[0], value);\r\n if (i < 0) {\r\n i = arrayIndexOf(abbr ? upperMonthsGen[1] : upperMonthsGen[0], value);\r\n }\r\n return i;\r\n };\r\n\r\n getParseRegExp = function (cal, format) {\r\n // converts a format string into a regular expression with groups that\r\n // can be used to extract date fields from a date string.\r\n // check for a cached parse regex.\r\n var re = cal._parseRegExp;\r\n if (!re) {\r\n cal._parseRegExp = re = {};\r\n } else {\r\n var reFormat = re[format];\r\n if (reFormat) {\r\n return reFormat;\r\n }\r\n }\r\n\r\n // expand single digit formats, then escape regular expression characters.\r\n var expFormat = expandFormat(cal, format).replace(/([\\^\\$\\.\\*\\+\\?\\|\\[\\]\\(\\)\\{\\}])/g, \"\\\\\\\\$1\"),\r\n regexp = [\"^\"],\r\n groups = [],\r\n index = 0,\r\n quoteCount = 0,\r\n tokenRegExp = getTokenRegExp(),\r\n match;\r\n\r\n // iterate through each date token found.\r\n while ((match = tokenRegExp.exec(expFormat)) !== null) {\r\n var preMatch = expFormat.slice(index, match.index);\r\n index = tokenRegExp.lastIndex;\r\n\r\n // don't replace any matches that occur inside a string literal.\r\n quoteCount += appendPreOrPostMatch(preMatch, regexp);\r\n if (quoteCount % 2) {\r\n regexp.push(match[0]);\r\n continue;\r\n }\r\n\r\n // add a regex group for the token.\r\n var m = match[0],\r\n len = m.length,\r\n add;\r\n switch (m) {\r\n case \"dddd\":\r\n case \"ddd\":\r\n case \"MMMM\":\r\n case \"MMM\":\r\n case \"gg\":\r\n case \"g\":\r\n add = \"(\\\\D+)\";\r\n break;\r\n case \"tt\":\r\n case \"t\":\r\n add = \"(\\\\D*)\";\r\n break;\r\n case \"yyyy\":\r\n case \"fff\":\r\n case \"ff\":\r\n case \"f\":\r\n add = \"(\\\\d{\" + len + \"})\";\r\n break;\r\n case \"dd\":\r\n case \"d\":\r\n case \"MM\":\r\n case \"M\":\r\n case \"yy\":\r\n case \"y\":\r\n case \"HH\":\r\n case \"H\":\r\n case \"hh\":\r\n case \"h\":\r\n case \"mm\":\r\n case \"m\":\r\n case \"ss\":\r\n case \"s\":\r\n add = \"(\\\\d\\\\d?)\";\r\n break;\r\n case \"zzz\":\r\n add = \"([+-]?\\\\d\\\\d?:\\\\d{2})\";\r\n break;\r\n case \"zz\":\r\n case \"z\":\r\n add = \"([+-]?\\\\d\\\\d?)\";\r\n break;\r\n case \"/\":\r\n add = \"(\\\\/)\";\r\n break;\r\n default:\r\n throw \"Invalid date format pattern \\'\" + m + \"\\'.\";\r\n }\r\n if (add) {\r\n regexp.push(add);\r\n }\r\n groups.push(match[0]);\r\n }\r\n appendPreOrPostMatch(expFormat.slice(index), regexp);\r\n regexp.push(\"$\");\r\n\r\n // allow whitespace to differ when matching formats.\r\n var regexpStr = regexp.join(\"\").replace(/\\s+/g, \"\\\\s+\"),\r\n parseRegExp = {\r\n \"regExp\": regexpStr,\r\n \"groups\": groups\r\n };\r\n\r\n // cache the regex for this format.\r\n return re[format] = parseRegExp;\r\n };\r\n\r\n outOfRange = function (value, low, high) {\r\n return value < low || value > high;\r\n };\r\n\r\n toUpper = function (value) {\r\n // \"he-IL\" has non-breaking space in weekday names.\r\n return value.split(\"\\u00A0\").join(\" \").toUpperCase();\r\n };\r\n\r\n toUpperArray = function (arr) {\r\n var results = [];\r\n for (var i = 0, l = arr.length; i < l; i++) {\r\n results[i] = toUpper(arr[i]);\r\n }\r\n return results;\r\n };\r\n\r\n parseExact = function (value, format, culture) {\r\n // try to parse the date string by matching against the format string\r\n // while using the specified culture for date field names.\r\n value = trim(value);\r\n var cal = culture.calendar,\r\n // convert date formats into regular expressions with groupings.\r\n // use the regexp to determine the input format and extract the date fields.\r\n parseInfo = getParseRegExp(cal, format),\r\n match = new RegExp(parseInfo.regExp).exec(value);\r\n if (match === null) {\r\n return null;\r\n }\r\n // found a date format that matches the input.\r\n var groups = parseInfo.groups,\r\n era = null,\r\n year = null,\r\n month = null,\r\n date = null,\r\n weekDay = null,\r\n hour = 0,\r\n hourOffset, min = 0,\r\n sec = 0,\r\n msec = 0,\r\n tzMinOffset = null,\r\n pmHour = false;\r\n // iterate the format groups to extract and set the date fields.\r\n for (var j = 0, jl = groups.length; j < jl; j++) {\r\n var matchGroup = match[j + 1];\r\n if (matchGroup) {\r\n var current = groups[j],\r\n clength = current.length,\r\n matchInt = parseInt(matchGroup, 10);\r\n switch (current) {\r\n case \"dd\":\r\n case \"d\":\r\n // Day of month.\r\n date = matchInt;\r\n // check that date is generally in valid range, also checking overflow below.\r\n if (outOfRange(date, 1, 31)) return null;\r\n break;\r\n case \"MMM\":\r\n case \"MMMM\":\r\n month = getMonthIndex(cal, matchGroup, clength === 3);\r\n if (outOfRange(month, 0, 11)) return null;\r\n break;\r\n case \"M\":\r\n case \"MM\":\r\n // Month.\r\n month = matchInt - 1;\r\n if (outOfRange(month, 0, 11)) return null;\r\n break;\r\n case \"y\":\r\n case \"yy\":\r\n case \"yyyy\":\r\n year = clength < 4 ? expandYear(cal, matchInt) : matchInt;\r\n if (outOfRange(year, 0, 9999)) return null;\r\n break;\r\n case \"h\":\r\n case \"hh\":\r\n // Hours (12-hour clock).\r\n hour = matchInt;\r\n if (hour === 12) hour = 0;\r\n if (outOfRange(hour, 0, 11)) return null;\r\n break;\r\n case \"H\":\r\n case \"HH\":\r\n // Hours (24-hour clock).\r\n hour = matchInt;\r\n if (outOfRange(hour, 0, 23)) return null;\r\n break;\r\n case \"m\":\r\n case \"mm\":\r\n // Minutes.\r\n min = matchInt;\r\n if (outOfRange(min, 0, 59)) return null;\r\n break;\r\n case \"s\":\r\n case \"ss\":\r\n // Seconds.\r\n sec = matchInt;\r\n if (outOfRange(sec, 0, 59)) return null;\r\n break;\r\n case \"tt\":\r\n case \"t\":\r\n // AM/PM designator.\r\n // see if it is standard, upper, or lower case PM. If not, ensure it is at least one of\r\n // the AM tokens. If not, fail the parse for this format.\r\n pmHour = cal.PM && (matchGroup === cal.PM[0] || matchGroup === cal.PM[1] || matchGroup === cal.PM[2]);\r\n if (\r\n !pmHour && (\r\n !cal.AM || (matchGroup !== cal.AM[0] && matchGroup !== cal.AM[1] && matchGroup !== cal.AM[2])\r\n )\r\n ) return null;\r\n break;\r\n case \"f\":\r\n // Deciseconds.\r\n case \"ff\":\r\n // Centiseconds.\r\n case \"fff\":\r\n // Milliseconds.\r\n msec = matchInt * Math.pow(10, 3 - clength);\r\n if (outOfRange(msec, 0, 999)) return null;\r\n break;\r\n case \"ddd\":\r\n // Day of week.\r\n case \"dddd\":\r\n // Day of week.\r\n weekDay = getDayIndex(cal, matchGroup, clength === 3);\r\n if (outOfRange(weekDay, 0, 6)) return null;\r\n break;\r\n case \"zzz\":\r\n // Time zone offset in +/- hours:min.\r\n var offsets = matchGroup.split(/:/);\r\n if (offsets.length !== 2) return null;\r\n hourOffset = parseInt(offsets[0], 10);\r\n if (outOfRange(hourOffset, -12, 13)) return null;\r\n var minOffset = parseInt(offsets[1], 10);\r\n if (outOfRange(minOffset, 0, 59)) return null;\r\n tzMinOffset = (hourOffset * 60) + (startsWith(matchGroup, \"-\") ? -minOffset : minOffset);\r\n break;\r\n case \"z\":\r\n case \"zz\":\r\n // Time zone offset in +/- hours.\r\n hourOffset = matchInt;\r\n if (outOfRange(hourOffset, -12, 13)) return null;\r\n tzMinOffset = hourOffset * 60;\r\n break;\r\n case \"g\":\r\n case \"gg\":\r\n var eraName = matchGroup;\r\n if (!eraName || !cal.eras) return null;\r\n eraName = trim(eraName.toLowerCase());\r\n for (var i = 0, l = cal.eras.length; i < l; i++) {\r\n if (eraName === cal.eras[i].name.toLowerCase()) {\r\n era = i;\r\n break;\r\n }\r\n }\r\n // could not find an era with that name\r\n if (era === null) return null;\r\n break;\r\n }\r\n }\r\n }\r\n var result = new Date(),\r\n defaultYear, convert = cal.convert;\r\n defaultYear = convert ? convert.fromGregorian(result)[0] : result.getFullYear();\r\n if (year === null) {\r\n year = defaultYear;\r\n } else if (cal.eras) {\r\n // year must be shifted to normal gregorian year\r\n // but not if year was not specified, its already normal gregorian\r\n // per the main if clause above.\r\n year += cal.eras[(era || 0)].offset;\r\n }\r\n // set default day and month to 1 and January, so if unspecified, these are the defaults\r\n // instead of the current day/month.\r\n if (month === null) {\r\n month = 0;\r\n }\r\n if (date === null) {\r\n date = 1;\r\n }\r\n // now have year, month, and date, but in the culture's calendar.\r\n // convert to gregorian if necessary\r\n if (convert) {\r\n result = convert.toGregorian(year, month, date);\r\n // conversion failed, must be an invalid match\r\n if (result === null) return null;\r\n } else {\r\n // have to set year, month and date together to avoid overflow based on current date.\r\n result.setFullYear(year, month, date);\r\n // check to see if date overflowed for specified month (only checked 1-31 above).\r\n if (result.getDate() !== date) return null;\r\n // invalid day of week.\r\n if (weekDay !== null && result.getDay() !== weekDay) {\r\n return null;\r\n }\r\n }\r\n // if pm designator token was found make sure the hours fit the 24-hour clock.\r\n if (pmHour && hour < 12) {\r\n hour += 12;\r\n }\r\n result.setHours(hour, min, sec, msec);\r\n if (tzMinOffset !== null) {\r\n // adjust timezone to utc before applying local offset.\r\n var adjustedMin = result.getMinutes() - (tzMinOffset + result.getTimezoneOffset());\r\n // Safari limits hours and minutes to the range of -127 to 127. We need to use setHours\r\n // to ensure both these fields will not exceed this range.\tadjustedMin will range\r\n // somewhere between -1440 and 1500, so we only need to split this into hours.\r\n result.setHours(result.getHours() + parseInt(adjustedMin / 60, 10), adjustedMin % 60);\r\n }\r\n return result;\r\n };\r\n }());\r\n\r\n parseNegativePattern = function (value, nf, negativePattern) {\r\n var neg = nf[\"-\"],\r\n pos = nf[\"+\"],\r\n ret;\r\n switch (negativePattern) {\r\n case \"n -\":\r\n neg = \" \" + neg;\r\n pos = \" \" + pos;\r\n /* falls through */\r\n case \"n-\":\r\n if (endsWith(value, neg)) {\r\n ret = [\"-\", value.substr(0, value.length - neg.length)];\r\n } else if (endsWith(value, pos)) {\r\n ret = [\"+\", value.substr(0, value.length - pos.length)];\r\n }\r\n break;\r\n case \"- n\":\r\n neg += \" \";\r\n pos += \" \";\r\n /* falls through */\r\n case \"-n\":\r\n if (startsWith(value, neg)) {\r\n ret = [\"-\", value.substr(neg.length)];\r\n } else if (startsWith(value, pos)) {\r\n ret = [\"+\", value.substr(pos.length)];\r\n }\r\n break;\r\n case \"(n)\":\r\n if (startsWith(value, \"(\") && endsWith(value, \")\")) {\r\n ret = [\"-\", value.substr(1, value.length - 2)];\r\n }\r\n break;\r\n }\r\n return ret || [\"\", value];\r\n };\r\n\r\n //\r\n // public instance functions\r\n //\r\n\r\n Globalize.prototype.findClosestCulture = function (cultureSelector) {\r\n return Globalize.findClosestCulture.call(this, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.format = function (value, format, cultureSelector) {\r\n return Globalize.format.call(this, value, format, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.localize = function (key, cultureSelector) {\r\n return Globalize.localize.call(this, key, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.parseInt = function (value, radix, cultureSelector) {\r\n return Globalize.parseInt.call(this, value, radix, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.parseFloat = function (value, radix, cultureSelector) {\r\n return Globalize.parseFloat.call(this, value, radix, cultureSelector);\r\n };\r\n\r\n Globalize.prototype.culture = function (cultureSelector) {\r\n return Globalize.culture.call(this, cultureSelector);\r\n };\r\n\r\n //\r\n // public singleton functions\r\n //\r\n\r\n Globalize.addCultureInfo = function (cultureName, baseCultureName, info) {\r\n\r\n var base = {},\r\n isNew = false;\r\n\r\n if (typeof cultureName !== \"string\") {\r\n // cultureName argument is optional string. If not specified, assume info is first\r\n // and only argument. Specified info deep-extends current culture.\r\n info = cultureName;\r\n cultureName = this.culture().name;\r\n base = this.cultures[cultureName];\r\n } else if (typeof baseCultureName !== \"string\") {\r\n // baseCultureName argument is optional string. If not specified, assume info is second\r\n // argument. Specified info deep-extends specified culture.\r\n // If specified culture does not exist, create by deep-extending default\r\n info = baseCultureName;\r\n isNew = (this.cultures[cultureName] == null);\r\n base = this.cultures[cultureName] || this.cultures[\"default\"];\r\n } else {\r\n // cultureName and baseCultureName specified. Assume a new culture is being created\r\n // by deep-extending an specified base culture\r\n isNew = true;\r\n base = this.cultures[baseCultureName];\r\n }\r\n\r\n this.cultures[cultureName] = extend(true, {},\r\n base,\r\n info\r\n );\r\n // Make the standard calendar the current culture if it's a new culture\r\n if (isNew) {\r\n this.cultures[cultureName].calendar = this.cultures[cultureName].calendars.standard;\r\n }\r\n };\r\n\r\n Globalize.findClosestCulture = function (name) {\r\n var match;\r\n if (!name) {\r\n return this.findClosestCulture(this.cultureSelector) || this.cultures[\"default\"];\r\n }\r\n if (typeof name === \"string\") {\r\n name = name.split(\",\");\r\n }\r\n if (isArray(name)) {\r\n var lang,\r\n cultures = this.cultures,\r\n list = name,\r\n i, l = list.length,\r\n prioritized = [];\r\n for (i = 0; i < l; i++) {\r\n name = trim(list[i]);\r\n var pri, parts = name.split(\";\");\r\n lang = trim(parts[0]);\r\n if (parts.length === 1) {\r\n pri = 1;\r\n } else {\r\n name = trim(parts[1]);\r\n if (name.indexOf(\"q=\") === 0) {\r\n name = name.substr(2);\r\n pri = parseFloat(name);\r\n pri = isNaN(pri) ? 0 : pri;\r\n } else {\r\n pri = 1;\r\n }\r\n }\r\n prioritized.push({\r\n lang: lang,\r\n pri: pri\r\n });\r\n }\r\n prioritized.sort(function (a, b) {\r\n if (a.pri < b.pri) {\r\n return 1;\r\n } else if (a.pri > b.pri) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n // exact match\r\n for (i = 0; i < l; i++) {\r\n lang = prioritized[i].lang;\r\n match = cultures[lang];\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n\r\n // neutral language match\r\n for (i = 0; i < l; i++) {\r\n lang = prioritized[i].lang;\r\n do {\r\n var index = lang.lastIndexOf(\"-\");\r\n if (index === -1) {\r\n break;\r\n }\r\n // strip off the last part. e.g. en-US => en\r\n lang = lang.substr(0, index);\r\n match = cultures[lang];\r\n if (match) {\r\n return match;\r\n }\r\n }\r\n while (1);\r\n }\r\n\r\n // last resort: match first culture using that language\r\n for (i = 0; i < l; i++) {\r\n lang = prioritized[i].lang;\r\n for (var cultureKey in cultures) {\r\n var culture = cultures[cultureKey];\r\n if (culture.language == lang) {\r\n return culture;\r\n }\r\n }\r\n }\r\n } else if (typeof name === \"object\") {\r\n return name;\r\n }\r\n return match || null;\r\n };\r\n\r\n Globalize.format = function (value, format, cultureSelector) {\r\n var culture = this.findClosestCulture(cultureSelector);\r\n if (value instanceof Date) {\r\n value = formatDate(value, format, culture);\r\n } else if (typeof value === \"number\") {\r\n value = formatNumber(value, format, culture);\r\n }\r\n return value;\r\n };\r\n\r\n Globalize.localize = function (key, cultureSelector) {\r\n return this.findClosestCulture(cultureSelector).messages[key] ||\r\n this.cultures[\"default\"].messages[key];\r\n };\r\n\r\n Globalize.parseDate = function (value, formats, culture) {\r\n culture = this.findClosestCulture(culture);\r\n\r\n var date, prop, patterns;\r\n if (formats) {\r\n if (typeof formats === \"string\") {\r\n formats = [formats];\r\n }\r\n if (formats.length) {\r\n for (var i = 0, l = formats.length; i < l; i++) {\r\n var format = formats[i];\r\n if (format) {\r\n date = parseExact(value, format, culture);\r\n if (date) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n patterns = culture.calendar.patterns;\r\n for (prop in patterns) {\r\n date = parseExact(value, patterns[prop], culture);\r\n if (date) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return date || null;\r\n };\r\n\r\n Globalize.parseInt = function (value, radix, cultureSelector) {\r\n return truncate(Globalize.parseFloat(value, radix, cultureSelector));\r\n };\r\n\r\n Globalize.parseFloat = function (value, radix, cultureSelector) {\r\n // radix argument is optional\r\n if (typeof radix !== \"number\") {\r\n cultureSelector = radix;\r\n radix = 10;\r\n }\r\n\r\n var culture = this.findClosestCulture(cultureSelector);\r\n var ret = NaN,\r\n nf = culture.numberFormat;\r\n\r\n if (typeof (value) === \"boolean\") {\r\n return ret;\r\n }\r\n\r\n if (value.indexOf(culture.numberFormat.currency.symbol) > -1) {\r\n // remove currency symbol\r\n value = value.replace(culture.numberFormat.currency.symbol, \"\");\r\n // replace decimal seperator\r\n value = value.replace(culture.numberFormat.currency[\".\"], culture.numberFormat[\".\"]);\r\n }\r\n\r\n //Remove percentage character from number string before parsing\r\n if (value.indexOf(culture.numberFormat.percent.symbol) > -1) {\r\n value = value.replace(culture.numberFormat.percent.symbol, \"\");\r\n }\r\n\r\n // remove spaces: leading, trailing and between - and number. Used for negative currency pt-BR\r\n value = value.replace(/ /g, \"\");\r\n\r\n // allow infinity or hexidecimal\r\n if (regexInfinity.test(value)) {\r\n ret = parseFloat(value);\r\n } else if (!radix && regexHex.test(value)) {\r\n ret = parseInt(value, 16);\r\n } else {\r\n\r\n // determine sign and number\r\n var signInfo = parseNegativePattern(value, nf, nf.pattern[0]),\r\n sign = signInfo[0],\r\n num = signInfo[1];\r\n\r\n // #44 - try parsing as \"(n)\"\r\n if (sign === \"\" && nf.pattern[0] !== \"(n)\") {\r\n signInfo = parseNegativePattern(value, nf, \"(n)\");\r\n sign = signInfo[0];\r\n num = signInfo[1];\r\n }\r\n\r\n // try parsing as \"-n\"\r\n if (sign === \"\" && nf.pattern[0] !== \"-n\") {\r\n signInfo = parseNegativePattern(value, nf, \"-n\");\r\n sign = signInfo[0];\r\n num = signInfo[1];\r\n }\r\n\r\n sign = sign || \"+\";\r\n\r\n // determine exponent and number\r\n var exponent,\r\n intAndFraction,\r\n exponentPos = num.indexOf(\"e\");\r\n if (exponentPos < 0) exponentPos = num.indexOf(\"E\");\r\n if (exponentPos < 0) {\r\n intAndFraction = num;\r\n exponent = null;\r\n } else {\r\n intAndFraction = num.substr(0, exponentPos);\r\n exponent = num.substr(exponentPos + 1);\r\n }\r\n // determine decimal position\r\n var integer,\r\n fraction,\r\n decSep = nf[\".\"],\r\n decimalPos = intAndFraction.indexOf(decSep);\r\n if (decimalPos < 0) {\r\n integer = intAndFraction;\r\n fraction = null;\r\n } else {\r\n integer = intAndFraction.substr(0, decimalPos);\r\n fraction = intAndFraction.substr(decimalPos + decSep.length);\r\n }\r\n // handle groups (e.g. 1,000,000)\r\n var groupSep = nf[\",\"];\r\n integer = integer.split(groupSep).join(\"\");\r\n var altGroupSep = groupSep.replace(/\\u00A0/g, \" \");\r\n if (groupSep !== altGroupSep) {\r\n integer = integer.split(altGroupSep).join(\"\");\r\n }\r\n // build a natively parsable number string\r\n var p = sign + integer;\r\n if (fraction !== null) {\r\n p += \".\" + fraction;\r\n }\r\n if (exponent !== null) {\r\n // exponent itself may have a number patternd\r\n var expSignInfo = parseNegativePattern(exponent, nf, \"-n\");\r\n p += \"e\" + (expSignInfo[0] || \"+\") + expSignInfo[1];\r\n }\r\n if (regexParseFloat.test(p)) {\r\n ret = parseFloat(p);\r\n }\r\n }\r\n return ret;\r\n };\r\n\r\n Globalize.culture = function (cultureSelector) {\r\n // setter\r\n if (typeof cultureSelector !== \"undefined\") {\r\n this.cultureSelector = cultureSelector;\r\n }\r\n // getter\r\n return this.findClosestCulture(cultureSelector) || this.cultures[\"default\"];\r\n };\r\n\r\n}(this));\r\n\r\n// MKR: walidacja lokalnych formatow za pomoca Globalize.js\r\n(function ($) {\r\n // wartosci numeryczne\r\n $.validator.methods.number = function (value, element) {\r\n var val = Globalize.parseFloat(value);\r\n return this.optional(element) || ($.isNumeric(val));\r\n };\r\n\r\n // daty\r\n $.validator.methods.date = function (value, element) {\r\n var val = Globalize.parseDate(value, \"dd MMM yyyy\") || Globalize.parseDate(value);\r\n return this.optional(element) || (val);\r\n };\r\n // zakresy\r\n $.extend(jQuery.validator.methods, {\r\n range: function (value, element, param) {\r\n var val = Globalize.parseFloat(value);\r\n return this.optional(element) || (val >= param[0] && val <= param[1]);\r\n }\r\n });\r\n})(window.jQuery);","// Unobtrusive Ajax support library for jQuery\r\n// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// @version 3.2.6\r\n// \r\n// Microsoft grants you the right to use these script files for the sole\r\n// purpose of either: (i) interacting through your browser with the Microsoft\r\n// website or online service, subject to the applicable licensing or use\r\n// terms; or (ii) using the files as included with a Microsoft product subject\r\n// to that product's license terms. Microsoft reserves all other rights to the\r\n// files not expressly granted by Microsoft, whether by implication, estoppel\r\n// or otherwise. Insofar as a script file is dual licensed under GPL,\r\n// Microsoft neither took the code under GPL nor distributes it thereunder but\r\n// under the terms set out in this paragraph. All notices and licenses\r\n// below are for informational purposes only.\r\n\r\n/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */\r\n/*global window: false, jQuery: false */\r\n\r\n(function ($) {\r\n var data_click = \"unobtrusiveAjaxClick\",\r\n data_target = \"unobtrusiveAjaxClickTarget\",\r\n data_validation = \"unobtrusiveValidation\";\r\n\r\n function getFunction(code, argNames) {\r\n var fn = window, parts = (code || \"\").split(\".\");\r\n while (fn && parts.length) {\r\n fn = fn[parts.shift()];\r\n }\r\n if (typeof (fn) === \"function\") {\r\n return fn;\r\n }\r\n argNames.push(code);\r\n return Function.constructor.apply(null, argNames);\r\n }\r\n\r\n function isMethodProxySafe(method) {\r\n return method === \"GET\" || method === \"POST\";\r\n }\r\n\r\n function asyncOnBeforeSend(xhr, method) {\r\n if (!isMethodProxySafe(method)) {\r\n xhr.setRequestHeader(\"X-HTTP-Method-Override\", method);\r\n }\r\n }\r\n\r\n function asyncOnSuccess(element, data, contentType) {\r\n var mode;\r\n\r\n if (contentType.indexOf(\"application/x-javascript\") !== -1) { // jQuery already executes JavaScript for us\r\n return;\r\n }\r\n\r\n mode = (element.getAttribute(\"data-ajax-mode\") || \"\").toUpperCase();\r\n $(element.getAttribute(\"data-ajax-update\")).each(function (i, update) {\r\n var top;\r\n\r\n switch (mode) {\r\n case \"BEFORE\":\r\n $(update).prepend(data);\r\n break;\r\n case \"AFTER\":\r\n $(update).append(data);\r\n break;\r\n case \"REPLACE-WITH\":\r\n $(update).replaceWith(data);\r\n break;\r\n default:\r\n $(update).html(data);\r\n break;\r\n }\r\n });\r\n }\r\n\r\n function asyncRequest(element, options) {\r\n var confirm, loading, method, duration;\r\n\r\n confirm = element.getAttribute(\"data-ajax-confirm\");\r\n if (confirm && !window.confirm(confirm)) {\r\n return;\r\n }\r\n\r\n loading = $(element.getAttribute(\"data-ajax-loading\"));\r\n duration = parseInt(element.getAttribute(\"data-ajax-loading-duration\"), 10) || 0;\r\n\r\n $.extend(options, {\r\n type: element.getAttribute(\"data-ajax-method\") || undefined,\r\n url: element.getAttribute(\"data-ajax-url\") || undefined,\r\n cache: (element.getAttribute(\"data-ajax-cache\") || \"\").toLowerCase() === \"true\",\r\n beforeSend: function (xhr) {\r\n var result;\r\n asyncOnBeforeSend(xhr, method);\r\n result = getFunction(element.getAttribute(\"data-ajax-begin\"), [\"xhr\"]).apply(element, arguments);\r\n if (result !== false) {\r\n loading.show(duration);\r\n }\r\n return result;\r\n },\r\n complete: function () {\r\n loading.hide(duration);\r\n getFunction(element.getAttribute(\"data-ajax-complete\"), [\"xhr\", \"status\"]).apply(element, arguments);\r\n },\r\n success: function (data, status, xhr) {\r\n asyncOnSuccess(element, data, xhr.getResponseHeader(\"Content-Type\") || \"text/html\");\r\n getFunction(element.getAttribute(\"data-ajax-success\"), [\"data\", \"status\", \"xhr\"]).apply(element, arguments);\r\n },\r\n error: function () {\r\n getFunction(element.getAttribute(\"data-ajax-failure\"), [\"xhr\", \"status\", \"error\"]).apply(element, arguments);\r\n }\r\n });\r\n\r\n options.data.push({ name: \"X-Requested-With\", value: \"XMLHttpRequest\" });\r\n\r\n method = options.type.toUpperCase();\r\n if (!isMethodProxySafe(method)) {\r\n options.type = \"POST\";\r\n options.data.push({ name: \"X-HTTP-Method-Override\", value: method });\r\n }\r\n\r\n // change here:\r\n // Check for a Form POST with enctype=multipart/form-data\r\n // add the input file that were not previously included in the serializeArray()\r\n // set processData and contentType to false\r\n var $element = $(element);\r\n if ($element.is(\"form\") && $element.attr(\"enctype\") == \"multipart/form-data\") {\r\n var formdata = new FormData();\r\n $.each(options.data, function (i, v) {\r\n formdata.append(v.name, v.value);\r\n });\r\n $(\"input[type=file]\", $element).each(function () {\r\n var file = this;\r\n $.each(file.files, function (n, v) {\r\n formdata.append(file.name, v);\r\n });\r\n });\r\n $.extend(options, {\r\n processData: false,\r\n contentType: false,\r\n data: formdata\r\n });\r\n }\r\n // end change\r\n\r\n $.ajax(options);\r\n }\r\n\r\n function validate(form) {\r\n var validationInfo = $(form).data(data_validation);\r\n return !validationInfo || !validationInfo.validate || validationInfo.validate();\r\n }\r\n\r\n $(document).on(\"click\", \"a[data-ajax=true]\", function (evt) {\r\n evt.preventDefault();\r\n asyncRequest(this, {\r\n url: this.href,\r\n type: \"GET\",\r\n data: []\r\n });\r\n });\r\n\r\n $(document).on(\"click\", \"form[data-ajax=true] input[type=image]\", function (evt) {\r\n var name = evt.target.name,\r\n target = $(evt.target),\r\n form = $(target.parents(\"form\")[0]),\r\n offset = target.offset();\r\n\r\n form.data(data_click, [\r\n { name: name + \".x\", value: Math.round(evt.pageX - offset.left) },\r\n { name: name + \".y\", value: Math.round(evt.pageY - offset.top) }\r\n ]);\r\n\r\n setTimeout(function () {\r\n form.removeData(data_click);\r\n }, 0);\r\n });\r\n\r\n $(document).on(\"click\", \"form[data-ajax=true] :submit\", function (evt) {\r\n var name = evt.currentTarget.name,\r\n target = $(evt.target),\r\n form = $(target.parents(\"form\")[0]);\r\n\r\n form.data(data_click, name ? [{ name: name, value: evt.currentTarget.value }] : []);\r\n form.data(data_target, target);\r\n\r\n setTimeout(function () {\r\n form.removeData(data_click);\r\n form.removeData(data_target);\r\n }, 0);\r\n });\r\n\r\n $(document).on(\"submit\", \"form[data-ajax=true]\", function (evt) {\r\n var clickInfo = $(this).data(data_click) || [],\r\n clickTarget = $(this).data(data_target),\r\n isCancel = clickTarget && (clickTarget.hasClass(\"cancel\") || clickTarget.attr('formnovalidate') !== undefined);\r\n evt.preventDefault();\r\n if (!isCancel && !validate(this)) {\r\n return;\r\n }\r\n asyncRequest(this, {\r\n url: this.action,\r\n type: this.method || \"GET\",\r\n data: clickInfo.concat($(this).serializeArray())\r\n });\r\n });\r\n\r\n $.fn.centerElement = function () {\r\n this.css(\"position\", \"absolute\");\r\n this.css(\"top\", ($(window).height() - this.height()) / 2 + $(window).scrollTop() + \"px\");\r\n this.css(\"left\", /*($(window).width() - this.width()) / 2 + $(window).scrollLeft()*/ +\"0px\");\r\n return this;\r\n }\r\n}(jQuery));","/*!\r\n * jQuery blockUI plugin\r\n * Version 2.66.0-2013.10.09\r\n * Requires jQuery v1.7 or later\r\n *\r\n * Examples at: http://malsup.com/jquery/block/\r\n * Copyright (c) 2007-2013 M. Alsup\r\n * Dual licensed under the MIT and GPL licenses:\r\n * http://www.opensource.org/licenses/mit-license.php\r\n * http://www.gnu.org/licenses/gpl.html\r\n *\r\n * Thanks to Amir-Hossein Sobhi for some excellent contributions!\r\n */\r\n\r\n;\r\n(function () {\r\n /*jshint eqeqeq:false curly:false latedef:false */\r\n \"use strict\";\r\n\r\n function setup($) {\r\n $.fn._fadeIn = $.fn.fadeIn;\r\n\r\n var noOp = $.noop || function () { };\r\n\r\n // this bit is to ensure we don't call setExpression when we shouldn't (with extra muscle to handle\r\n // confusing userAgent strings on Vista)\r\n var msie = /MSIE/.test(navigator.userAgent);\r\n var ie6 = /MSIE 6.0/.test(navigator.userAgent) && !/MSIE 8.0/.test(navigator.userAgent);\r\n var mode = document.documentMode || 0;\r\n var setExpr = $.isFunction(document.createElement('div').style.setExpression);\r\n\r\n // global $ methods for blocking/unblocking the entire page\r\n $.blockUI = function (opts) {\r\n install(window, opts);\r\n };\r\n $.unblockUI = function (opts) {\r\n remove(window, opts);\r\n };\r\n\r\n // convenience method for quick growl-like notifications (http://www.google.com/search?q=growl)\r\n $.growlUI = function (title, message, timeout, onClose) {\r\n var $m = $('
    ');\r\n if (title) $m.append('

    ' + title + '

    ');\r\n if (message) $m.append('

    ' + message + '

    ');\r\n if (timeout === undefined) timeout = 3000;\r\n\r\n // Added by konapun: Set timeout to 30 seconds if this growl is moused over, like normal toast notifications\r\n var callBlock = function (opts) {\r\n opts = opts || {};\r\n\r\n $.blockUI({\r\n message: $m,\r\n fadeIn: typeof opts.fadeIn !== 'undefined' ? opts.fadeIn : 700,\r\n fadeOut: typeof opts.fadeOut !== 'undefined' ? opts.fadeOut : 1000,\r\n timeout: typeof opts.timeout !== 'undefined' ? opts.timeout : timeout,\r\n centerY: false,\r\n showOverlay: false,\r\n onUnblock: onClose,\r\n css: $.blockUI.defaults.growlCSS\r\n });\r\n };\r\n\r\n callBlock();\r\n var nonmousedOpacity = $m.css('opacity');\r\n $m.mouseover(function () {\r\n callBlock({\r\n fadeIn: 0,\r\n timeout: 30000\r\n });\r\n\r\n var displayBlock = $('.blockMsg');\r\n displayBlock.stop(); // cancel fadeout if it has started\r\n displayBlock.fadeTo(300, 1); // make it easier to read the message by removing transparency\r\n }).mouseout(function () {\r\n $('.blockMsg').fadeOut(1000);\r\n });\r\n // End konapun additions\r\n };\r\n\r\n // plugin method for blocking element content\r\n $.fn.block = function (opts) {\r\n if (this[0] === window) {\r\n $.blockUI(opts);\r\n return this;\r\n }\r\n var fullOpts = $.extend({}, $.blockUI.defaults, opts || {});\r\n this.each(function () {\r\n var $el = $(this);\r\n if (fullOpts.ignoreIfBlocked && $el.data('blockUI.isBlocked'))\r\n return;\r\n $el.unblock({\r\n fadeOut: 0\r\n });\r\n });\r\n\r\n return this.each(function () {\r\n if ($.css(this, 'position') == 'static') {\r\n this.style.position = 'relative';\r\n $(this).data('blockUI.static', true);\r\n }\r\n this.style.zoom = 1; // force 'hasLayout' in ie\r\n install(this, opts);\r\n });\r\n };\r\n\r\n // plugin method for unblocking element content\r\n $.fn.unblock = function (opts) {\r\n if (this[0] === window) {\r\n $.unblockUI(opts);\r\n return this;\r\n }\r\n return this.each(function () {\r\n remove(this, opts);\r\n });\r\n };\r\n\r\n $.blockUI.version = 2.66; // 2nd generation blocking at no extra cost!\r\n\r\n // override these in your code to change the default behavior and style\r\n $.blockUI.defaults = {\r\n // message displayed when blocking (use null for no message)\r\n message: '

    Please wait...

    ',\r\n\r\n title: null, // title string; only used when theme == true\r\n draggable: true, // only used when theme == true (requires jquery-ui.js to be loaded)\r\n\r\n theme: false, // set to true to use with jQuery UI themes\r\n\r\n // styles for the message when blocking; if you wish to disable\r\n // these and use an external stylesheet then do this in your code:\r\n // $.blockUI.defaults.css = {};\r\n css: {\r\n //padding: 0,\r\n //margin: 0,\r\n //width: '30%',\r\n top: '40%',\r\n //left: '35%',\r\n textAlign: 'center',\r\n color: '#000',\r\n border: '3px solid #aaa',\r\n backgroundColor: '#fff',\r\n cursor: 'wait'\r\n },\r\n\r\n // minimal style set used when themes are used\r\n themedCSS: {\r\n //width: '30%',\r\n top: '40%',\r\n //left: '35%'\r\n },\r\n\r\n // styles for the overlay\r\n overlayCSS: {\r\n backgroundColor: '#000',\r\n opacity: 0.6,\r\n cursor: 'wait'\r\n },\r\n\r\n // style to replace wait cursor before unblocking to correct issue\r\n // of lingering wait cursor\r\n cursorReset: 'default',\r\n\r\n // styles applied when using $.growlUI\r\n growlCSS: {\r\n width: '350px',\r\n top: '10px',\r\n left: '',\r\n right: '10px',\r\n border: 'none',\r\n padding: '5px',\r\n opacity: 0.6,\r\n cursor: 'default',\r\n color: '#fff',\r\n backgroundColor: '#000',\r\n '-webkit-border-radius': '10px',\r\n '-moz-border-radius': '10px',\r\n 'border-radius': '10px'\r\n },\r\n\r\n // IE issues: 'about:blank' fails on HTTPS and javascript:false is s-l-o-w\r\n // (hat tip to Jorge H. N. de Vasconcelos)\r\n /*jshint scripturl:true */\r\n iframeSrc: /^https/i.test(window.location.href || '') ? 'javascript:false' : 'about:blank',\r\n\r\n // force usage of iframe in non-IE browsers (handy for blocking applets)\r\n forceIframe: false,\r\n\r\n // z-index for the blocking overlay\r\n baseZ: 1000,\r\n\r\n // set these to true to have the message automatically centered\r\n centerX: true, // <-- only effects element blocking (page block controlled via css above)\r\n centerY: true,\r\n\r\n // allow body element to be stetched in ie6; this makes blocking look better\r\n // on \"short\" pages. disable if you wish to prevent changes to the body height\r\n allowBodyStretch: true,\r\n\r\n // enable if you want key and mouse events to be disabled for content that is blocked\r\n bindEvents: true,\r\n\r\n // be default blockUI will supress tab navigation from leaving blocking content\r\n // (if bindEvents is true)\r\n constrainTabKey: true,\r\n\r\n // fadeIn time in millis; set to 0 to disable fadeIn on block\r\n fadeIn: 200,\r\n\r\n // fadeOut time in millis; set to 0 to disable fadeOut on unblock\r\n fadeOut: 400,\r\n\r\n // time in millis to wait before auto-unblocking; set to 0 to disable auto-unblock\r\n timeout: 0,\r\n\r\n // disable if you don't want to show the overlay\r\n showOverlay: true,\r\n\r\n // if true, focus will be placed in the first available input field when\r\n // page blocking\r\n focusInput: true,\r\n\r\n // elements that can receive focus\r\n focusableElements: ':input:enabled:visible',\r\n\r\n // suppresses the use of overlay styles on FF/Linux (due to performance issues with opacity)\r\n // no longer needed in 2012\r\n // applyPlatformOpacityRules: true,\r\n\r\n // callback method invoked when fadeIn has completed and blocking message is visible\r\n onBlock: null,\r\n\r\n // callback method invoked when unblocking has completed; the callback is\r\n // passed the element that has been unblocked (which is the window object for page\r\n // blocks) and the options that were passed to the unblock call:\r\n //\tonUnblock(element, options)\r\n onUnblock: null,\r\n\r\n // callback method invoked when the overlay area is clicked.\r\n // setting this will turn the cursor to a pointer, otherwise cursor defined in overlayCss will be used.\r\n onOverlayClick: null,\r\n\r\n // don't ask; if you really must know: http://groups.google.com/group/jquery-en/browse_thread/thread/36640a8730503595/2f6a79a77a78e493#2f6a79a77a78e493\r\n quirksmodeOffsetHack: 4,\r\n\r\n // class name of the message block\r\n blockMsgClass: 'blockMsg',\r\n\r\n // if it is already blocked, then ignore it (don't unblock and reblock)\r\n ignoreIfBlocked: false\r\n };\r\n\r\n // private data and functions follow...\r\n\r\n var pageBlock = null;\r\n var pageBlockEls = [];\r\n\r\n function install(el, opts) {\r\n var css, themedCSS;\r\n var full = (el == window);\r\n var msg = (opts && opts.message !== undefined ? opts.message : undefined);\r\n opts = $.extend({}, $.blockUI.defaults, opts || {});\r\n\r\n if (opts.ignoreIfBlocked && $(el).data('blockUI.isBlocked'))\r\n return;\r\n\r\n opts.overlayCSS = $.extend({}, $.blockUI.defaults.overlayCSS, opts.overlayCSS || {});\r\n css = $.extend({}, $.blockUI.defaults.css, opts.css || {});\r\n if (opts.onOverlayClick)\r\n opts.overlayCSS.cursor = 'pointer';\r\n\r\n themedCSS = $.extend({}, $.blockUI.defaults.themedCSS, opts.themedCSS || {});\r\n msg = msg === undefined ? opts.message : msg;\r\n\r\n // remove the current block (if there is one)\r\n if (full && pageBlock)\r\n remove(window, {\r\n fadeOut: 0\r\n });\r\n\r\n // if an existing element is being used as the blocking content then we capture\r\n // its current place in the DOM (and current display style) so we can restore\r\n // it when we unblock\r\n if (msg && typeof msg != 'string' && (msg.parentNode || msg.jquery)) {\r\n var node = msg.jquery ? msg[0] : msg;\r\n var data = {};\r\n $(el).data('blockUI.history', data);\r\n data.el = node;\r\n data.parent = node.parentNode;\r\n data.display = node.style.display;\r\n data.position = node.style.position;\r\n if (data.parent)\r\n data.parent.removeChild(node);\r\n }\r\n\r\n $(el).data('blockUI.onUnblock', opts.onUnblock);\r\n var z = opts.baseZ;\r\n\r\n // blockUI uses 3 layers for blocking, for simplicity they are all used on every platform;\r\n // layer1 is the iframe layer which is used to supress bleed through of underlying content\r\n // layer2 is the overlay layer which has opacity and a wait cursor (by default)\r\n // layer3 is the message content that is displayed while blocking\r\n var lyr1, lyr2, lyr3, s;\r\n var responsive = \"col-xl-4 offset-xl-4 col-lg-6 offset-lg-3 col-md-6 offset-md-3 col-10 offset-1\";\r\n if (msie || opts.forceIframe)\r\n lyr1 = $('');\r\n else\r\n lyr1 = $('
    ');\r\n\r\n if (opts.theme)\r\n lyr2 = $('
    ');\r\n else\r\n lyr2 = $('
    ');\r\n\r\n if (opts.theme && full) {\r\n s = '
    ';\r\n if (opts.title) {\r\n s += '
    ' + (opts.title || ' ') + '
    ';\r\n }\r\n s += '
    ';\r\n s += '
    ';\r\n } else if (opts.theme) {\r\n s = '
    ';\r\n if (opts.title) {\r\n s += '
    ' + (opts.title || ' ') + '
    ';\r\n }\r\n s += '
    ';\r\n s += '
    ';\r\n } else if (full) {\r\n s = '
    ';\r\n } else {\r\n s = '
    ';\r\n }\r\n lyr3 = $(s);\r\n\r\n // if we have a message, style it\r\n if (msg) {\r\n if (opts.theme) {\r\n lyr3.css(themedCSS);\r\n lyr3.addClass('ui-widget-content');\r\n } else\r\n lyr3.css(css);\r\n }\r\n\r\n // style the overlay\r\n if (!opts.theme /*&& (!opts.applyPlatformOpacityRules)*/)\r\n lyr2.css(opts.overlayCSS);\r\n lyr2.css('position', full ? 'fixed' : 'absolute');\r\n\r\n // make iframe layer transparent in IE\r\n if (msie || opts.forceIframe)\r\n lyr1.css('opacity', 0.0);\r\n\r\n //$([lyr1[0],lyr2[0],lyr3[0]]).appendTo(full ? 'body' : el);\r\n var layers = [lyr1, lyr2, lyr3],\r\n $par = full ? $('body') : $(el);\r\n $.each(layers, function () {\r\n this.appendTo($par);\r\n });\r\n\r\n if (opts.theme && opts.draggable && $.fn.draggable) {\r\n lyr3.draggable({\r\n handle: '.ui-dialog-titlebar',\r\n cancel: 'li'\r\n });\r\n }\r\n\r\n // ie7 must use absolute positioning in quirks mode and to account for activex issues (when scrolling)\r\n var expr = setExpr && (!$.support.boxModel || $('object,embed', full ? null : el).length > 0);\r\n if (ie6 || expr) {\r\n // give body 100% height\r\n if (full && opts.allowBodyStretch && $.support.boxModel)\r\n $('html,body').css('height', '100%');\r\n\r\n // fix ie6 issue when blocked element has a border width\r\n if ((ie6 || !$.support.boxModel) && !full) {\r\n var t = sz(el, 'borderTopWidth'),\r\n l = sz(el, 'borderLeftWidth');\r\n var fixT = t ? '(0 - ' + t + ')' : 0;\r\n var fixL = l ? '(0 - ' + l + ')' : 0;\r\n }\r\n\r\n // simulate fixed position\r\n $.each(layers, function (i, o) {\r\n var s = o[0].style;\r\n s.position = 'absolute';\r\n if (i < 2) {\r\n if (full)\r\n s.setExpression('height', 'Math.max(document.body.scrollHeight, document.body.offsetHeight) - (jQuery.support.boxModel?0:' + opts.quirksmodeOffsetHack + ') + \"px\"');\r\n else\r\n s.setExpression('height', 'this.parentNode.offsetHeight + \"px\"');\r\n if (full)\r\n s.setExpression('width', 'jQuery.support.boxModel && document.documentElement.clientWidth || document.body.clientWidth + \"px\"');\r\n else\r\n s.setExpression('width', 'this.parentNode.offsetWidth + \"px\"');\r\n if (fixL) s.setExpression('left', 0);\r\n if (fixT) s.setExpression('top', fixT);\r\n } else if (opts.centerY) {\r\n if (full) s.setExpression('top', '(document.documentElement.clientHeight || document.body.clientHeight) / 2 - (this.offsetHeight / 2) + (blah = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + \"px\"');\r\n s.marginTop = 0;\r\n } else if (!opts.centerY && full) {\r\n var top = (opts.css && opts.css.top) ? parseInt(opts.css.top, 10) : 0;\r\n var expression = '((document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop) + ' + top + ') + \"px\"';\r\n s.setExpression('top', expression);\r\n }\r\n });\r\n }\r\n\r\n // show the message\r\n if (msg) {\r\n if (opts.theme)\r\n lyr3.find('.ui-widget-content').append(msg);\r\n else\r\n lyr3.append(msg);\r\n if (msg.jquery || msg.nodeType)\r\n $(msg).show();\r\n }\r\n\r\n if ((msie || opts.forceIframe) && opts.showOverlay)\r\n lyr1.show(); // opacity is zero\r\n if (opts.fadeIn) {\r\n var cb = opts.onBlock ? opts.onBlock : noOp;\r\n var cb1 = (opts.showOverlay && !msg) ? cb : noOp;\r\n var cb2 = msg ? cb : noOp;\r\n if (opts.showOverlay)\r\n lyr2._fadeIn(opts.fadeIn, cb1);\r\n if (msg)\r\n lyr3._fadeIn(opts.fadeIn, cb2);\r\n } else {\r\n if (opts.showOverlay)\r\n lyr2.show();\r\n if (msg)\r\n lyr3.show();\r\n if (opts.onBlock)\r\n opts.onBlock();\r\n }\r\n\r\n // bind key and mouse events\r\n bind(1, el, opts);\r\n\r\n if (full) {\r\n pageBlock = lyr3[0];\r\n pageBlockEls = $(opts.focusableElements, pageBlock);\r\n if (opts.focusInput)\r\n setTimeout(focus, 20);\r\n } else\r\n center(lyr3[0], opts.centerX, opts.centerY);\r\n\r\n if (opts.timeout) {\r\n // auto-unblock\r\n var to = setTimeout(function () {\r\n if (full)\r\n $.unblockUI(opts);\r\n else\r\n $(el).unblock(opts);\r\n }, opts.timeout);\r\n $(el).data('blockUI.timeout', to);\r\n }\r\n }\r\n\r\n // remove the block\r\n function remove(el, opts) {\r\n var count;\r\n var full = (el == window);\r\n var $el = $(el);\r\n var data = $el.data('blockUI.history');\r\n var to = $el.data('blockUI.timeout');\r\n if (to) {\r\n clearTimeout(to);\r\n $el.removeData('blockUI.timeout');\r\n }\r\n opts = $.extend({}, $.blockUI.defaults, opts || {});\r\n bind(0, el, opts); // unbind events\r\n\r\n if (opts.onUnblock === null) {\r\n opts.onUnblock = $el.data('blockUI.onUnblock');\r\n $el.removeData('blockUI.onUnblock');\r\n }\r\n\r\n var els;\r\n if (full) // crazy selector to handle odd field errors in ie6/7\r\n els = $('body').children().filter('.blockUI').add('body > .blockUI');\r\n else\r\n els = $el.find('>.blockUI');\r\n\r\n // fix cursor issue\r\n if (opts.cursorReset) {\r\n if (els.length > 1)\r\n els[1].style.cursor = opts.cursorReset;\r\n if (els.length > 2)\r\n els[2].style.cursor = opts.cursorReset;\r\n }\r\n\r\n if (full)\r\n pageBlock = pageBlockEls = null;\r\n\r\n if (opts.fadeOut) {\r\n count = els.length;\r\n els.stop().fadeOut(opts.fadeOut, function () {\r\n if (--count === 0)\r\n reset(els, data, opts, el);\r\n });\r\n } else\r\n reset(els, data, opts, el);\r\n }\r\n\r\n // move blocking element back into the DOM where it started\r\n function reset(els, data, opts, el) {\r\n var $el = $(el);\r\n if ($el.data('blockUI.isBlocked'))\r\n return;\r\n\r\n els.each(function (i, o) {\r\n // remove via DOM calls so we don't lose event handlers\r\n if (this.parentNode)\r\n this.parentNode.removeChild(this);\r\n });\r\n\r\n if (data && data.el) {\r\n data.el.style.display = data.display;\r\n //data.el.style.position = data.position;\r\n if (data.parent)\r\n data.parent.appendChild(data.el);\r\n $el.removeData('blockUI.history');\r\n }\r\n\r\n if ($el.data('blockUI.static')) {\r\n $el.css('position', 'static'); // #22\r\n }\r\n\r\n if (typeof opts.onUnblock == 'function')\r\n opts.onUnblock(el, opts);\r\n\r\n // fix issue in Safari 6 where block artifacts remain until reflow\r\n var body = $(document.body),\r\n w = body.width(),\r\n cssW = body[0].style.width;\r\n body.width(w - 1).width(w);\r\n body[0].style.width = cssW;\r\n }\r\n\r\n // bind/unbind the handler\r\n function bind(b, el, opts) {\r\n var full = el == window,\r\n $el = $(el);\r\n\r\n // don't bother unbinding if there is nothing to unbind\r\n if (!b && (full && !pageBlock || !full && !$el.data('blockUI.isBlocked')))\r\n return;\r\n\r\n $el.data('blockUI.isBlocked', b);\r\n\r\n // don't bind events when overlay is not in use or if bindEvents is false\r\n if (!full || !opts.bindEvents || (b && !opts.showOverlay))\r\n return;\r\n\r\n // bind anchors and inputs for mouse and key events\r\n var events = 'mousedown mouseup keydown keypress keyup touchstart touchend touchmove';\r\n if (b)\r\n $(document).bind(events, opts, handler);\r\n else\r\n $(document).unbind(events, handler);\r\n\r\n // former impl...\r\n //\t\tvar $e = $('a,:input');\r\n //\t\tb ? $e.bind(events, opts, handler) : $e.unbind(events, handler);\r\n }\r\n\r\n // event handler to suppress keyboard/mouse events when blocking\r\n function handler(e) {\r\n // allow tab navigation (conditionally)\r\n if (e.type === 'keydown' && e.keyCode && e.keyCode == 9) {\r\n if (pageBlock && e.data.constrainTabKey) {\r\n var els = pageBlockEls;\r\n var fwd = !e.shiftKey && e.target === els[els.length - 1];\r\n var back = e.shiftKey && e.target === els[0];\r\n if (fwd || back) {\r\n setTimeout(function () {\r\n focus(back);\r\n }, 10);\r\n return false;\r\n }\r\n }\r\n }\r\n var opts = e.data;\r\n var target = $(e.target);\r\n if (target.hasClass('blockOverlay') && opts.onOverlayClick)\r\n opts.onOverlayClick(e);\r\n\r\n // allow events within the message content\r\n if (target.parents('div.' + opts.blockMsgClass).length > 0)\r\n return true;\r\n\r\n // allow events for content that is not being blocked\r\n return target.parents().children().filter('div.blockUI').length === 0;\r\n }\r\n\r\n function focus(back) {\r\n if (!pageBlockEls)\r\n return;\r\n var e = pageBlockEls[back === true ? pageBlockEls.length - 1 : 0];\r\n if (e)\r\n e.focus();\r\n }\r\n\r\n function center(el, x, y) {\r\n var p = el.parentNode,\r\n s = el.style;\r\n var l = ((p.offsetWidth - el.offsetWidth) / 2) - sz(p, 'borderLeftWidth');\r\n var t = ((p.offsetHeight - el.offsetHeight) / 2) - sz(p, 'borderTopWidth');\r\n if (x) s.left = l > 0 ? (l + 'px') : '0';\r\n if (y) s.top = t > 0 ? (t + 'px') : '0';\r\n }\r\n\r\n function sz(el, p) {\r\n return parseInt($.css(el, p), 10) || 0;\r\n }\r\n\r\n }\r\n\r\n\r\n /*global define:true */\r\n if (typeof define === 'function' && define.amd && define.amd.jQuery) {\r\n define(['jquery'], setup);\r\n } else {\r\n setup(jQuery);\r\n }\r\n\r\n})();","/*\r\nkendo.culture.pl-pl.min.js\r\n*/\r\n!function (e) {\r\n \"function\" == typeof define && define.amd ? define([\"kendo.core.min\"], e) : e()\r\n}\r\n\r\n (function () {\r\n !function (e, y) {\r\n kendo.cultures[\"pl-PL\"] = {\r\n name: \"pl-PL\", numberFormat: {\r\n pattern: [\"-n\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], percent: {\r\n pattern: [\"-n%\", \"n%\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"%\"\r\n }\r\n , currency: {\r\n name: \"Polish Zloty\", abbr: \"PLN\", pattern: [\"-n $\", \"n $\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"zł\"\r\n }\r\n }\r\n , calendars: {\r\n standard: {\r\n days: {\r\n names: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"], namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"], namesShort: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"]\r\n }\r\n , months: {\r\n names: [\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\"], namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\"]\r\n }\r\n , AM: [\"AM\", \"am\", \"AM\"], PM: [\"PM\", \"pm\", \"PM\"], patterns: {\r\n d: \"dd.MM.yyyy\", D: \"dddd, d MMMM yyyy\", F: \"dddd, d MMMM yyyy HH:mm:ss\", g: \"dd.MM.yyyy HH:mm\", G: \"dd.MM.yyyy HH:mm:ss\", m: \"d MMMM\", M: \"d MMMM\", s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\", t: \"HH:mm\", T: \"HH:mm:ss\", u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\", y: \"MMMM yyyy\", Y: \"MMMM yyyy\"\r\n }\r\n , \"/\": \".\", \":\": \":\", firstDay: 1\r\n }\r\n }\r\n }\r\n }\r\n (this)\r\n }\r\n\r\n);\r\n\r\n/*\r\n * kendo.culture.pl.min.js\r\n */\r\n!function (e) {\r\n \"function\" == typeof define && define.amd ? define([\"kendo.core.min\"], e) : e()\r\n}\r\n\r\n (function () {\r\n !function (e, y) {\r\n kendo.cultures.pl = {\r\n name: \"pl\", numberFormat: {\r\n pattern: [\"-n\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], percent: {\r\n pattern: [\"-n%\", \"n%\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"%\"\r\n }\r\n , currency: {\r\n name: \"\", abbr: \"\", pattern: [\"-n $\", \"n $\"], decimals: 2, \",\": \" \", \".\": \",\", groupSize: [3], symbol: \"zł\"\r\n }\r\n }\r\n , calendars: {\r\n standard: {\r\n days: {\r\n names: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"], namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"], namesShort: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"]\r\n }\r\n , months: {\r\n names: [\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\"], namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\"]\r\n }\r\n , AM: [\"AM\", \"am\", \"AM\"], PM: [\"PM\", \"pm\", \"PM\"], patterns: {\r\n d: \"dd.MM.yyyy\", D: \"dddd, d MMMM yyyy\", F: \"dddd, d MMMM yyyy HH:mm:ss\", g: \"dd.MM.yyyy HH:mm\", G: \"dd.MM.yyyy HH:mm:ss\", m: \"d MMMM\", M: \"d MMMM\", s: \"yyyy'-'MM'-'dd'T'HH':'mm':'ss\", t: \"HH:mm\", T: \"HH:mm:ss\", u: \"yyyy'-'MM'-'dd HH':'mm':'ss'Z'\", y: \"MMMM yyyy\", Y: \"MMMM yyyy\"\r\n }\r\n , \"/\": \".\", \":\": \":\", firstDay: 1\r\n }\r\n }\r\n }\r\n }\r\n (this)\r\n }\r\n\r\n);\r\n/*\r\n * kendo.messages.pl-PL.min.js\r\n */\r\n\r\n!function (e) {\r\n \"function\" == typeof define && define.amd ? define([\"kendo.core.min\"], e) : e()\r\n}\r\n\r\n (function () {\r\n !function (e, o) {\r\n kendo.ui.FilterCell && (kendo.ui.FilterCell.prototype.options.operators = e.extend(!0, kendo.ui.FilterCell.prototype.options.operators, {\r\n date: {\r\n eq: \"są równe\", gte: \"są późniejsze lub równe\", gt: \"są późniejsze niż\", lte: \"są wcześniejsze lub równe\", lt: \"są wcześniejsze niż\", neq: \"są inne niż\", isnull: \"brak daty\", isnotnull: \"mają datę\"\r\n }\r\n , number: {\r\n eq: \"są równe\", gte: \"są większe lub równe\", gt: \"są większe niż\", lte: \"są mniejsze lub równe\", lt: \"są mniejsze niż\", neq: \"są inne niż\", isnull: \"pusta wartość\", isnotnull: \"niepusta wartość\"\r\n }\r\n , string: {\r\n endswith: \"kończą się na\", eq: \"są równe\", neq: \"są inne niż\", startswith: \"zaczynają się od\", contains: \"zawierają\", doesnotcontain: \"nie zawierają\"\r\n }\r\n , enums: {\r\n eq: \"są równe\", neq: \"są inne niż\"\r\n }\r\n }\r\n )), kendo.ui.FilterMenu && (kendo.ui.FilterMenu.prototype.options.operators = e.extend(!0, kendo.ui.FilterMenu.prototype.options.operators, {\r\n date: {\r\n eq: \"są równe\", gte: \"są późniejsze lub równe\", gt: \"są późniejsze niż\", lte: \"są wcześniejsze lub równe\", lt: \"są wcześniejsze niż\", neq: \"są inne niż\"\r\n }\r\n , number: {\r\n eq: \"są równe\", gte: \"są większe lub równe\", gt: \"są większe niż\", lte: \"są mniejsze lub równe\", lt: \"są mniejsze niż\", neq: \"są inne niż\"\r\n }\r\n , string: {\r\n endswith: \"kończą się na\", eq: \"są równe\", neq: \"są inne niż\", startswith: \"zaczynają się od\", contains: \"zawierają\", doesnotcontain: \"nie zawierają\"\r\n }\r\n , enums: {\r\n eq: \"są równe\", neq: \"są inne niż\"\r\n }\r\n }\r\n )), kendo.ui.ColumnMenu && (kendo.ui.ColumnMenu.prototype.options.messages = e.extend(!0, kendo.ui.ColumnMenu.prototype.options.messages, {\r\n filter: \"Filtr\", columns: \"Kolumny\", sortAscending: \"Sortuj Rosnąco\", sortDescending: \"Sortuj malejąco\", settings: \"Ustawienia kolumn\", done: \"Sporządzono\", lock: \"Zablokować\", unlock: \"Odblokować\"\r\n }\r\n )), kendo.ui.RecurrenceEditor && (kendo.ui.RecurrenceEditor.prototype.options.messages = e.extend(!0, kendo.ui.RecurrenceEditor.prototype.options.messages, {\r\n daily: {\r\n interval: \"dzień (dni)\", repeatEvery: \"Powtarzaj każdy:\"\r\n },\r\n end: {\r\n after: \"Po\", occurrence: \"występujący (występujące)\", label: \"Koniec:\", never: \"Nigdy\", on: \"Na\", mobileLabel: \"Zakończenie\"\r\n },\r\n frequencies: {\r\n daily: \"Dziennie\", monthly: \"Miesięcznie\", never: \"Nigdy\", weekly: \"Tygodniowo\", yearly: \"Rocznie\"\r\n },\r\n monthly: {\r\n day: \"Dzień\", interval: \"miesiąc (miesiące)\", repeatEvery: \"Powtarzaj każdy:\", repeatOn: \"Powtarzaj w:\"\r\n },\r\n offsetPositions: {\r\n first: \"pierwszy\", fourth: \"czwarty\", last: \"ostatni\", second: \"drugi\", third: \"trzeci\"\r\n },\r\n weekly: {\r\n repeatEvery: \"Powtarzaj każdy:\", repeatOn: \"Powtarzaj w:\", interval: \"tydzień (tygodnie)\"\r\n },\r\n yearly: {\r\n of: \" \", repeatEvery: \"Powtarzaj każdy:\", repeatOn: \"Powtarzaj w:\", interval: \"rok (lata)\"\r\n },\r\n weekdays: {\r\n day: \"dzień\", weekday: \"dzień tygodnia\", weekend: \"dzień weekendu\"\r\n }\r\n }\r\n )), kendo.ui.Grid && (kendo.ui.Grid.prototype.options.messages = e.extend(!0, kendo.ui.Grid.prototype.options.messages, {\r\n commands: {\r\n create: \"Wstaw\", destroy: \"Usuń\", canceledit: \"Anuluj\", update: \"Aktualizuj\", edit: \"Edycja\", excel: \"Export to Excel\", pdf: \"Export to PDF\", select: \"Zaznacz\", cancel: \"Anuluj zmiany\", save: \"Zapisz zmiany\"\r\n }\r\n , editable: {\r\n confirmation: \"Czy na pewno chcesz usunąć ten rekord?\", cancelDelete: \"Anuluj\", confirmDelete: \"Usuń\"\r\n },\r\n\r\n }\r\n )), kendo.ui.Grid && (kendo.ui.Grid.prototype = e.extend(!0, kendo.ui.Grid.prototype, {\r\n _checkRows: function (t) {\r\n t.each(function () {\r\n e(this).addClass(\"k-state-selected\").find(\"input[data-role='checkbox'].k-checkbox\").prop(\"checked\", !0).attr(\"aria-label\", \"Odznacz wiersz\").attr(\"aria-checked\", !0)\r\n })\r\n },\r\n _uncheckCheckBoxes: function () {\r\n var e = this,\r\n t = e.table.add(e.lockedTable);\r\n t.find(\"tbody input[data-role='checkbox'].k-checkbox\").attr(\"aria-checked\", !1).prop(\"checked\", !1).attr(\"aria-label\", \"Odznacz wiersz\")\r\n },\r\n _deselectCheckRows: function (t) {\r\n var r = this;\r\n t = r.table.add(r.lockedTable).find(t), r._isLocked() && (t = t.add(t.map(function () {\r\n return r._relatedRow(this)\r\n }))), t.each(function () {\r\n e(this).removeClass(\"k-state-selected\").find(\"input[data-role='checkbox'].k-checkbox\").attr(\"aria-checked\", !1).prop(\"checked\", !1).attr(\"aria-label\", \"Zaznacz wiersz\")\r\n }), r._toggleHeaderCheckState(!1), r._persistSelectedRows(), r.trigger(\"change\")\r\n },\r\n }\r\n )), kendo.ui.Pager && (kendo.ui.Pager.prototype.options = e.extend(!0, kendo.ui.Pager.prototype.options, {\r\n ARIATemplate: \"Nawigacja po stronie, strona #=page# z #=totalPages#\"\r\n }\r\n )), kendo.ui.Pager && (kendo.ui.Pager.prototype.options.messages = e.extend(!0, kendo.ui.Pager.prototype.options.messages, {\r\n allPages: \"Wszystkie\", page: \"Strona\", display: \"Wyświetlanie elementów {0} - {1} z {2}\", of: \"z {0}\", empty: \"Brak danych\", refresh: \"Odśwież\", first: \"Idź do pierwszej strony\", itemsPerPage: \"na stronę\", last: \"Przejdź do ostatniej strony\", next: \"Przejdź do następnej strony\", previous: \"Przejdź do poprzedniej strony\", morePages: \"Więcej stron\"\r\n }\r\n )), kendo.ui.TreeListPager && (kendo.ui.TreeListPager.prototype.options.messages = e.extend(!0, kendo.ui.TreeListPager.prototype.options.messages, {\r\n allPages: \"Wszystkie\", page: \"Strona\", display: \"Wyświetlanie elementów {0} - {1} z {2}\", of: \"z {0}\", empty: \"Brak danych\", refresh: \"Odśwież\", first: \"Idź do pierwszej strony\", itemsPerPage: \"na stronę\", last: \"Przejdź do ostatniej strony\", next: \"Przejdź do następnej strony\", previous: \"Przejdź do poprzedniej strony\", morePages: \"Więcej stron\"\r\n }\r\n )), kendo.ui.FilterCell && (kendo.ui.FilterCell.prototype.options.messages = e.extend(!0, kendo.ui.FilterCell.prototype.options.messages, {\r\n filter: \"Filtr\", clear: \"Wyczyść filtr\", isFalse: \"fałsz\", isTrue: \"prawda\", operator: \"Operator\"\r\n }\r\n )), kendo.ui.FilterMenu && (kendo.ui.FilterMenu.prototype.options.messages = e.extend(!0, kendo.ui.FilterMenu.prototype.options.messages, {\r\n filter: \"Filtr\", and: \"Oraz\", clear: \"Wyczyść filtr\", info: \"Pokaż wiersze o wartościach które\", title: \"Pokaż wiersze o wartościach które\", selectValue: \"-Wybierz wartość-\", isFalse: \"fałsz\", isTrue: \"prawda\", or: \"lub\", cancel: \"Anuluj\", operator: \"Operator\", value: \"Wartość\", additionalOperator: \"Dodatkowy operator\", additionalValue: \"Dodatkowa wartość\", logic: \"Logika filtru\"\r\n }\r\n )), kendo.ui.FilterMultiCheck && (kendo.ui.FilterMultiCheck.prototype.options.messages = e.extend(!0, kendo.ui.FilterMultiCheck.prototype.options.messages, {\r\n search: \"Szukaj\"\r\n }\r\n )), kendo.ui.Groupable && (kendo.ui.Groupable.prototype.options.messages = e.extend(!0, kendo.ui.Groupable.prototype.options.messages, {\r\n empty: \"Przeciągnij nagłówek kolumny i upuść go tutaj aby pogrupować według tej kolumny\"\r\n }\r\n )), kendo.ui.Editor && (kendo.ui.Editor.prototype.options.messages = e.extend(!0, kendo.ui.Editor.prototype.options.messages, {\r\n bold: \"Wytłuszczenie\",\r\n createLink: \"Wstaw link\",\r\n fontName: \"Wybierz czcionkę\",\r\n fontNameInherit: \"(czcionka odziedziczona)\",\r\n fontSize: \"Wybierz rozmiar czcionki\",\r\n fontSizeInherit: \"(rozmiar odziedziczony)\",\r\n formatBlock: \"Wybierz rozmiar bloku\",\r\n indent: \"Wcięcie\",\r\n insertHtml: \"Wstaw HTML\",\r\n insertImage: \"Wstaw obraz\",\r\n insertOrderedList: \"Wstaw listę numerowaną\",\r\n insertUnorderedList: \"Wstaw listę wypunktowaną\",\r\n italic: \"Kursywa\",\r\n justifyCenter: \"Centruj tekst\",\r\n justifyFull: \"Wyrównaj tekst\",\r\n justifyLeft: \"Wyrównaj tekst do lewej\",\r\n justifyRight: \"Wyrównaj tekst do prawej\",\r\n outdent: \"Zmniejsz wcięcie\",\r\n strikethrough: \"Przekreślenie\",\r\n styles: \"Styl\",\r\n subscript: \"Subscript\",\r\n superscript: \"Superscript\",\r\n underline: \"Podkreślenie\",\r\n unlink: \"Usuń link\",\r\n deleteFile: 'Czy na pewno chcesz usunąć \"{0}\"?',\r\n directoryNotFound: \"Folder o tej nazwie nie został znaleziony.\",\r\n emptyFolder: \"Opróżnij folder\",\r\n invalidFileType: 'Wybrany plik \"{0}\" nie jest prawidłowy. Obsługiwane typy plików to: {1}.',\r\n orderBy: \"Uporządkuj wg:\",\r\n orderByName: \"Nazwa\",\r\n orderBySize: \"Rozmiar\",\r\n overwriteFile: 'Plik o nazwie \"{0}\" istnieje już w bieżącym folderze. Czy chcesz go zastąpić?',\r\n uploadFile: \"Załaduj\",\r\n backColor: \"Kolor tła\",\r\n foreColor: \"Kolor\",\r\n dialogButtonSeparator: \"or\",\r\n dialogCancel: \"Anuluj\",\r\n dialogInsert: \"Wstaw\",\r\n imageAltText: \"Opis\",\r\n imageWebAddress: \"URL\",\r\n imageWidth: \"Szerokość (px)\",\r\n imageHeight: \"Wysokość (px)\",\r\n linkWebAddress: \"URL\",\r\n linkText: \"Tekst\",\r\n linkToolTip: \"Podpowiedź\",\r\n linkOpenInNewWindow: \"Otwórz w nowym oknie\",\r\n search: \"Search\",\r\n createTable: \"Tworzenie tabeli\",\r\n createTableHint: \"Utwórz tabelę {0} x {1}\",\r\n addColumnLeft: \"Dodaj kolumnę z lewej\",\r\n addColumnRight: \"Dodaj kolumnę z prawej\",\r\n addRowAbove: \"Dodaj wiersz powyżej\",\r\n addRowBelow: \"Dodaj wiersz powyżej\",\r\n deleteRow: \"Usuń wiersz\",\r\n deleteColumn: \"Usuń kolumnę\",\r\n mergeCellsHorizontally: \"Złącz komórki w poziomie\",\r\n mergeCellsVertically: \"Złącz komórki w pionie\",\r\n splitCellHorizontally: \"Podziel komórki w poziomie\",\r\n splitCellVertically: \"Podziel komórki w pionie\",\r\n tableWizard: \"Szczegóły tabeli\",\r\n tableTab: \"Tabela\",\r\n cellTab: \"Komórka\",\r\n accessibilityTab: \"Dostępność\",\r\n caption: \"Nagłówek\",\r\n summary: \"Streszczenie\",\r\n width: \"Szerokość\",\r\n height: \"Wysokość\",\r\n units: \"Jednostki\",\r\n cellSpacing: \"Odstępy między komórkami\",\r\n cellPadding: \"Wewnętrzny odstęp komórek\",\r\n cellMargin: \"Margines komórek\",\r\n alignment: \"Wyrównanie\",\r\n background: \"Tło\",\r\n cssClass: \"Klasa CSS\",\r\n id: \"ID\",\r\n border: \"Brzegi\",\r\n borderStyle: \"Styl CSS brzegów\",\r\n collapseBorders: \"Sklejaj brzegi\",\r\n wrapText: \"Zawijanie wierszy\",\r\n associateCellsWithHeaders: \"Powiąż nagłówkami\",\r\n alignLeft: \"Wyrównaj w lewo\",\r\n alignCenter: \"Centruj\",\r\n alignRight: \"Wyrównaj w prawo\",\r\n alignLeftTop: \"Wyrównaj w prawo do góry\",\r\n alignCenterTop: \"Wyrównaj do środka do góry\",\r\n alignRightTop: \"Wyrównaj w prawo do góry\",\r\n alignLeftMiddle: \"Wyrównaj w lewo do środka\",\r\n alignCenterMiddle: \"Wyrównaj do środka\",\r\n alignRightMiddle: \"Wyrównaj w prawo do środka\",\r\n alignLeftBottom: \"Wyrównaj w lewo do dołu\",\r\n alignCenterBottom: \"Wyrównaj do środka do dołu\",\r\n alignRightBottom: \"Wyrównaj w prawo do dołu\",\r\n alignRemove: \"Usuń wyrównanie\",\r\n columns: \"Kolumny\",\r\n rows: \"Wiersze\",\r\n selectAllCells: \"Zaznacz wszystkie komórki\",\r\n dropFilesHere: \"umieść pliki tutaj, aby je wysłać\",\r\n formatting: \"Format\",\r\n viewHtml: \"Podgląd HTML\",\r\n dialogUpdate: \"Zaktualizuj\",\r\n insertFile: \"Wstaw plik\",\r\n editAreaTitle: \"Edycja treści. Wciśnij F10 aby przejść do paska narzędzi.\",\r\n }\r\n ));\r\n var t = {\r\n uploadFile: \"Wyślij\", orderBy: \"Sortuj wg\", orderByName: \"Nazwy\", orderBySize: \"Rozmiaru\", directoryNotFound: \"Folder o podanej nazwie nie został odnaleziony.\", emptyFolder: \"Pusty folder\", invalidFileType: 'Wybrany plik \"{0}\" jest nieprawidłowy. Obsługiwane pliki {1}.', deleteFile: 'Czy napewno chcesz usunąć plik \"{0}\"?', overwriteFile: 'Plik o nazwie \"{0}\" już istnieje w bieżącym folderze. Czy zastąpić?', dropFilesHere: \"umieść pliki tutaj, aby je wysłać\", search: \"Szukaj\"\r\n };\r\n kendo.ui.FileBrowser && (kendo.ui.FileBrowser.prototype.options.messages = e.extend(!0, kendo.ui.FileBrowser.prototype.options.messages, t)), kendo.ui.ImageBrowser && (kendo.ui.ImageBrowser.prototype.options.messages = e.extend(!0, kendo.ui.ImageBrowser.prototype.options.messages, t)), kendo.ui.Upload && (kendo.ui.Upload.prototype.options.localization = e.extend(!0, kendo.ui.Upload.prototype.options.localization, {\r\n cancel: \"Anuluj\", dropFilesHere: \"przeciągnij tu pliki aby je załadować\", remove: \"Usuń\", retry: \"Ponów\", select: \"Wybierz...\", statusFailed: \"niepowodzenie\", statusUploaded: \"załadowane\", statusUploading: \"trwa ładowanie\", uploadSelectedFiles: \"Załaduj pliki\", headerStatusUploaded: \"Zrobione\", headerStatusUploading: \"Wgrywanie...\", invalidMaxFileSize: \"Rozmiar pliku jest za duży.\", invalidMinFileSize: \"Rozmiar pliku jest za mały.\", invalidFileExtension: \"Niedozwolony rodzaj pliku.\"\r\n }\r\n )), kendo.ui.Scheduler && (kendo.ui.Scheduler.prototype.options.messages = e.extend(!0, kendo.ui.Scheduler.prototype.options.messages, {\r\n allDay: \"cały dzień\", cancel: \"Anuluj\", editable: {\r\n confirmation: \"Jesteś pewien, że chcesz usunąć do wydarzenie?\"\r\n }\r\n , date: \"Data\", destroy: \"Usuń\", editor: {\r\n allDayEvent: \"Wydarzenie całodniowe\", description: \"Opis\", editorTitle: \"Wydarzenie\", end: \"Koniec\", endTimezone: \"Koniec strefy czasowej\", repeat: \"P\", separateTimezones: \"Użyj oddzielnie początku i końca stref czasowych\", start: \"Początek\", startTimezone: \"Początek strefy czasowej\", timezone: \" \", timezoneEditorButton: \"Strefa czasowa\", timezoneEditorTitle: \"Strefy czasowe\", title: \"Tytuł\", noTimezone: \"Brak strefy czasowej\"\r\n }\r\n , event: \"Wydarzenie\", recurrenceMessages: {\r\n deleteRecurring: \"Chcesz usunąć tylko wskazane wystąpienie zdarzenia czy całą ich serię?\", deleteWindowOccurrence: \"Usuń obecne zdarzenie\", deleteWindowSeries: \"Usuń serie\", deleteWindowTitle: \"Usuń powtarzający się obiekt\", editRecurring: \"Czesz edytować tylko wskazane wystąpienie zdarzenia czy całą ich serię?\", editWindowOccurrence: \"Edytuj obecne zdarzenie\", editWindowSeries: \"Edytu serie\", editWindowTitle: \"Edytuj powtarzający się obiekt\"\r\n }\r\n , save: \"Zapisz\", time: \"Czas\", today: \"Dziś\", views: {\r\n agenda: \"Agenda\", day: \"Dzień\", month: \"Miesiąc\", week: \"Tydzień\", workWeek: \"Tydzień roboczy\"\r\n }\r\n , deleteWindowTitle: \"Usuń wydarzenie\", showFullDay: \"Pokaż cały dzień\", showWorkDay: \"Pokaż godziny robocze\", next: \"Następny\", previous: \"Poprzedni\", ariaSlotLabel: \"Zaznaczone od {0:t} do {1:t}\", ariaEventLabel: \"{0} na {1:D} w {2:t}\",\r\n }\r\n )), kendo.ui.Dialog && (kendo.ui.Dialog.prototype.options.messages = e.extend(!0, kendo.ui.Dialog.prototype.options.localization, {\r\n close: \"Zamknąć\"\r\n }\r\n )), kendo.ui.Alert && (kendo.ui.Alert.prototype.options.messages = e.extend(!0, kendo.ui.Alert.prototype.options.localization, {\r\n okText: \"OK\"\r\n }\r\n )), kendo.ui.Confirm && (kendo.ui.Confirm.prototype.options.messages = e.extend(!0, kendo.ui.Confirm.prototype.options.localization, {\r\n okText: \"OK\", cancel: \"Anuluj\"\r\n }\r\n )), kendo.ui.Prompt && (kendo.ui.Prompt.prototype.options.messages = e.extend(!0, kendo.ui.Prompt.prototype.options.localization, {\r\n okText: \"OK\", cancel: \"Anuluj\"\r\n }\r\n )), kendo.ui.ColorPicker && (kendo.ui.ColorPicker.prototype.options = e.extend(!0, kendo.ui.ColorPicker.prototype.options, {\r\n ARIATemplate: 'Aktualnie wybrany kolor to #=data || \"\"#'\r\n }\r\n )), kendo.ui.DatePicker && (kendo.ui.DatePicker.prototype.options = e.extend(!0, kendo.ui.DatePicker.prototype.options, {\r\n ARIATemplate: 'Aktualnie wybrana data to #=kendo.toString(data.current, \"D\")#',\r\n dateButtonText: \"Otwórz podgląd daty\",\r\n timeButtonText: \"Otwórz podgląd czasu\",\r\n }\r\n )), kendo.ui.DropDownList && (kendo.ui.DropDownList.prototype = e.extend(!0, kendo.ui.DropDownList.prototype, {\r\n _span: function () {\r\n var t, i = this,\r\n n = i.wrapper,\r\n s = \"span.k-input\";\r\n t = n.find(s), t[0] || (n.append(' ').append(i.element), t = n.find(s)), i.span = t, i._inputWrapper = e(n[0].firstChild), i._arrow = n.find(\".k-select\"), i._arrowIcon = i._arrow.find(\".k-icon\")\r\n }\r\n }\r\n )), kendo.ui.NumericTextBox && (kendo.ui.NumericTextBox.prototype.options = e.extend(!0, kendo.ui.NumericTextBox.prototype.options, {\r\n upArrowText: \"Zwiększ wartość\", downArrowText: \"Zmniejsz wartość\"\r\n }\r\n )), kendo.ui.DatePicker && (kendo.ui.DatePicker.prototype = e.extend(!0, kendo.ui.DatePicker.prototype, {\r\n _icon: function () {\r\n var t, a = this,\r\n n = a.element;\r\n t = n.next(\"span.k-select\"), t[0] || (t = e('').insertAfter(n)), a._dateIcon = t.attr({\r\n role: \"button\",\r\n \"aria-controls\": a.dateView._dateViewID\r\n })\r\n }\r\n }\r\n )), kendo.ui.SchedulerView && (kendo.ui.SchedulerView.prototype = e.extend(!0, kendo.ui.SchedulerView.prototype, {\r\n _verticalSlots: function (t, e, n, o) {\r\n if (e[0] !== undefined) {\r\n var i, s, r = this.groups[t.groupIndex],\r\n l = {\r\n startSlot: e[0].start,\r\n endSlot: e[e.length - 1].end\r\n };\r\n return n || (i = this._normalizeVerticalSelection(t, e, o), i && (l.startSlot = l.endSlot = i)), s = o ? \"upSlot\" : \"downSlot\", l = this._getNextVerticalRange(r, s, l, n), n || !this._isVerticallyGrouped() || l.startSlot && l.endSlot || (l.startSlot = l.endSlot = this._isGroupedByDate() ? this._changeDate(t, i, o) : this._changeGroup(t, o)), l\r\n }\r\n return false;\r\n }\r\n }\r\n )), kendo.ui.MultiDayView && (kendo.ui.MultiDayView.prototype = e.extend(!0, kendo.ui.MultiDayView.prototype, {\r\n _updateDirection: function (e, t, a, s, i) {\r\n if (t[0] !== undefined) {\r\n var n = e.isAllDay,\r\n o = t[0].start,\r\n r = t[t.length - 1].end;\r\n a && (i ? n || o.index !== r.index || o.collectionIndex !== r.collectionIndex || (e.backward = s) : (n && o.index === r.index || !n && o.collectionIndex === r.collectionIndex) && (e.backward = s))\r\n }\r\n }\r\n }))\r\n // , kendo.ui.Switch && (kendo.ui.Switch.prototype = e.extend(!0, kendo.ui.Switch.prototype, {\r\n // _aria: function () {\r\n // var t, c = this,\r\n // a = c.element,\r\n // i = c.wrapper,\r\n // s = a.attr(\"id\"),\r\n // d = e('label[for=\"' + s + '\"]'),\r\n // l = a.attr(\"aria-label\"),\r\n // r = a.attr(\"aria-labelledby\"),\r\n // db = a.attr(\"aria-describedby\"); <- dodane\r\n // l ? i.attr(\"aria-label\", l) : r ? i.attr(\"aria-labelledby\", r) : d.length && (t = d.attr(\"id\"), t || (t = (s || n.guid()) + b, d.attr(\"id\", t)), i.attr(\"aria-labelledby\", t)) && db ? i.attr(\"aria-describedby\", db) : d.length <- dodane\r\n // }\r\n //}\r\n }\r\n (window.kendo.jQuery)\r\n }\r\n);\r\n\r\n\r\n\r\n","var ErrorHandling = {\r\n config: {\r\n noBasePage: \"\",\r\n maintenancePage: \"\",\r\n },\r\n init: function (options) {\r\n this.config = $.extend(this.config, options);\r\n $(document).ajaxError($.proxy(this.ajaxErrorHandling, this));\r\n window.onerror = $.proxy(this.jsErrorHandling, this);\r\n },\r\n ajaxErrorHandling: function (event, jqXHR, ajaxSettings, thrownError) {\r\n if (jqXHR.status == 501) {\r\n window.location.href = this.config.noBasePage;\r\n } else if (jqXHR.status == 520) {\r\n window.location.href = this.config.maintenancePage;\r\n } else if (jqXHR.status == 500) {\r\n var response;\r\n try {\r\n response = $.parseJSON(jqXHR.responseText);\r\n } catch (err) { };\r\n\r\n var body = ErrorHandling.messages.ajaxErrorBody(ajaxSettings.type, ajaxSettings.url)\r\n\r\n if (response && response.exception && response.message) {\r\n body += ErrorHandling.messages.ajaxErrorExceptionClass(response.exception) + ErrorHandling.messages.ajaxErrorExceptionMessage(response.message);\r\n } else if (jqXHR.responseText.indexOf(\"\") > -1) {\r\n body += ErrorHandling.messages.ajaxErrorExceptionMessage(jqXHR.responseText);\r\n }\r\n alertMsg({\r\n title: ErrorHandling.messages.ajaxErrorTitle,\r\n message: body\r\n });\r\n }\r\n },\r\n jsErrorHandling: function (description, page, line) {\r\n alertMsg({\r\n title: ErrorHandling.messages.jsErrorTitle,\r\n message: ErrorHandling.messages.jsErrorBody(description, page, line)\r\n });\r\n }\r\n}","/*!\n * Font Awesome Icon Picker\n * https://farbelous.github.io/fontawesome-iconpicker/\n *\n * Originally written by (c) 2016 Javi Aguilar\n * Licensed under the MIT License\n * https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE\n *\n */\n(function(a) {\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], a);\n } else {\n a(jQuery);\n }\n})(function(a) {\n a.ui = a.ui || {};\n var b = a.ui.version = \"1.12.1\";\n /*!\n * jQuery UI Position 1.12.1\n * http://jqueryui.com\n *\n * Copyright jQuery Foundation and other contributors\n * Released under the MIT license.\n * http://jquery.org/license\n *\n * http://api.jqueryui.com/position/\n */\n (function() {\n var b, c = Math.max, d = Math.abs, e = /left|center|right/, f = /top|center|bottom/, g = /[\\+\\-]\\d+(\\.[\\d]+)?%?/, h = /^\\w+/, i = /%$/, j = a.fn.pos;\n function k(a, b, c) {\n return [ parseFloat(a[0]) * (i.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (i.test(a[1]) ? c / 100 : 1) ];\n }\n function l(b, c) {\n return parseInt(a.css(b, c), 10) || 0;\n }\n function m(b) {\n var c = b[0];\n if (c.nodeType === 9) {\n return {\n width: b.width(),\n height: b.height(),\n offset: {\n top: 0,\n left: 0\n }\n };\n }\n if (a.isWindow(c)) {\n return {\n width: b.width(),\n height: b.height(),\n offset: {\n top: b.scrollTop(),\n left: b.scrollLeft()\n }\n };\n }\n if (c.preventDefault) {\n return {\n width: 0,\n height: 0,\n offset: {\n top: c.pageY,\n left: c.pageX\n }\n };\n }\n return {\n width: b.outerWidth(),\n height: b.outerHeight(),\n offset: b.offset()\n };\n }\n a.pos = {\n scrollbarWidth: function() {\n if (b !== undefined) {\n return b;\n }\n var c, d, e = a(\"
    \" + \"
    \"), f = e.children()[0];\n a(\"body\").append(e);\n c = f.offsetWidth;\n e.css(\"overflow\", \"scroll\");\n d = f.offsetWidth;\n if (c === d) {\n d = e[0].clientWidth;\n }\n e.remove();\n return b = c - d;\n },\n getScrollInfo: function(b) {\n var c = b.isWindow || b.isDocument ? \"\" : b.element.css(\"overflow-x\"), d = b.isWindow || b.isDocument ? \"\" : b.element.css(\"overflow-y\"), e = c === \"scroll\" || c === \"auto\" && b.width < b.element[0].scrollWidth, f = d === \"scroll\" || d === \"auto\" && b.height < b.element[0].scrollHeight;\n return {\n width: f ? a.pos.scrollbarWidth() : 0,\n height: e ? a.pos.scrollbarWidth() : 0\n };\n },\n getWithinInfo: function(b) {\n var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9, f = !d && !e;\n return {\n element: c,\n isWindow: d,\n isDocument: e,\n offset: f ? a(b).offset() : {\n left: 0,\n top: 0\n },\n scrollLeft: c.scrollLeft(),\n scrollTop: c.scrollTop(),\n width: c.outerWidth(),\n height: c.outerHeight()\n };\n }\n };\n a.fn.pos = function(b) {\n if (!b || !b.of) {\n return j.apply(this, arguments);\n }\n b = a.extend({}, b);\n var i, n, o, p, q, r, s = a(b.of), t = a.pos.getWithinInfo(b.within), u = a.pos.getScrollInfo(t), v = (b.collision || \"flip\").split(\" \"), w = {};\n r = m(s);\n if (s[0].preventDefault) {\n b.at = \"left top\";\n }\n n = r.width;\n o = r.height;\n p = r.offset;\n q = a.extend({}, p);\n a.each([ \"my\", \"at\" ], function() {\n var a = (b[this] || \"\").split(\" \"), c, d;\n if (a.length === 1) {\n a = e.test(a[0]) ? a.concat([ \"center\" ]) : f.test(a[0]) ? [ \"center\" ].concat(a) : [ \"center\", \"center\" ];\n }\n a[0] = e.test(a[0]) ? a[0] : \"center\";\n a[1] = f.test(a[1]) ? a[1] : \"center\";\n c = g.exec(a[0]);\n d = g.exec(a[1]);\n w[this] = [ c ? c[0] : 0, d ? d[0] : 0 ];\n b[this] = [ h.exec(a[0])[0], h.exec(a[1])[0] ];\n });\n if (v.length === 1) {\n v[1] = v[0];\n }\n if (b.at[0] === \"right\") {\n q.left += n;\n } else if (b.at[0] === \"center\") {\n q.left += n / 2;\n }\n if (b.at[1] === \"bottom\") {\n q.top += o;\n } else if (b.at[1] === \"center\") {\n q.top += o / 2;\n }\n i = k(w.at, n, o);\n q.left += i[0];\n q.top += i[1];\n return this.each(function() {\n var e, f, g = a(this), h = g.outerWidth(), j = g.outerHeight(), m = l(this, \"marginLeft\"), r = l(this, \"marginTop\"), x = h + m + l(this, \"marginRight\") + u.width, y = j + r + l(this, \"marginBottom\") + u.height, z = a.extend({}, q), A = k(w.my, g.outerWidth(), g.outerHeight());\n if (b.my[0] === \"right\") {\n z.left -= h;\n } else if (b.my[0] === \"center\") {\n z.left -= h / 2;\n }\n if (b.my[1] === \"bottom\") {\n z.top -= j;\n } else if (b.my[1] === \"center\") {\n z.top -= j / 2;\n }\n z.left += A[0];\n z.top += A[1];\n e = {\n marginLeft: m,\n marginTop: r\n };\n a.each([ \"left\", \"top\" ], function(c, d) {\n if (a.ui.pos[v[c]]) {\n a.ui.pos[v[c]][d](z, {\n targetWidth: n,\n targetHeight: o,\n elemWidth: h,\n elemHeight: j,\n collisionPosition: e,\n collisionWidth: x,\n collisionHeight: y,\n offset: [ i[0] + A[0], i[1] + A[1] ],\n my: b.my,\n at: b.at,\n within: t,\n elem: g\n });\n }\n });\n if (b.using) {\n f = function(a) {\n var e = p.left - z.left, f = e + n - h, i = p.top - z.top, k = i + o - j, l = {\n target: {\n element: s,\n left: p.left,\n top: p.top,\n width: n,\n height: o\n },\n element: {\n element: g,\n left: z.left,\n top: z.top,\n width: h,\n height: j\n },\n horizontal: f < 0 ? \"left\" : e > 0 ? \"right\" : \"center\",\n vertical: k < 0 ? \"top\" : i > 0 ? \"bottom\" : \"middle\"\n };\n if (n < h && d(e + f) < n) {\n l.horizontal = \"center\";\n }\n if (o < j && d(i + k) < o) {\n l.vertical = \"middle\";\n }\n if (c(d(e), d(f)) > c(d(i), d(k))) {\n l.important = \"horizontal\";\n } else {\n l.important = \"vertical\";\n }\n b.using.call(this, a, l);\n };\n }\n g.offset(a.extend(z, {\n using: f\n }));\n });\n };\n a.ui.pos = {\n _trigger: function(a, b, c, d) {\n if (b.elem) {\n b.elem.trigger({\n type: c,\n position: a,\n positionData: b,\n triggered: d\n });\n }\n },\n fit: {\n left: function(b, d) {\n a.ui.pos._trigger(b, d, \"posCollide\", \"fitLeft\");\n var e = d.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - d.collisionPosition.marginLeft, i = f - h, j = h + d.collisionWidth - g - f, k;\n if (d.collisionWidth > g) {\n if (i > 0 && j <= 0) {\n k = b.left + i + d.collisionWidth - g - f;\n b.left += i - k;\n } else if (j > 0 && i <= 0) {\n b.left = f;\n } else {\n if (i > j) {\n b.left = f + g - d.collisionWidth;\n } else {\n b.left = f;\n }\n }\n } else if (i > 0) {\n b.left += i;\n } else if (j > 0) {\n b.left -= j;\n } else {\n b.left = c(b.left - h, b.left);\n }\n a.ui.pos._trigger(b, d, \"posCollided\", \"fitLeft\");\n },\n top: function(b, d) {\n a.ui.pos._trigger(b, d, \"posCollide\", \"fitTop\");\n var e = d.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = d.within.height, h = b.top - d.collisionPosition.marginTop, i = f - h, j = h + d.collisionHeight - g - f, k;\n if (d.collisionHeight > g) {\n if (i > 0 && j <= 0) {\n k = b.top + i + d.collisionHeight - g - f;\n b.top += i - k;\n } else if (j > 0 && i <= 0) {\n b.top = f;\n } else {\n if (i > j) {\n b.top = f + g - d.collisionHeight;\n } else {\n b.top = f;\n }\n }\n } else if (i > 0) {\n b.top += i;\n } else if (j > 0) {\n b.top -= j;\n } else {\n b.top = c(b.top - h, b.top);\n }\n a.ui.pos._trigger(b, d, \"posCollided\", \"fitTop\");\n }\n },\n flip: {\n left: function(b, c) {\n a.ui.pos._trigger(b, c, \"posCollide\", \"flipLeft\");\n var e = c.within, f = e.offset.left + e.scrollLeft, g = e.width, h = e.isWindow ? e.scrollLeft : e.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === \"left\" ? -c.elemWidth : c.my[0] === \"right\" ? c.elemWidth : 0, m = c.at[0] === \"left\" ? c.targetWidth : c.at[0] === \"right\" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p;\n if (j < 0) {\n o = b.left + l + m + n + c.collisionWidth - g - f;\n if (o < 0 || o < d(j)) {\n b.left += l + m + n;\n }\n } else if (k > 0) {\n p = b.left - c.collisionPosition.marginLeft + l + m + n - h;\n if (p > 0 || d(p) < k) {\n b.left += l + m + n;\n }\n }\n a.ui.pos._trigger(b, c, \"posCollided\", \"flipLeft\");\n },\n top: function(b, c) {\n a.ui.pos._trigger(b, c, \"posCollide\", \"flipTop\");\n var e = c.within, f = e.offset.top + e.scrollTop, g = e.height, h = e.isWindow ? e.scrollTop : e.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === \"top\", m = l ? -c.elemHeight : c.my[1] === \"bottom\" ? c.elemHeight : 0, n = c.at[1] === \"top\" ? c.targetHeight : c.at[1] === \"bottom\" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q;\n if (j < 0) {\n q = b.top + m + n + o + c.collisionHeight - g - f;\n if (q < 0 || q < d(j)) {\n b.top += m + n + o;\n }\n } else if (k > 0) {\n p = b.top - c.collisionPosition.marginTop + m + n + o - h;\n if (p > 0 || d(p) < k) {\n b.top += m + n + o;\n }\n }\n a.ui.pos._trigger(b, c, \"posCollided\", \"flipTop\");\n }\n },\n flipfit: {\n left: function() {\n a.ui.pos.flip.left.apply(this, arguments);\n a.ui.pos.fit.left.apply(this, arguments);\n },\n top: function() {\n a.ui.pos.flip.top.apply(this, arguments);\n a.ui.pos.fit.top.apply(this, arguments);\n }\n }\n };\n (function() {\n var b, c, d, e, f, g = document.getElementsByTagName(\"body\")[0], h = document.createElement(\"div\");\n b = document.createElement(g ? \"div\" : \"body\");\n d = {\n visibility: \"hidden\",\n width: 0,\n height: 0,\n border: 0,\n margin: 0,\n background: \"none\"\n };\n if (g) {\n a.extend(d, {\n position: \"absolute\",\n left: \"-1000px\",\n top: \"-1000px\"\n });\n }\n for (f in d) {\n b.style[f] = d[f];\n }\n b.appendChild(h);\n c = g || document.documentElement;\n c.insertBefore(b, c.firstChild);\n h.style.cssText = \"position: absolute; left: 10.7432222px;\";\n e = a(h).offset().left;\n a.support.offsetFractions = e > 10 && e < 11;\n b.innerHTML = \"\";\n c.removeChild(b);\n })();\n })();\n var c = a.ui.position;\n});\n\n(function(a) {\n \"use strict\";\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], a);\n } else if (window.jQuery && !window.jQuery.fn.iconpicker) {\n a(window.jQuery);\n }\n})(function(a) {\n \"use strict\";\n var b = {\n isEmpty: function(a) {\n return a === false || a === \"\" || a === null || a === undefined;\n },\n isEmptyObject: function(a) {\n return this.isEmpty(a) === true || a.length === 0;\n },\n isElement: function(b) {\n return a(b).length > 0;\n },\n isString: function(a) {\n return typeof a === \"string\" || a instanceof String;\n },\n isArray: function(b) {\n return a.isArray(b);\n },\n inArray: function(b, c) {\n return a.inArray(b, c) !== -1;\n },\n throwError: function(a) {\n throw \"Font Awesome Icon Picker Exception: \" + a;\n }\n };\n var c = function(d, e) {\n this._id = c._idCounter++;\n this.element = a(d).addClass(\"iconpicker-element\");\n this._trigger(\"iconpickerCreate\", {\n iconpickerValue: this.iconpickerValue\n });\n this.options = a.extend({}, c.defaultOptions, this.element.data(), e);\n this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates);\n this.options.originalPlacement = this.options.placement;\n this.container = b.isElement(this.options.container) ? a(this.options.container) : false;\n if (this.container === false) {\n if (this.element.is(\".dropdown-toggle\")) {\n this.container = a(\"~ .dropdown-menu:first\", this.element);\n } else {\n this.container = this.element.is(\"input,textarea,button,.btn\") ? this.element.parent() : this.element;\n }\n }\n this.container.addClass(\"iconpicker-container\");\n if (this.isDropdownMenu()) {\n this.options.placement = \"inline\";\n }\n this.input = this.element.is(\"input,textarea\") ? this.element.addClass(\"iconpicker-input\") : false;\n if (this.input === false) {\n this.input = this.container.find(this.options.input);\n if (!this.input.is(\"input,textarea\")) {\n this.input = false;\n }\n }\n this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);\n if (this.component.length === 0) {\n this.component = false;\n } else {\n this.component.find(\"i\").addClass(\"iconpicker-component\");\n }\n this._createPopover();\n this._createIconpicker();\n if (this.getAcceptButton().length === 0) {\n this.options.mustAccept = false;\n }\n if (this.isInputGroup()) {\n this.container.parent().append(this.popover);\n } else {\n this.container.append(this.popover);\n }\n this._bindElementEvents();\n this._bindWindowEvents();\n this.update(this.options.selected);\n if (this.isInline()) {\n this.show();\n }\n this._trigger(\"iconpickerCreated\", {\n iconpickerValue: this.iconpickerValue\n });\n };\n c._idCounter = 0;\n c.defaultOptions = {\n title: false,\n selected: false,\n defaultValue: false,\n placement: \"bottom\",\n collision: \"none\",\n animation: true,\n hideOnSelect: false,\n showFooter: false,\n searchInFooter: false,\n mustAccept: false,\n selectedCustomClass: \"bg-primary\",\n icons: [],\n fullClassFormatter: function(a) {\n return a;\n },\n input: \"input,.iconpicker-input\",\n inputSearch: false,\n container: false,\n component: \".input-group-addon,.iconpicker-component\",\n templates: {\n popover: '
    ' + '
    ',\n footer: '
    ',\n buttons: '' + ' ',\n search: '',\n iconpicker: '
    ',\n iconpickerItem: ''\n }\n };\n c.batch = function(b, c) {\n var d = Array.prototype.slice.call(arguments, 2);\n return a(b).each(function() {\n var b = a(this).data(\"iconpicker\");\n if (!!b) {\n b[c].apply(b, d);\n }\n });\n };\n c.prototype = {\n constructor: c,\n options: {},\n _id: 0,\n _trigger: function(b, c) {\n c = c || {};\n this.element.trigger(a.extend({\n type: b,\n iconpickerInstance: this\n }, c));\n },\n _createPopover: function() {\n this.popover = a(this.options.templates.popover);\n var c = this.popover.find(\".popover-title\");\n if (!!this.options.title) {\n c.append(a('
    ' + this.options.title + \"
    \"));\n }\n if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {\n c.append(this.options.templates.search);\n } else if (!this.options.title) {\n c.remove();\n }\n if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) {\n var d = a(this.options.templates.footer);\n if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {\n d.append(a(this.options.templates.search));\n }\n if (!b.isEmpty(this.options.templates.buttons)) {\n d.append(a(this.options.templates.buttons));\n }\n this.popover.append(d);\n }\n if (this.options.animation === true) {\n this.popover.addClass(\"fade\");\n }\n return this.popover;\n },\n _createIconpicker: function() {\n var b = this;\n this.iconpicker = a(this.options.templates.iconpicker);\n var c = function(c) {\n var d = a(this);\n if (d.is(\"i\")) {\n d = d.parent();\n }\n b._trigger(\"iconpickerSelect\", {\n iconpickerItem: d,\n iconpickerValue: b.iconpickerValue\n });\n if (b.options.mustAccept === false) {\n b.update(d.data(\"iconpickerValue\"));\n b._trigger(\"iconpickerSelected\", {\n iconpickerItem: this,\n iconpickerValue: b.iconpickerValue\n });\n } else {\n b.update(d.data(\"iconpickerValue\"), true);\n }\n if (b.options.hideOnSelect && b.options.mustAccept === false) {\n b.hide();\n }\n };\n for (var d in this.options.icons) {\n if (typeof this.options.icons[d].title === \"string\") {\n var e = a(this.options.templates.iconpickerItem);\n e.find(\"i\").addClass(this.options.fullClassFormatter(this.options.icons[d].title));\n e.data(\"iconpickerValue\", this.options.icons[d].title).on(\"click.iconpicker\", c);\n this.iconpicker.find(\".iconpicker-items\").append(e.attr(\"title\", \".\" + this.options.icons[d].title));\n if (this.options.icons[d].searchTerms.length > 0) {\n var f = \"\";\n for (var g = 0; g < this.options.icons[d].searchTerms.length; g++) {\n f = f + this.options.icons[d].searchTerms[g] + \" \";\n }\n this.iconpicker.find(\".iconpicker-items\").append(e.attr(\"data-search-terms\", f));\n }\n }\n }\n this.popover.find(\".popover-content\").append(this.iconpicker);\n return this.iconpicker;\n },\n _isEventInsideIconpicker: function(b) {\n var c = a(b.target);\n if ((!c.hasClass(\"iconpicker-element\") || c.hasClass(\"iconpicker-element\") && !c.is(this.element)) && c.parents(\".iconpicker-popover\").length === 0) {\n return false;\n }\n return true;\n },\n _bindElementEvents: function() {\n var c = this;\n this.getSearchInput().on(\"keyup.iconpicker\", function() {\n c.filter(a(this).val().toLowerCase());\n });\n this.getAcceptButton().on(\"click.iconpicker\", function() {\n var a = c.iconpicker.find(\".iconpicker-selected\").get(0);\n c.update(c.iconpickerValue);\n c._trigger(\"iconpickerSelected\", {\n iconpickerItem: a,\n iconpickerValue: c.iconpickerValue\n });\n if (!c.isInline()) {\n c.hide();\n }\n });\n this.getCancelButton().on(\"click.iconpicker\", function() {\n if (!c.isInline()) {\n c.hide();\n }\n });\n this.element.on(\"focus.iconpicker\", function(a) {\n c.show();\n a.stopPropagation();\n });\n if (this.hasComponent()) {\n this.component.on(\"click.iconpicker\", function() {\n c.toggle();\n });\n }\n if (this.hasInput()) {\n this.input.on(\"keyup.iconpicker\", function(d) {\n if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {\n c.update();\n } else {\n c._updateFormGroupStatus(c.getValid(this.value) !== false);\n }\n if (c.options.inputSearch === true) {\n c.filter(a(this).val().toLowerCase());\n }\n });\n }\n },\n _bindWindowEvents: function() {\n var b = a(window.document);\n var c = this;\n var d = \".iconpicker.inst\" + this._id;\n a(window).on(\"resize.iconpicker\" + d + \" orientationchange.iconpicker\" + d, function(a) {\n if (c.popover.hasClass(\"in\")) {\n c.updatePlacement();\n }\n });\n if (!c.isInline()) {\n b.on(\"mouseup\" + d, function(a) {\n if (!c._isEventInsideIconpicker(a) && !c.isInline()) {\n c.hide();\n }\n });\n }\n },\n _unbindElementEvents: function() {\n this.popover.off(\".iconpicker\");\n this.element.off(\".iconpicker\");\n if (this.hasInput()) {\n this.input.off(\".iconpicker\");\n }\n if (this.hasComponent()) {\n this.component.off(\".iconpicker\");\n }\n if (this.hasContainer()) {\n this.container.off(\".iconpicker\");\n }\n },\n _unbindWindowEvents: function() {\n a(window).off(\".iconpicker.inst\" + this._id);\n a(window.document).off(\".iconpicker.inst\" + this._id);\n },\n updatePlacement: function(b, c) {\n b = b || this.options.placement;\n this.options.placement = b;\n c = c || this.options.collision;\n c = c === true ? \"flip\" : c;\n var d = {\n at: \"right bottom\",\n my: \"right top\",\n of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,\n collision: c === true ? \"flip\" : c,\n within: window\n };\n this.popover.removeClass(\"inline topLeftCorner topLeft top topRight topRightCorner \" + \"rightTop right rightBottom bottomRight bottomRightCorner \" + \"bottom bottomLeft bottomLeftCorner leftBottom left leftTop\");\n if (typeof b === \"object\") {\n return this.popover.pos(a.extend({}, d, b));\n }\n switch (b) {\n case \"inline\":\n {\n d = false;\n }\n break;\n\n case \"topLeftCorner\":\n {\n d.my = \"right bottom\";\n d.at = \"left top\";\n }\n break;\n\n case \"topLeft\":\n {\n d.my = \"left bottom\";\n d.at = \"left top\";\n }\n break;\n\n case \"top\":\n {\n d.my = \"center bottom\";\n d.at = \"center top\";\n }\n break;\n\n case \"topRight\":\n {\n d.my = \"right bottom\";\n d.at = \"right top\";\n }\n break;\n\n case \"topRightCorner\":\n {\n d.my = \"left bottom\";\n d.at = \"right top\";\n }\n break;\n\n case \"rightTop\":\n {\n d.my = \"left bottom\";\n d.at = \"right center\";\n }\n break;\n\n case \"right\":\n {\n d.my = \"left center\";\n d.at = \"right center\";\n }\n break;\n\n case \"rightBottom\":\n {\n d.my = \"left top\";\n d.at = \"right center\";\n }\n break;\n\n case \"bottomRightCorner\":\n {\n d.my = \"left top\";\n d.at = \"right bottom\";\n }\n break;\n\n case \"bottomRight\":\n {\n d.my = \"right top\";\n d.at = \"right bottom\";\n }\n break;\n\n case \"bottom\":\n {\n d.my = \"center top\";\n d.at = \"center bottom\";\n }\n break;\n\n case \"bottomLeft\":\n {\n d.my = \"left top\";\n d.at = \"left bottom\";\n }\n break;\n\n case \"bottomLeftCorner\":\n {\n d.my = \"right top\";\n d.at = \"left bottom\";\n }\n break;\n\n case \"leftBottom\":\n {\n d.my = \"right top\";\n d.at = \"left center\";\n }\n break;\n\n case \"left\":\n {\n d.my = \"right center\";\n d.at = \"left center\";\n }\n break;\n\n case \"leftTop\":\n {\n d.my = \"right bottom\";\n d.at = \"left center\";\n }\n break;\n\n default:\n {\n return false;\n }\n break;\n }\n this.popover.css({\n display: this.options.placement === \"inline\" ? \"\" : \"block\"\n });\n if (d !== false) {\n this.popover.pos(d).css(\"maxWidth\", a(window).width() - this.container.offset().left - 5);\n } else {\n this.popover.css({\n top: \"auto\",\n right: \"auto\",\n bottom: \"auto\",\n left: \"auto\",\n maxWidth: \"none\"\n });\n }\n this.popover.addClass(this.options.placement);\n return true;\n },\n _updateComponents: function () {\n this.iconpicker.find(\".iconpicker-item.iconpicker-selected\").removeClass(\"iconpicker-selected \" + this.options.selectedCustomClass);\n if (this.iconpickerValue) {\n this.iconpicker.find(\".\" + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, \".\")).parent().addClass(\"iconpicker-selected \" + this.options.selectedCustomClass);\n }\n if (this.hasComponent()) {\n var a = this.component.find(\"i\");\n if (a.length > 0) {\n a.attr(\"class\", this.options.fullClassFormatter(this.iconpickerValue));\n } else {\n this.component.html(this.getHtml());\n }\n }\n },\n _updateFormGroupStatus: function(a) {\n if (this.hasInput()) {\n if (a !== false) {\n this.input.parents(\".form-group:first\").removeClass(\"has-error\");\n } else {\n this.input.parents(\".form-group:first\").addClass(\"has-error\");\n }\n return true;\n }\n return false;\n },\n getValid: function(c) {\n if (!b.isString(c)) {\n c = \"\";\n }\n var d = c === \"\";\n c = a.trim(c);\n var e = false;\n for (var f = 0; f < this.options.icons.length; f++) {\n if (this.options.icons[f].title === c) {\n e = true;\n break;\n }\n }\n if (e || d) {\n return c;\n }\n return false;\n },\n setValue: function(a) {\n var b = this.getValid(a);\n if (b !== false) {\n this.iconpickerValue = b;\n this._trigger(\"iconpickerSetValue\", {\n iconpickerValue: b\n });\n return this.iconpickerValue;\n } else {\n this._trigger(\"iconpickerInvalid\", {\n iconpickerValue: a\n });\n return false;\n }\n },\n getHtml: function () {\n debugger;\n return '';\n },\n setSourceValue: function(a) {\n a = this.setValue(a);\n if (a !== false && a !== \"\") {\n if (this.hasInput()) {\n this.input.val(this.iconpickerValue);\n } else {\n this.element.data(\"iconpickerValue\", this.iconpickerValue);\n }\n this._trigger(\"iconpickerSetSourceValue\", {\n iconpickerValue: a\n });\n }\n return a;\n },\n getSourceValue: function(a) {\n a = a || this.options.defaultValue;\n var b = a;\n if (this.hasInput()) {\n b = this.input.val();\n } else {\n b = this.element.data(\"iconpickerValue\");\n }\n if (b === undefined || b === \"\" || b === null || b === false) {\n b = a;\n }\n return b;\n },\n hasInput: function() {\n return this.input !== false;\n },\n isInputSearch: function() {\n return this.hasInput() && this.options.inputSearch === true;\n },\n isInputGroup: function() {\n return this.container.is(\".input-group\");\n },\n isDropdownMenu: function() {\n return this.container.is(\".dropdown-menu\");\n },\n hasSeparatedSearchInput: function() {\n return this.options.templates.search !== false && !this.isInputSearch();\n },\n hasComponent: function() {\n return this.component !== false;\n },\n hasContainer: function() {\n return this.container !== false;\n },\n getAcceptButton: function() {\n return this.popover.find(\".iconpicker-btn-accept\");\n },\n getCancelButton: function() {\n return this.popover.find(\".iconpicker-btn-cancel\");\n },\n getSearchInput: function() {\n return this.popover.find(\".iconpicker-search\");\n },\n filter: function(c) {\n if (b.isEmpty(c)) {\n this.iconpicker.find(\".iconpicker-item\").show();\n return a(false);\n } else {\n var d = [];\n this.iconpicker.find(\".iconpicker-item\").each(function() {\n var b = a(this);\n var e = b.attr(\"title\").toLowerCase();\n var f = b.attr(\"data-search-terms\") ? b.attr(\"data-search-terms\").toLowerCase() : \"\";\n e = e + \" \" + f;\n var g = false;\n try {\n g = new RegExp(\"(^|\\\\W)\" + c, \"g\");\n } catch (a) {\n g = false;\n }\n if (g !== false && e.match(g)) {\n d.push(b);\n b.show();\n } else {\n b.hide();\n }\n });\n return d;\n }\n },\n show: function() {\n if (this.popover.hasClass(\"in\")) {\n return false;\n }\n a.iconpicker.batch(a(\".iconpicker-popover.in:not(.inline)\").not(this.popover), \"hide\");\n this._trigger(\"iconpickerShow\", {\n iconpickerValue: this.iconpickerValue\n });\n this.updatePlacement();\n this.popover.addClass(\"in\");\n setTimeout(a.proxy(function() {\n this.popover.css(\"display\", this.isInline() ? \"\" : \"block\");\n this._trigger(\"iconpickerShown\", {\n iconpickerValue: this.iconpickerValue\n });\n }, this), this.options.animation ? 300 : 1);\n },\n hide: function() {\n if (!this.popover.hasClass(\"in\")) {\n return false;\n }\n this._trigger(\"iconpickerHide\", {\n iconpickerValue: this.iconpickerValue\n });\n this.popover.removeClass(\"in\");\n setTimeout(a.proxy(function() {\n this.popover.css(\"display\", \"none\");\n this.getSearchInput().val(\"\");\n this.filter(\"\");\n this._trigger(\"iconpickerHidden\", {\n iconpickerValue: this.iconpickerValue\n });\n }, this), this.options.animation ? 300 : 1);\n },\n toggle: function() {\n if (this.popover.is(\":visible\")) {\n this.hide();\n } else {\n this.show(true);\n }\n },\n update: function(a, b) {\n a = a ? a : this.getSourceValue(this.iconpickerValue);\n this._trigger(\"iconpickerUpdate\", {\n iconpickerValue: this.iconpickerValue\n });\n if (b === true) {\n a = this.setValue(a);\n } else {\n a = this.setSourceValue(a);\n this._updateFormGroupStatus(a !== false);\n }\n if (a !== false) {\n this._updateComponents();\n }\n this._trigger(\"iconpickerUpdated\", {\n iconpickerValue: this.iconpickerValue\n });\n return a;\n },\n destroy: function() {\n this._trigger(\"iconpickerDestroy\", {\n iconpickerValue: this.iconpickerValue\n });\n this.element.removeData(\"iconpicker\").removeData(\"iconpickerValue\").removeClass(\"iconpicker-element\");\n this._unbindElementEvents();\n this._unbindWindowEvents();\n a(this.popover).remove();\n this._trigger(\"iconpickerDestroyed\", {\n iconpickerValue: this.iconpickerValue\n });\n },\n disable: function() {\n if (this.hasInput()) {\n this.input.prop(\"disabled\", true);\n return true;\n }\n return false;\n },\n enable: function() {\n if (this.hasInput()) {\n this.input.prop(\"disabled\", false);\n return true;\n }\n return false;\n },\n isDisabled: function() {\n if (this.hasInput()) {\n return this.input.prop(\"disabled\") === true;\n }\n return false;\n },\n isInline: function() {\n return this.options.placement === \"inline\" || this.popover.hasClass(\"inline\");\n }\n };\n a.iconpicker = c;\n a.fn.iconpicker = function(b) {\n return this.each(function() {\n var d = a(this);\n if (!d.data(\"iconpicker\")) {\n d.data(\"iconpicker\", new c(this, typeof b === \"object\" ? b : {}));\n }\n });\n };\n c.defaultOptions = a.extend(c.defaultOptions, {\n icons: [ {\n title: \"fab fa-500px\",\n searchTerms: []\n }, {\n title: \"fab fa-accessible-icon\",\n searchTerms: [ \"accessibility\", \"wheelchair\", \"handicap\", \"person\", \"wheelchair-alt\" ]\n }, {\n title: \"fab fa-accusoft\",\n searchTerms: []\n }, {\n title: \"fas fa-address-book\",\n searchTerms: []\n }, {\n title: \"far fa-address-book\",\n searchTerms: []\n }, {\n title: \"fas fa-address-card\",\n searchTerms: []\n }, {\n title: \"far fa-address-card\",\n searchTerms: []\n }, {\n title: \"fas fa-adjust\",\n searchTerms: [ \"contrast\" ]\n }, {\n title: \"fab fa-adn\",\n searchTerms: []\n }, {\n title: \"fab fa-adversal\",\n searchTerms: []\n }, {\n title: \"fab fa-affiliatetheme\",\n searchTerms: []\n }, {\n title: \"fab fa-algolia\",\n searchTerms: []\n }, {\n title: \"fas fa-align-center\",\n searchTerms: [ \"middle\", \"text\" ]\n }, {\n title: \"fas fa-align-justify\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fas fa-align-left\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fas fa-align-right\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fab fa-amazon\",\n searchTerms: []\n }, {\n title: \"fab fa-amazon-pay\",\n searchTerms: []\n }, {\n title: \"fas fa-ambulance\",\n searchTerms: [ \"vehicle\", \"support\", \"help\" ]\n }, {\n title: \"fas fa-american-sign-language-interpreting\",\n searchTerms: []\n }, {\n title: \"fab fa-amilia\",\n searchTerms: []\n }, {\n title: \"fas fa-anchor\",\n searchTerms: [ \"link\" ]\n }, {\n title: \"fab fa-android\",\n searchTerms: [ \"robot\" ]\n }, {\n title: \"fab fa-angellist\",\n searchTerms: []\n }, {\n title: \"fas fa-angle-double-down\",\n searchTerms: [ \"arrows\" ]\n }, {\n title: \"fas fa-angle-double-left\",\n searchTerms: [ \"laquo\", \"quote\", \"previous\", \"back\", \"arrows\" ]\n }, {\n title: \"fas fa-angle-double-right\",\n searchTerms: [ \"raquo\", \"quote\", \"next\", \"forward\", \"arrows\" ]\n }, {\n title: \"fas fa-angle-double-up\",\n searchTerms: [ \"arrows\" ]\n }, {\n title: \"fas fa-angle-down\",\n searchTerms: [ \"arrow\" ]\n }, {\n title: \"fas fa-angle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow\" ]\n }, {\n title: \"fas fa-angle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow\" ]\n }, {\n title: \"fas fa-angle-up\",\n searchTerms: [ \"arrow\" ]\n }, {\n title: \"fab fa-angrycreative\",\n searchTerms: []\n }, {\n title: \"fab fa-angular\",\n searchTerms: []\n }, {\n title: \"fab fa-app-store\",\n searchTerms: []\n }, {\n title: \"fab fa-app-store-ios\",\n searchTerms: []\n }, {\n title: \"fab fa-apper\",\n searchTerms: []\n }, {\n title: \"fab fa-apple\",\n searchTerms: [ \"osx\", \"food\" ]\n }, {\n title: \"fab fa-apple-pay\",\n searchTerms: []\n }, {\n title: \"fas fa-archive\",\n searchTerms: [ \"box\", \"storage\", \"package\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-down\",\n searchTerms: [ \"download\", \"arrow-circle-o-down\" ]\n }, {\n title: \"far fa-arrow-alt-circle-down\",\n searchTerms: [ \"download\", \"arrow-circle-o-down\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow-circle-o-left\" ]\n }, {\n title: \"far fa-arrow-alt-circle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow-circle-o-left\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow-circle-o-right\" ]\n }, {\n title: \"far fa-arrow-alt-circle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow-circle-o-right\" ]\n }, {\n title: \"fas fa-arrow-alt-circle-up\",\n searchTerms: [ \"arrow-circle-o-up\" ]\n }, {\n title: \"far fa-arrow-alt-circle-up\",\n searchTerms: [ \"arrow-circle-o-up\" ]\n }, {\n title: \"fas fa-arrow-circle-down\",\n searchTerms: [ \"download\" ]\n }, {\n title: \"fas fa-arrow-circle-left\",\n searchTerms: [ \"previous\", \"back\" ]\n }, {\n title: \"fas fa-arrow-circle-right\",\n searchTerms: [ \"next\", \"forward\" ]\n }, {\n title: \"fas fa-arrow-circle-up\",\n searchTerms: []\n }, {\n title: \"fas fa-arrow-down\",\n searchTerms: [ \"download\" ]\n }, {\n title: \"fas fa-arrow-left\",\n searchTerms: [ \"previous\", \"back\" ]\n }, {\n title: \"fas fa-arrow-right\",\n searchTerms: [ \"next\", \"forward\" ]\n }, {\n title: \"fas fa-arrow-up\",\n searchTerms: []\n }, {\n title: \"fas fa-arrows-alt\",\n searchTerms: [ \"expand\", \"enlarge\", \"fullscreen\", \"bigger\", \"move\", \"reorder\", \"resize\", \"arrow\", \"arrows\" ]\n }, {\n title: \"fas fa-arrows-alt-h\",\n searchTerms: [ \"resize\", \"arrows-h\" ]\n }, {\n title: \"fas fa-arrows-alt-v\",\n searchTerms: [ \"resize\", \"arrows-v\" ]\n }, {\n title: \"fas fa-assistive-listening-systems\",\n searchTerms: []\n }, {\n title: \"fas fa-asterisk\",\n searchTerms: [ \"details\" ]\n }, {\n title: \"fab fa-asymmetrik\",\n searchTerms: []\n }, {\n title: \"fas fa-at\",\n searchTerms: [ \"email\", \"e-mail\" ]\n }, {\n title: \"fab fa-audible\",\n searchTerms: []\n }, {\n title: \"fas fa-audio-description\",\n searchTerms: []\n }, {\n title: \"fab fa-autoprefixer\",\n searchTerms: []\n }, {\n title: \"fab fa-avianex\",\n searchTerms: []\n }, {\n title: \"fab fa-aviato\",\n searchTerms: []\n }, {\n title: \"fab fa-aws\",\n searchTerms: []\n }, {\n title: \"fas fa-backward\",\n searchTerms: [ \"rewind\", \"previous\" ]\n }, {\n title: \"fas fa-balance-scale\",\n searchTerms: []\n }, {\n title: \"fas fa-ban\",\n searchTerms: [ \"delete\", \"remove\", \"trash\", \"hide\", \"block\", \"stop\", \"abort\", \"cancel\", \"ban\", \"prohibit\" ]\n }, {\n title: \"fas fa-band-aid\",\n searchTerms: [ \"bandage\", \"ouch\", \"boo boo\" ]\n }, {\n title: \"fab fa-bandcamp\",\n searchTerms: []\n }, {\n title: \"fas fa-barcode\",\n searchTerms: [ \"scan\" ]\n }, {\n title: \"fas fa-bars\",\n searchTerms: [ \"menu\", \"drag\", \"reorder\", \"settings\", \"list\", \"ul\", \"ol\", \"checklist\", \"todo\", \"list\", \"hamburger\" ]\n }, {\n title: \"fas fa-baseball-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-basketball-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-bath\",\n searchTerms: []\n }, {\n title: \"fas fa-battery-empty\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-full\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-half\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-quarter\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-battery-three-quarters\",\n searchTerms: [ \"power\", \"status\" ]\n }, {\n title: \"fas fa-bed\",\n searchTerms: [ \"travel\" ]\n }, {\n title: \"fas fa-beer\",\n searchTerms: [ \"alcohol\", \"stein\", \"drink\", \"mug\", \"bar\", \"liquor\" ]\n }, {\n title: \"fab fa-behance\",\n searchTerms: []\n }, {\n title: \"fab fa-behance-square\",\n searchTerms: []\n }, {\n title: \"fas fa-bell\",\n searchTerms: [ \"alert\", \"reminder\", \"notification\" ]\n }, {\n title: \"far fa-bell\",\n searchTerms: [ \"alert\", \"reminder\", \"notification\" ]\n }, {\n title: \"fas fa-bell-slash\",\n searchTerms: []\n }, {\n title: \"far fa-bell-slash\",\n searchTerms: []\n }, {\n title: \"fas fa-bicycle\",\n searchTerms: [ \"vehicle\", \"bike\", \"gears\" ]\n }, {\n title: \"fab fa-bimobject\",\n searchTerms: []\n }, {\n title: \"fas fa-binoculars\",\n searchTerms: []\n }, {\n title: \"fas fa-birthday-cake\",\n searchTerms: []\n }, {\n title: \"fab fa-bitbucket\",\n searchTerms: [ \"git\", \"bitbucket-square\" ]\n }, {\n title: \"fab fa-bitcoin\",\n searchTerms: []\n }, {\n title: \"fab fa-bity\",\n searchTerms: []\n }, {\n title: \"fab fa-black-tie\",\n searchTerms: []\n }, {\n title: \"fab fa-blackberry\",\n searchTerms: []\n }, {\n title: \"fas fa-blind\",\n searchTerms: []\n }, {\n title: \"fab fa-blogger\",\n searchTerms: []\n }, {\n title: \"fab fa-blogger-b\",\n searchTerms: []\n }, {\n title: \"fab fa-bluetooth\",\n searchTerms: []\n }, {\n title: \"fab fa-bluetooth-b\",\n searchTerms: []\n }, {\n title: \"fas fa-bold\",\n searchTerms: []\n }, {\n title: \"fas fa-bolt\",\n searchTerms: [ \"lightning\", \"weather\" ]\n }, {\n title: \"fas fa-bomb\",\n searchTerms: []\n }, {\n title: \"fas fa-book\",\n searchTerms: [ \"read\", \"documentation\" ]\n }, {\n title: \"fas fa-bookmark\",\n searchTerms: [ \"save\" ]\n }, {\n title: \"far fa-bookmark\",\n searchTerms: [ \"save\" ]\n }, {\n title: \"fas fa-bowling-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-box\",\n searchTerms: []\n }, {\n title: \"fas fa-boxes\",\n searchTerms: []\n }, {\n title: \"fas fa-braille\",\n searchTerms: []\n }, {\n title: \"fas fa-briefcase\",\n searchTerms: [ \"work\", \"business\", \"office\", \"luggage\", \"bag\" ]\n }, {\n title: \"fab fa-btc\",\n searchTerms: []\n }, {\n title: \"fas fa-bug\",\n searchTerms: [ \"report\", \"insect\" ]\n }, {\n title: \"fas fa-building\",\n searchTerms: [ \"work\", \"business\", \"apartment\", \"office\", \"company\" ]\n }, {\n title: \"far fa-building\",\n searchTerms: [ \"work\", \"business\", \"apartment\", \"office\", \"company\" ]\n }, {\n title: \"fas fa-bullhorn\",\n searchTerms: [ \"announcement\", \"share\", \"broadcast\", \"louder\", \"megaphone\" ]\n }, {\n title: \"fas fa-bullseye\",\n searchTerms: [ \"target\" ]\n }, {\n title: \"fab fa-buromobelexperte\",\n searchTerms: []\n }, {\n title: \"fas fa-bus\",\n searchTerms: [ \"vehicle\" ]\n }, {\n title: \"fab fa-buysellads\",\n searchTerms: []\n }, {\n title: \"fas fa-calculator\",\n searchTerms: []\n }, {\n title: \"fas fa-calendar\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar-o\" ]\n }, {\n title: \"far fa-calendar\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar-o\" ]\n }, {\n title: \"fas fa-calendar-alt\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar\" ]\n }, {\n title: \"far fa-calendar-alt\",\n searchTerms: [ \"date\", \"time\", \"when\", \"event\", \"calendar\" ]\n }, {\n title: \"fas fa-calendar-check\",\n searchTerms: [ \"ok\" ]\n }, {\n title: \"far fa-calendar-check\",\n searchTerms: [ \"ok\" ]\n }, {\n title: \"fas fa-calendar-minus\",\n searchTerms: []\n }, {\n title: \"far fa-calendar-minus\",\n searchTerms: []\n }, {\n title: \"fas fa-calendar-plus\",\n searchTerms: []\n }, {\n title: \"far fa-calendar-plus\",\n searchTerms: []\n }, {\n title: \"fas fa-calendar-times\",\n searchTerms: []\n }, {\n title: \"far fa-calendar-times\",\n searchTerms: []\n }, {\n title: \"fas fa-camera\",\n searchTerms: [ \"photo\", \"picture\", \"record\" ]\n }, {\n title: \"fas fa-camera-retro\",\n searchTerms: [ \"photo\", \"picture\", \"record\" ]\n }, {\n title: \"fas fa-car\",\n searchTerms: [ \"vehicle\" ]\n }, {\n title: \"fas fa-caret-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"triangle down\", \"arrow\" ]\n }, {\n title: \"fas fa-caret-left\",\n searchTerms: [ \"previous\", \"back\", \"triangle left\", \"arrow\" ]\n }, {\n title: \"fas fa-caret-right\",\n searchTerms: [ \"next\", \"forward\", \"triangle right\", \"arrow\" ]\n }, {\n title: \"fas fa-caret-square-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"caret-square-o-down\" ]\n }, {\n title: \"far fa-caret-square-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"caret-square-o-down\" ]\n }, {\n title: \"fas fa-caret-square-left\",\n searchTerms: [ \"previous\", \"back\", \"caret-square-o-left\" ]\n }, {\n title: \"far fa-caret-square-left\",\n searchTerms: [ \"previous\", \"back\", \"caret-square-o-left\" ]\n }, {\n title: \"fas fa-caret-square-right\",\n searchTerms: [ \"next\", \"forward\", \"caret-square-o-right\" ]\n }, {\n title: \"far fa-caret-square-right\",\n searchTerms: [ \"next\", \"forward\", \"caret-square-o-right\" ]\n }, {\n title: \"fas fa-caret-square-up\",\n searchTerms: [ \"caret-square-o-up\" ]\n }, {\n title: \"far fa-caret-square-up\",\n searchTerms: [ \"caret-square-o-up\" ]\n }, {\n title: \"fas fa-caret-up\",\n searchTerms: [ \"triangle up\", \"arrow\" ]\n }, {\n title: \"fas fa-cart-arrow-down\",\n searchTerms: [ \"shopping\" ]\n }, {\n title: \"fas fa-cart-plus\",\n searchTerms: [ \"add\", \"shopping\" ]\n }, {\n title: \"fab fa-cc-amazon-pay\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-amex\",\n searchTerms: [ \"amex\" ]\n }, {\n title: \"fab fa-cc-apple-pay\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-diners-club\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-discover\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-jcb\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-mastercard\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-paypal\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-stripe\",\n searchTerms: []\n }, {\n title: \"fab fa-cc-visa\",\n searchTerms: []\n }, {\n title: \"fab fa-centercode\",\n searchTerms: []\n }, {\n title: \"fas fa-certificate\",\n searchTerms: [ \"badge\", \"star\" ]\n }, {\n title: \"fas fa-chart-area\",\n searchTerms: [ \"graph\", \"analytics\", \"area-chart\" ]\n }, {\n title: \"fas fa-chart-bar\",\n searchTerms: [ \"graph\", \"analytics\", \"bar-chart\" ]\n }, {\n title: \"far fa-chart-bar\",\n searchTerms: [ \"graph\", \"analytics\", \"bar-chart\" ]\n }, {\n title: \"fas fa-chart-line\",\n searchTerms: [ \"graph\", \"analytics\", \"line-chart\", \"dashboard\" ]\n }, {\n title: \"fas fa-chart-pie\",\n searchTerms: [ \"graph\", \"analytics\", \"pie-chart\" ]\n }, {\n title: \"fas fa-check\",\n searchTerms: [ \"checkmark\", \"done\", \"todo\", \"agree\", \"accept\", \"confirm\", \"tick\", \"ok\", \"select\" ]\n }, {\n title: \"fas fa-check-circle\",\n searchTerms: [ \"todo\", \"done\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"far fa-check-circle\",\n searchTerms: [ \"todo\", \"done\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"fas fa-check-square\",\n searchTerms: [ \"checkmark\", \"done\", \"todo\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"far fa-check-square\",\n searchTerms: [ \"checkmark\", \"done\", \"todo\", \"agree\", \"accept\", \"confirm\", \"ok\", \"select\" ]\n }, {\n title: \"fas fa-chess\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-bishop\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-board\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-king\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-knight\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-pawn\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-queen\",\n searchTerms: []\n }, {\n title: \"fas fa-chess-rook\",\n searchTerms: []\n }, {\n title: \"fas fa-chevron-circle-down\",\n searchTerms: [ \"more\", \"dropdown\", \"menu\", \"arrow\" ]\n }, {\n title: \"fas fa-chevron-circle-left\",\n searchTerms: [ \"previous\", \"back\", \"arrow\" ]\n }, {\n title: \"fas fa-chevron-circle-right\",\n searchTerms: [ \"next\", \"forward\", \"arrow\" ]\n }, {\n title: \"fas fa-chevron-circle-up\",\n searchTerms: [ \"arrow\" ]\n }, {\n title: \"fas fa-chevron-down\",\n searchTerms: []\n }, {\n title: \"fas fa-chevron-left\",\n searchTerms: [ \"bracket\", \"previous\", \"back\" ]\n }, {\n title: \"fas fa-chevron-right\",\n searchTerms: [ \"bracket\", \"next\", \"forward\" ]\n }, {\n title: \"fas fa-chevron-up\",\n searchTerms: []\n }, {\n title: \"fas fa-child\",\n searchTerms: []\n }, {\n title: \"fab fa-chrome\",\n searchTerms: [ \"browser\" ]\n }, {\n title: \"fas fa-circle\",\n searchTerms: [ \"dot\", \"notification\", \"circle-thin\" ]\n }, {\n title: \"far fa-circle\",\n searchTerms: [ \"dot\", \"notification\", \"circle-thin\" ]\n }, {\n title: \"fas fa-circle-notch\",\n searchTerms: [ \"circle-o-notch\" ]\n }, {\n title: \"fas fa-clipboard\",\n searchTerms: [ \"paste\" ]\n }, {\n title: \"far fa-clipboard\",\n searchTerms: [ \"paste\" ]\n }, {\n title: \"fas fa-clipboard-check\",\n searchTerms: []\n }, {\n title: \"fas fa-clipboard-list\",\n searchTerms: []\n }, {\n title: \"fas fa-clock\",\n searchTerms: [ \"watch\", \"timer\", \"late\", \"timestamp\", \"date\" ]\n }, {\n title: \"far fa-clock\",\n searchTerms: [ \"watch\", \"timer\", \"late\", \"timestamp\", \"date\" ]\n }, {\n title: \"fas fa-clone\",\n searchTerms: [ \"copy\" ]\n }, {\n title: \"far fa-clone\",\n searchTerms: [ \"copy\" ]\n }, {\n title: \"fas fa-closed-captioning\",\n searchTerms: [ \"cc\" ]\n }, {\n title: \"far fa-closed-captioning\",\n searchTerms: [ \"cc\" ]\n }, {\n title: \"fas fa-cloud\",\n searchTerms: [ \"save\" ]\n }, {\n title: \"fas fa-cloud-download-alt\",\n searchTerms: [ \"cloud-download\" ]\n }, {\n title: \"fas fa-cloud-upload-alt\",\n searchTerms: [ \"cloud-upload\" ]\n }, {\n title: \"fab fa-cloudscale\",\n searchTerms: []\n }, {\n title: \"fab fa-cloudsmith\",\n searchTerms: []\n }, {\n title: \"fab fa-cloudversify\",\n searchTerms: []\n }, {\n title: \"fas fa-code\",\n searchTerms: [ \"html\", \"brackets\" ]\n }, {\n title: \"fas fa-code-branch\",\n searchTerms: [ \"git\", \"fork\", \"vcs\", \"svn\", \"github\", \"rebase\", \"version\", \"branch\", \"code-fork\" ]\n }, {\n title: \"fab fa-codepen\",\n searchTerms: []\n }, {\n title: \"fab fa-codiepie\",\n searchTerms: []\n }, {\n title: \"fas fa-coffee\",\n searchTerms: [ \"morning\", \"mug\", \"breakfast\", \"tea\", \"drink\", \"cafe\" ]\n }, {\n title: \"fas fa-cog\",\n searchTerms: [ \"settings\" ]\n }, {\n title: \"fas fa-cogs\",\n searchTerms: [ \"settings\", \"gears\" ]\n }, {\n title: \"fas fa-columns\",\n searchTerms: [ \"split\", \"panes\", \"dashboard\" ]\n }, {\n title: \"fas fa-comment\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"far fa-comment\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"fas fa-comment-alt\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\", \"commenting\", \"commenting\" ]\n }, {\n title: \"far fa-comment-alt\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\", \"commenting\", \"commenting\" ]\n }, {\n title: \"fas fa-comments\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"far fa-comments\",\n searchTerms: [ \"speech\", \"notification\", \"note\", \"chat\", \"bubble\", \"feedback\", \"message\", \"texting\", \"sms\", \"conversation\" ]\n }, {\n title: \"fas fa-compass\",\n searchTerms: [ \"safari\", \"directory\", \"menu\", \"location\" ]\n }, {\n title: \"far fa-compass\",\n searchTerms: [ \"safari\", \"directory\", \"menu\", \"location\" ]\n }, {\n title: \"fas fa-compress\",\n searchTerms: [ \"collapse\", \"combine\", \"contract\", \"merge\", \"smaller\" ]\n }, {\n title: \"fab fa-connectdevelop\",\n searchTerms: []\n }, {\n title: \"fab fa-contao\",\n searchTerms: []\n }, {\n title: \"fas fa-copy\",\n searchTerms: [ \"duplicate\", \"clone\", \"file\", \"files-o\" ]\n }, {\n title: \"far fa-copy\",\n searchTerms: [ \"duplicate\", \"clone\", \"file\", \"files-o\" ]\n }, {\n title: \"fas fa-copyright\",\n searchTerms: []\n }, {\n title: \"far fa-copyright\",\n searchTerms: []\n }, {\n title: \"fab fa-cpanel\",\n searchTerms: []\n }, {\n title: \"fab fa-creative-commons\",\n searchTerms: []\n }, {\n title: \"fas fa-credit-card\",\n searchTerms: [ \"money\", \"buy\", \"debit\", \"checkout\", \"purchase\", \"payment\", \"credit-card-alt\" ]\n }, {\n title: \"far fa-credit-card\",\n searchTerms: [ \"money\", \"buy\", \"debit\", \"checkout\", \"purchase\", \"payment\", \"credit-card-alt\" ]\n }, {\n title: \"fas fa-crop\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"fas fa-crosshairs\",\n searchTerms: [ \"picker\", \"gpd\" ]\n }, {\n title: \"fab fa-css3\",\n searchTerms: [ \"code\" ]\n }, {\n title: \"fab fa-css3-alt\",\n searchTerms: []\n }, {\n title: \"fas fa-cube\",\n searchTerms: [ \"package\" ]\n }, {\n title: \"fas fa-cubes\",\n searchTerms: [ \"packages\" ]\n }, {\n title: \"fas fa-cut\",\n searchTerms: [ \"scissors\", \"scissors\" ]\n }, {\n title: \"fab fa-cuttlefish\",\n searchTerms: []\n }, {\n title: \"fab fa-d-and-d\",\n searchTerms: []\n }, {\n title: \"fab fa-dashcube\",\n searchTerms: []\n }, {\n title: \"fas fa-database\",\n searchTerms: []\n }, {\n title: \"fas fa-deaf\",\n searchTerms: []\n }, {\n title: \"fab fa-delicious\",\n searchTerms: []\n }, {\n title: \"fab fa-deploydog\",\n searchTerms: []\n }, {\n title: \"fab fa-deskpro\",\n searchTerms: []\n }, {\n title: \"fas fa-desktop\",\n searchTerms: [ \"monitor\", \"screen\", \"desktop\", \"computer\", \"demo\", \"device\", \"pc\" ]\n }, {\n title: \"fab fa-deviantart\",\n searchTerms: []\n }, {\n title: \"fab fa-digg\",\n searchTerms: []\n }, {\n title: \"fab fa-digital-ocean\",\n searchTerms: []\n }, {\n title: \"fab fa-discord\",\n searchTerms: []\n }, {\n title: \"fab fa-discourse\",\n searchTerms: []\n }, {\n title: \"fas fa-dna\",\n searchTerms: [ \"double helix\", \"helix\" ]\n }, {\n title: \"fab fa-dochub\",\n searchTerms: []\n }, {\n title: \"fab fa-docker\",\n searchTerms: []\n }, {\n title: \"fas fa-dollar-sign\",\n searchTerms: [ \"usd\", \"price\" ]\n }, {\n title: \"fas fa-dolly\",\n searchTerms: []\n }, {\n title: \"fas fa-dolly-flatbed\",\n searchTerms: []\n }, {\n title: \"fas fa-dot-circle\",\n searchTerms: [ \"target\", \"bullseye\", \"notification\" ]\n }, {\n title: \"far fa-dot-circle\",\n searchTerms: [ \"target\", \"bullseye\", \"notification\" ]\n }, {\n title: \"fas fa-download\",\n searchTerms: [ \"import\" ]\n }, {\n title: \"fab fa-draft2digital\",\n searchTerms: []\n }, {\n title: \"fab fa-dribbble\",\n searchTerms: []\n }, {\n title: \"fab fa-dribbble-square\",\n searchTerms: []\n }, {\n title: \"fab fa-dropbox\",\n searchTerms: []\n }, {\n title: \"fab fa-drupal\",\n searchTerms: []\n }, {\n title: \"fab fa-dyalog\",\n searchTerms: []\n }, {\n title: \"fab fa-earlybirds\",\n searchTerms: []\n }, {\n title: \"fab fa-edge\",\n searchTerms: [ \"browser\", \"ie\" ]\n }, {\n title: \"fas fa-edit\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil\", \"pen\" ]\n }, {\n title: \"far fa-edit\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil\", \"pen\" ]\n }, {\n title: \"fas fa-eject\",\n searchTerms: []\n }, {\n title: \"fab fa-elementor\",\n searchTerms: []\n }, {\n title: \"fas fa-ellipsis-h\",\n searchTerms: [ \"dots\" ]\n }, {\n title: \"fas fa-ellipsis-v\",\n searchTerms: [ \"dots\" ]\n }, {\n title: \"fab fa-ember\",\n searchTerms: []\n }, {\n title: \"fab fa-empire\",\n searchTerms: []\n }, {\n title: \"fas fa-envelope\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"far fa-envelope\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"fas fa-envelope-open\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"far fa-envelope-open\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"fas fa-envelope-square\",\n searchTerms: [ \"email\", \"e-mail\", \"letter\", \"support\", \"mail\", \"message\", \"notification\" ]\n }, {\n title: \"fab fa-envira\",\n searchTerms: [ \"leaf\" ]\n }, {\n title: \"fas fa-eraser\",\n searchTerms: [ \"remove\", \"delete\" ]\n }, {\n title: \"fab fa-erlang\",\n searchTerms: []\n }, {\n title: \"fab fa-ethereum\",\n searchTerms: []\n }, {\n title: \"fab fa-etsy\",\n searchTerms: []\n }, {\n title: \"fas fa-euro-sign\",\n searchTerms: [ \"eur\", \"eur\" ]\n }, {\n title: \"fas fa-exchange-alt\",\n searchTerms: [ \"transfer\", \"arrows\", \"arrow\", \"exchange\", \"swap\" ]\n }, {\n title: \"fas fa-exclamation\",\n searchTerms: [ \"warning\", \"error\", \"problem\", \"notification\", \"notify\", \"alert\", \"danger\" ]\n }, {\n title: \"fas fa-exclamation-circle\",\n searchTerms: [ \"warning\", \"error\", \"problem\", \"notification\", \"notify\", \"alert\", \"danger\" ]\n }, {\n title: \"fas fa-exclamation-triangle\",\n searchTerms: [ \"warning\", \"error\", \"problem\", \"notification\", \"notify\", \"alert\", \"danger\" ]\n }, {\n title: \"fas fa-expand\",\n searchTerms: [ \"enlarge\", \"bigger\", \"resize\" ]\n }, {\n title: \"fas fa-expand-arrows-alt\",\n searchTerms: [ \"enlarge\", \"bigger\", \"resize\", \"move\", \"arrows-alt\" ]\n }, {\n title: \"fab fa-expeditedssl\",\n searchTerms: []\n }, {\n title: \"fas fa-external-link-alt\",\n searchTerms: [ \"open\", \"new\", \"external-link\" ]\n }, {\n title: \"fas fa-external-link-square-alt\",\n searchTerms: [ \"open\", \"new\", \"external-link-square\" ]\n }, {\n title: \"fas fa-eye\",\n searchTerms: [ \"show\", \"visible\", \"views\" ]\n }, {\n title: \"fas fa-eye-dropper\",\n searchTerms: [ \"eyedropper\" ]\n }, {\n title: \"fas fa-eye-slash\",\n searchTerms: [ \"toggle\", \"show\", \"hide\", \"visible\", \"visiblity\", \"views\" ]\n }, {\n title: \"far fa-eye-slash\",\n searchTerms: [ \"toggle\", \"show\", \"hide\", \"visible\", \"visiblity\", \"views\" ]\n }, {\n title: \"fab fa-facebook\",\n searchTerms: [ \"social network\", \"facebook-official\" ]\n }, {\n title: \"fab fa-facebook-f\",\n searchTerms: [ \"facebook\" ]\n }, {\n title: \"fab fa-facebook-messenger\",\n searchTerms: []\n }, {\n title: \"fab fa-facebook-square\",\n searchTerms: [ \"social network\" ]\n }, {\n title: \"fas fa-fast-backward\",\n searchTerms: [ \"rewind\", \"previous\", \"beginning\", \"start\", \"first\" ]\n }, {\n title: \"fas fa-fast-forward\",\n searchTerms: [ \"next\", \"end\", \"last\" ]\n }, {\n title: \"fas fa-fax\",\n searchTerms: []\n }, {\n title: \"fas fa-female\",\n searchTerms: [ \"woman\", \"human\", \"user\", \"person\", \"profile\" ]\n }, {\n title: \"fas fa-fighter-jet\",\n searchTerms: [ \"fly\", \"plane\", \"airplane\", \"quick\", \"fast\", \"travel\" ]\n }, {\n title: \"fas fa-file\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\" ]\n }, {\n title: \"far fa-file\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\" ]\n }, {\n title: \"fas fa-file-alt\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\", \"file-text\" ]\n }, {\n title: \"far fa-file-alt\",\n searchTerms: [ \"new\", \"page\", \"pdf\", \"document\", \"file-text\" ]\n }, {\n title: \"fas fa-file-archive\",\n searchTerms: []\n }, {\n title: \"far fa-file-archive\",\n searchTerms: []\n }, {\n title: \"fas fa-file-audio\",\n searchTerms: []\n }, {\n title: \"far fa-file-audio\",\n searchTerms: []\n }, {\n title: \"fas fa-file-code\",\n searchTerms: []\n }, {\n title: \"far fa-file-code\",\n searchTerms: []\n }, {\n title: \"fas fa-file-excel\",\n searchTerms: []\n }, {\n title: \"far fa-file-excel\",\n searchTerms: []\n }, {\n title: \"fas fa-file-image\",\n searchTerms: []\n }, {\n title: \"far fa-file-image\",\n searchTerms: []\n }, {\n title: \"fas fa-file-pdf\",\n searchTerms: []\n }, {\n title: \"far fa-file-pdf\",\n searchTerms: []\n }, {\n title: \"fas fa-file-powerpoint\",\n searchTerms: []\n }, {\n title: \"far fa-file-powerpoint\",\n searchTerms: []\n }, {\n title: \"fas fa-file-video\",\n searchTerms: []\n }, {\n title: \"far fa-file-video\",\n searchTerms: []\n }, {\n title: \"fas fa-file-word\",\n searchTerms: []\n }, {\n title: \"far fa-file-word\",\n searchTerms: []\n }, {\n title: \"fas fa-film\",\n searchTerms: [ \"movie\" ]\n }, {\n title: \"fas fa-filter\",\n searchTerms: [ \"funnel\", \"options\" ]\n }, {\n title: \"fas fa-fire\",\n searchTerms: [ \"flame\", \"hot\", \"popular\" ]\n }, {\n title: \"fas fa-fire-extinguisher\",\n searchTerms: []\n }, {\n title: \"fab fa-firefox\",\n searchTerms: [ \"browser\" ]\n }, {\n title: \"fas fa-first-aid\",\n searchTerms: []\n }, {\n title: \"fab fa-first-order\",\n searchTerms: []\n }, {\n title: \"fab fa-firstdraft\",\n searchTerms: []\n }, {\n title: \"fas fa-flag\",\n searchTerms: [ \"report\", \"notification\", \"notify\" ]\n }, {\n title: \"far fa-flag\",\n searchTerms: [ \"report\", \"notification\", \"notify\" ]\n }, {\n title: \"fas fa-flag-checkered\",\n searchTerms: [ \"report\", \"notification\", \"notify\" ]\n }, {\n title: \"fas fa-flask\",\n searchTerms: [ \"science\", \"beaker\", \"experimental\", \"labs\" ]\n }, {\n title: \"fab fa-flickr\",\n searchTerms: []\n }, {\n title: \"fab fa-flipboard\",\n searchTerms: []\n }, {\n title: \"fab fa-fly\",\n searchTerms: []\n }, {\n title: \"fas fa-folder\",\n searchTerms: []\n }, {\n title: \"far fa-folder\",\n searchTerms: []\n }, {\n title: \"fas fa-folder-open\",\n searchTerms: []\n }, {\n title: \"far fa-folder-open\",\n searchTerms: []\n }, {\n title: \"fas fa-font\",\n searchTerms: [ \"text\" ]\n }, {\n title: \"fab fa-font-awesome\",\n searchTerms: [ \"meanpath\" ]\n }, {\n title: \"fab fa-font-awesome-alt\",\n searchTerms: []\n }, {\n title: \"fab fa-font-awesome-flag\",\n searchTerms: []\n }, {\n title: \"fab fa-fonticons\",\n searchTerms: []\n }, {\n title: \"fab fa-fonticons-fi\",\n searchTerms: []\n }, {\n title: \"fas fa-football-ball\",\n searchTerms: []\n }, {\n title: \"fab fa-fort-awesome\",\n searchTerms: [ \"castle\" ]\n }, {\n title: \"fab fa-fort-awesome-alt\",\n searchTerms: [ \"castle\" ]\n }, {\n title: \"fab fa-forumbee\",\n searchTerms: []\n }, {\n title: \"fas fa-forward\",\n searchTerms: [ \"forward\", \"next\" ]\n }, {\n title: \"fab fa-foursquare\",\n searchTerms: []\n }, {\n title: \"fab fa-free-code-camp\",\n searchTerms: []\n }, {\n title: \"fab fa-freebsd\",\n searchTerms: []\n }, {\n title: \"fas fa-frown\",\n searchTerms: [ \"face\", \"emoticon\", \"sad\", \"disapprove\", \"rating\" ]\n }, {\n title: \"far fa-frown\",\n searchTerms: [ \"face\", \"emoticon\", \"sad\", \"disapprove\", \"rating\" ]\n }, {\n title: \"fas fa-futbol\",\n searchTerms: []\n }, {\n title: \"far fa-futbol\",\n searchTerms: []\n }, {\n title: \"fas fa-gamepad\",\n searchTerms: [ \"controller\" ]\n }, {\n title: \"fas fa-gavel\",\n searchTerms: [ \"judge\", \"lawyer\", \"opinion\", \"hammer\" ]\n }, {\n title: \"fas fa-gem\",\n searchTerms: [ \"diamond\" ]\n }, {\n title: \"far fa-gem\",\n searchTerms: [ \"diamond\" ]\n }, {\n title: \"fas fa-genderless\",\n searchTerms: []\n }, {\n title: \"fab fa-get-pocket\",\n searchTerms: []\n }, {\n title: \"fab fa-gg\",\n searchTerms: []\n }, {\n title: \"fab fa-gg-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-gift\",\n searchTerms: [ \"present\" ]\n }, {\n title: \"fab fa-git\",\n searchTerms: []\n }, {\n title: \"fab fa-git-square\",\n searchTerms: []\n }, {\n title: \"fab fa-github\",\n searchTerms: [ \"octocat\" ]\n }, {\n title: \"fab fa-github-alt\",\n searchTerms: [ \"octocat\" ]\n }, {\n title: \"fab fa-github-square\",\n searchTerms: [ \"octocat\" ]\n }, {\n title: \"fab fa-gitkraken\",\n searchTerms: []\n }, {\n title: \"fab fa-gitlab\",\n searchTerms: [ \"Axosoft\" ]\n }, {\n title: \"fab fa-gitter\",\n searchTerms: []\n }, {\n title: \"fas fa-glass-martini\",\n searchTerms: [ \"martini\", \"drink\", \"bar\", \"alcohol\", \"liquor\", \"glass\" ]\n }, {\n title: \"fab fa-glide\",\n searchTerms: []\n }, {\n title: \"fab fa-glide-g\",\n searchTerms: []\n }, {\n title: \"fas fa-globe\",\n searchTerms: [ \"world\", \"planet\", \"map\", \"place\", \"travel\", \"earth\", \"global\", \"translate\", \"all\", \"language\", \"localize\", \"location\", \"coordinates\", \"country\", \"gps\" ]\n }, {\n title: \"fab fa-gofore\",\n searchTerms: []\n }, {\n title: \"fas fa-golf-ball\",\n searchTerms: []\n }, {\n title: \"fab fa-goodreads\",\n searchTerms: []\n }, {\n title: \"fab fa-goodreads-g\",\n searchTerms: []\n }, {\n title: \"fab fa-google\",\n searchTerms: []\n }, {\n title: \"fab fa-google-drive\",\n searchTerms: []\n }, {\n title: \"fab fa-google-play\",\n searchTerms: []\n }, {\n title: \"fab fa-google-plus\",\n searchTerms: [ \"google-plus-circle\", \"google-plus-official\" ]\n }, {\n title: \"fab fa-google-plus-g\",\n searchTerms: [ \"social network\", \"google-plus\" ]\n }, {\n title: \"fab fa-google-plus-square\",\n searchTerms: [ \"social network\" ]\n }, {\n title: \"fab fa-google-wallet\",\n searchTerms: []\n }, {\n title: \"fas fa-graduation-cap\",\n searchTerms: [ \"learning\", \"school\", \"student\" ]\n }, {\n title: \"fab fa-gratipay\",\n searchTerms: [ \"heart\", \"like\", \"favorite\", \"love\" ]\n }, {\n title: \"fab fa-grav\",\n searchTerms: []\n }, {\n title: \"fab fa-gripfire\",\n searchTerms: []\n }, {\n title: \"fab fa-grunt\",\n searchTerms: []\n }, {\n title: \"fab fa-gulp\",\n searchTerms: []\n }, {\n title: \"fas fa-h-square\",\n searchTerms: [ \"hospital\", \"hotel\" ]\n }, {\n title: \"fab fa-hacker-news\",\n searchTerms: []\n }, {\n title: \"fab fa-hacker-news-square\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-lizard\",\n searchTerms: []\n }, {\n title: \"far fa-hand-lizard\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-paper\",\n searchTerms: [ \"stop\" ]\n }, {\n title: \"far fa-hand-paper\",\n searchTerms: [ \"stop\" ]\n }, {\n title: \"fas fa-hand-peace\",\n searchTerms: []\n }, {\n title: \"far fa-hand-peace\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-point-down\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-down\" ]\n }, {\n title: \"far fa-hand-point-down\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-down\" ]\n }, {\n title: \"fas fa-hand-point-left\",\n searchTerms: [ \"point\", \"left\", \"previous\", \"back\", \"finger\", \"hand-o-left\" ]\n }, {\n title: \"far fa-hand-point-left\",\n searchTerms: [ \"point\", \"left\", \"previous\", \"back\", \"finger\", \"hand-o-left\" ]\n }, {\n title: \"fas fa-hand-point-right\",\n searchTerms: [ \"point\", \"right\", \"next\", \"forward\", \"finger\", \"hand-o-right\" ]\n }, {\n title: \"far fa-hand-point-right\",\n searchTerms: [ \"point\", \"right\", \"next\", \"forward\", \"finger\", \"hand-o-right\" ]\n }, {\n title: \"fas fa-hand-point-up\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-up\" ]\n }, {\n title: \"far fa-hand-point-up\",\n searchTerms: [ \"point\", \"finger\", \"hand-o-up\" ]\n }, {\n title: \"fas fa-hand-pointer\",\n searchTerms: [ \"select\" ]\n }, {\n title: \"far fa-hand-pointer\",\n searchTerms: [ \"select\" ]\n }, {\n title: \"fas fa-hand-rock\",\n searchTerms: []\n }, {\n title: \"far fa-hand-rock\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-scissors\",\n searchTerms: []\n }, {\n title: \"far fa-hand-scissors\",\n searchTerms: []\n }, {\n title: \"fas fa-hand-spock\",\n searchTerms: []\n }, {\n title: \"far fa-hand-spock\",\n searchTerms: []\n }, {\n title: \"fas fa-handshake\",\n searchTerms: []\n }, {\n title: \"far fa-handshake\",\n searchTerms: []\n }, {\n title: \"fas fa-hashtag\",\n searchTerms: []\n }, {\n title: \"fas fa-hdd\",\n searchTerms: [ \"harddrive\", \"hard drive\", \"storage\", \"save\" ]\n }, {\n title: \"far fa-hdd\",\n searchTerms: [ \"harddrive\", \"hard drive\", \"storage\", \"save\" ]\n }, {\n title: \"fas fa-heading\",\n searchTerms: [ \"header\", \"header\" ]\n }, {\n title: \"fas fa-headphones\",\n searchTerms: [ \"sound\", \"listen\", \"music\", \"audio\" ]\n }, {\n title: \"fas fa-heart\",\n searchTerms: [ \"love\", \"like\", \"favorite\" ]\n }, {\n title: \"far fa-heart\",\n searchTerms: [ \"love\", \"like\", \"favorite\" ]\n }, {\n title: \"fas fa-heartbeat\",\n searchTerms: [ \"ekg\", \"vital signs\" ]\n }, {\n title: \"fab fa-hips\",\n searchTerms: []\n }, {\n title: \"fab fa-hire-a-helper\",\n searchTerms: []\n }, {\n title: \"fas fa-history\",\n searchTerms: []\n }, {\n title: \"fas fa-hockey-puck\",\n searchTerms: []\n }, {\n title: \"fas fa-home\",\n searchTerms: [ \"main\", \"house\" ]\n }, {\n title: \"fab fa-hooli\",\n searchTerms: []\n }, {\n title: \"fas fa-hospital\",\n searchTerms: [ \"building\", \"medical center\", \"emergency room\" ]\n }, {\n title: \"far fa-hospital\",\n searchTerms: [ \"building\", \"medical center\", \"emergency room\" ]\n }, {\n title: \"fas fa-hospital-symbol\",\n searchTerms: []\n }, {\n title: \"fab fa-hotjar\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass\",\n searchTerms: []\n }, {\n title: \"far fa-hourglass\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass-end\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass-half\",\n searchTerms: []\n }, {\n title: \"fas fa-hourglass-start\",\n searchTerms: []\n }, {\n title: \"fab fa-houzz\",\n searchTerms: []\n }, {\n title: \"fab fa-html5\",\n searchTerms: []\n }, {\n title: \"fab fa-hubspot\",\n searchTerms: []\n }, {\n title: \"fas fa-i-cursor\",\n searchTerms: []\n }, {\n title: \"fas fa-id-badge\",\n searchTerms: []\n }, {\n title: \"far fa-id-badge\",\n searchTerms: []\n }, {\n title: \"fas fa-id-card\",\n searchTerms: []\n }, {\n title: \"far fa-id-card\",\n searchTerms: []\n }, {\n title: \"fas fa-image\",\n searchTerms: [ \"photo\", \"album\", \"picture\", \"picture\" ]\n }, {\n title: \"far fa-image\",\n searchTerms: [ \"photo\", \"album\", \"picture\", \"picture\" ]\n }, {\n title: \"fas fa-images\",\n searchTerms: [ \"photo\", \"album\", \"picture\" ]\n }, {\n title: \"far fa-images\",\n searchTerms: [ \"photo\", \"album\", \"picture\" ]\n }, {\n title: \"fab fa-imdb\",\n searchTerms: []\n }, {\n title: \"fas fa-inbox\",\n searchTerms: []\n }, {\n title: \"fas fa-indent\",\n searchTerms: []\n }, {\n title: \"fas fa-industry\",\n searchTerms: [ \"factory\" ]\n }, {\n title: \"fas fa-info\",\n searchTerms: [ \"help\", \"information\", \"more\", \"details\" ]\n }, {\n title: \"fas fa-info-circle\",\n searchTerms: [ \"help\", \"information\", \"more\", \"details\" ]\n }, {\n title: \"fab fa-instagram\",\n searchTerms: []\n }, {\n title: \"fab fa-internet-explorer\",\n searchTerms: [ \"browser\", \"ie\" ]\n }, {\n title: \"fab fa-ioxhost\",\n searchTerms: []\n }, {\n title: \"fas fa-italic\",\n searchTerms: [ \"italics\" ]\n }, {\n title: \"fab fa-itunes\",\n searchTerms: []\n }, {\n title: \"fab fa-itunes-note\",\n searchTerms: []\n }, {\n title: \"fab fa-jenkins\",\n searchTerms: []\n }, {\n title: \"fab fa-joget\",\n searchTerms: []\n }, {\n title: \"fab fa-joomla\",\n searchTerms: []\n }, {\n title: \"fab fa-js\",\n searchTerms: []\n }, {\n title: \"fab fa-js-square\",\n searchTerms: []\n }, {\n title: \"fab fa-jsfiddle\",\n searchTerms: []\n }, {\n title: \"fas fa-key\",\n searchTerms: [ \"unlock\", \"password\" ]\n }, {\n title: \"fas fa-keyboard\",\n searchTerms: [ \"type\", \"input\" ]\n }, {\n title: \"far fa-keyboard\",\n searchTerms: [ \"type\", \"input\" ]\n }, {\n title: \"fab fa-keycdn\",\n searchTerms: []\n }, {\n title: \"fab fa-kickstarter\",\n searchTerms: []\n }, {\n title: \"fab fa-kickstarter-k\",\n searchTerms: []\n }, {\n title: \"fab fa-korvue\",\n searchTerms: []\n }, {\n title: \"fas fa-language\",\n searchTerms: []\n }, {\n title: \"fas fa-laptop\",\n searchTerms: [ \"demo\", \"computer\", \"device\", \"pc\" ]\n }, {\n title: \"fab fa-laravel\",\n searchTerms: []\n }, {\n title: \"fab fa-lastfm\",\n searchTerms: []\n }, {\n title: \"fab fa-lastfm-square\",\n searchTerms: []\n }, {\n title: \"fas fa-leaf\",\n searchTerms: [ \"eco\", \"nature\", \"plant\" ]\n }, {\n title: \"fab fa-leanpub\",\n searchTerms: []\n }, {\n title: \"fas fa-lemon\",\n searchTerms: [ \"food\" ]\n }, {\n title: \"far fa-lemon\",\n searchTerms: [ \"food\" ]\n }, {\n title: \"fab fa-less\",\n searchTerms: []\n }, {\n title: \"fas fa-level-down-alt\",\n searchTerms: [ \"level-down\" ]\n }, {\n title: \"fas fa-level-up-alt\",\n searchTerms: [ \"level-up\" ]\n }, {\n title: \"fas fa-life-ring\",\n searchTerms: [ \"support\" ]\n }, {\n title: \"far fa-life-ring\",\n searchTerms: [ \"support\" ]\n }, {\n title: \"fas fa-lightbulb\",\n searchTerms: [ \"idea\", \"inspiration\" ]\n }, {\n title: \"far fa-lightbulb\",\n searchTerms: [ \"idea\", \"inspiration\" ]\n }, {\n title: \"fab fa-line\",\n searchTerms: []\n }, {\n title: \"fas fa-link\",\n searchTerms: [ \"chain\" ]\n }, {\n title: \"fab fa-linkedin\",\n searchTerms: [ \"linkedin-square\" ]\n }, {\n title: \"fab fa-linkedin-in\",\n searchTerms: [ \"linkedin\" ]\n }, {\n title: \"fab fa-linode\",\n searchTerms: []\n }, {\n title: \"fab fa-linux\",\n searchTerms: [ \"tux\" ]\n }, {\n title: \"fas fa-lira-sign\",\n searchTerms: [ \"try\", \"turkish\", \"try\" ]\n }, {\n title: \"fas fa-list\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"fas fa-list-alt\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"far fa-list-alt\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"fas fa-list-ol\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"list\", \"todo\", \"list\", \"numbers\" ]\n }, {\n title: \"fas fa-list-ul\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"todo\", \"list\" ]\n }, {\n title: \"fas fa-location-arrow\",\n searchTerms: [ \"map\", \"coordinates\", \"location\", \"address\", \"place\", \"where\", \"gps\" ]\n }, {\n title: \"fas fa-lock\",\n searchTerms: [ \"protect\", \"admin\", \"security\" ]\n }, {\n title: \"fas fa-lock-open\",\n searchTerms: [ \"protect\", \"admin\", \"password\", \"lock\", \"open\" ]\n }, {\n title: \"fas fa-long-arrow-alt-down\",\n searchTerms: [ \"long-arrow-down\" ]\n }, {\n title: \"fas fa-long-arrow-alt-left\",\n searchTerms: [ \"previous\", \"back\", \"long-arrow-left\" ]\n }, {\n title: \"fas fa-long-arrow-alt-right\",\n searchTerms: [ \"long-arrow-right\" ]\n }, {\n title: \"fas fa-long-arrow-alt-up\",\n searchTerms: [ \"long-arrow-up\" ]\n }, {\n title: \"fas fa-low-vision\",\n searchTerms: []\n }, {\n title: \"fab fa-lyft\",\n searchTerms: []\n }, {\n title: \"fab fa-magento\",\n searchTerms: []\n }, {\n title: \"fas fa-magic\",\n searchTerms: [ \"wizard\", \"automatic\", \"autocomplete\" ]\n }, {\n title: \"fas fa-magnet\",\n searchTerms: []\n }, {\n title: \"fas fa-male\",\n searchTerms: [ \"man\", \"human\", \"user\", \"person\", \"profile\" ]\n }, {\n title: \"fas fa-map\",\n searchTerms: []\n }, {\n title: \"far fa-map\",\n searchTerms: []\n }, {\n title: \"fas fa-map-marker\",\n searchTerms: [ \"map\", \"pin\", \"location\", \"coordinates\", \"localize\", \"address\", \"travel\", \"where\", \"place\", \"gps\" ]\n }, {\n title: \"fas fa-map-marker-alt\",\n searchTerms: [ \"map-marker\", \"gps\" ]\n }, {\n title: \"fas fa-map-pin\",\n searchTerms: []\n }, {\n title: \"fas fa-map-signs\",\n searchTerms: []\n }, {\n title: \"fas fa-mars\",\n searchTerms: [ \"male\" ]\n }, {\n title: \"fas fa-mars-double\",\n searchTerms: []\n }, {\n title: \"fas fa-mars-stroke\",\n searchTerms: []\n }, {\n title: \"fas fa-mars-stroke-h\",\n searchTerms: []\n }, {\n title: \"fas fa-mars-stroke-v\",\n searchTerms: []\n }, {\n title: \"fab fa-maxcdn\",\n searchTerms: []\n }, {\n title: \"fab fa-medapps\",\n searchTerms: []\n }, {\n title: \"fab fa-medium\",\n searchTerms: []\n }, {\n title: \"fab fa-medium-m\",\n searchTerms: []\n }, {\n title: \"fas fa-medkit\",\n searchTerms: [ \"first aid\", \"firstaid\", \"help\", \"support\", \"health\" ]\n }, {\n title: \"fab fa-medrt\",\n searchTerms: []\n }, {\n title: \"fab fa-meetup\",\n searchTerms: []\n }, {\n title: \"fas fa-meh\",\n searchTerms: [ \"face\", \"emoticon\", \"rating\", \"neutral\" ]\n }, {\n title: \"far fa-meh\",\n searchTerms: [ \"face\", \"emoticon\", \"rating\", \"neutral\" ]\n }, {\n title: \"fas fa-mercury\",\n searchTerms: [ \"transgender\" ]\n }, {\n title: \"fas fa-microchip\",\n searchTerms: []\n }, {\n title: \"fas fa-microphone\",\n searchTerms: [ \"record\", \"voice\", \"sound\" ]\n }, {\n title: \"fas fa-microphone-slash\",\n searchTerms: [ \"record\", \"voice\", \"sound\", \"mute\" ]\n }, {\n title: \"fab fa-microsoft\",\n searchTerms: []\n }, {\n title: \"fas fa-minus\",\n searchTerms: [ \"hide\", \"minify\", \"delete\", \"remove\", \"trash\", \"hide\", \"collapse\" ]\n }, {\n title: \"fas fa-minus-circle\",\n searchTerms: [ \"delete\", \"remove\", \"trash\", \"hide\" ]\n }, {\n title: \"fas fa-minus-square\",\n searchTerms: [ \"hide\", \"minify\", \"delete\", \"remove\", \"trash\", \"hide\", \"collapse\" ]\n }, {\n title: \"far fa-minus-square\",\n searchTerms: [ \"hide\", \"minify\", \"delete\", \"remove\", \"trash\", \"hide\", \"collapse\" ]\n }, {\n title: \"fab fa-mix\",\n searchTerms: []\n }, {\n title: \"fab fa-mixcloud\",\n searchTerms: []\n }, {\n title: \"fab fa-mizuni\",\n searchTerms: []\n }, {\n title: \"fas fa-mobile\",\n searchTerms: [ \"cell phone\", \"cellphone\", \"text\", \"call\", \"iphone\", \"number\", \"telephone\" ]\n }, {\n title: \"fas fa-mobile-alt\",\n searchTerms: [ \"mobile\" ]\n }, {\n title: \"fab fa-modx\",\n searchTerms: []\n }, {\n title: \"fab fa-monero\",\n searchTerms: []\n }, {\n title: \"fas fa-money-bill-alt\",\n searchTerms: [ \"cash\", \"money\", \"buy\", \"checkout\", \"purchase\", \"payment\", \"price\" ]\n }, {\n title: \"far fa-money-bill-alt\",\n searchTerms: [ \"cash\", \"money\", \"buy\", \"checkout\", \"purchase\", \"payment\", \"price\" ]\n }, {\n title: \"fas fa-moon\",\n searchTerms: [ \"night\", \"darker\", \"contrast\" ]\n }, {\n title: \"far fa-moon\",\n searchTerms: [ \"night\", \"darker\", \"contrast\" ]\n }, {\n title: \"fas fa-motorcycle\",\n searchTerms: [ \"vehicle\", \"bike\" ]\n }, {\n title: \"fas fa-mouse-pointer\",\n searchTerms: [ \"select\" ]\n }, {\n title: \"fas fa-music\",\n searchTerms: [ \"note\", \"sound\" ]\n }, {\n title: \"fab fa-napster\",\n searchTerms: []\n }, {\n title: \"fas fa-neuter\",\n searchTerms: []\n }, {\n title: \"fas fa-newspaper\",\n searchTerms: [ \"press\", \"article\" ]\n }, {\n title: \"far fa-newspaper\",\n searchTerms: [ \"press\", \"article\" ]\n }, {\n title: \"fab fa-nintendo-switch\",\n searchTerms: []\n }, {\n title: \"fab fa-node\",\n searchTerms: []\n }, {\n title: \"fab fa-node-js\",\n searchTerms: []\n }, {\n title: \"fab fa-npm\",\n searchTerms: []\n }, {\n title: \"fab fa-ns8\",\n searchTerms: []\n }, {\n title: \"fab fa-nutritionix\",\n searchTerms: []\n }, {\n title: \"fas fa-object-group\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"far fa-object-group\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"fas fa-object-ungroup\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"far fa-object-ungroup\",\n searchTerms: [ \"design\" ]\n }, {\n title: \"fab fa-odnoklassniki\",\n searchTerms: []\n }, {\n title: \"fab fa-odnoklassniki-square\",\n searchTerms: []\n }, {\n title: \"fab fa-opencart\",\n searchTerms: []\n }, {\n title: \"fab fa-openid\",\n searchTerms: []\n }, {\n title: \"fab fa-opera\",\n searchTerms: []\n }, {\n title: \"fab fa-optin-monster\",\n searchTerms: []\n }, {\n title: \"fab fa-osi\",\n searchTerms: []\n }, {\n title: \"fas fa-outdent\",\n searchTerms: []\n }, {\n title: \"fab fa-page4\",\n searchTerms: []\n }, {\n title: \"fab fa-pagelines\",\n searchTerms: [ \"leaf\", \"leaves\", \"tree\", \"plant\", \"eco\", \"nature\" ]\n }, {\n title: \"fas fa-paint-brush\",\n searchTerms: []\n }, {\n title: \"fab fa-palfed\",\n searchTerms: []\n }, {\n title: \"fas fa-pallet\",\n searchTerms: []\n }, {\n title: \"fas fa-paper-plane\",\n searchTerms: []\n }, {\n title: \"far fa-paper-plane\",\n searchTerms: []\n }, {\n title: \"fas fa-paperclip\",\n searchTerms: [ \"attachment\" ]\n }, {\n title: \"fas fa-paragraph\",\n searchTerms: []\n }, {\n title: \"fas fa-paste\",\n searchTerms: [ \"copy\", \"clipboard\" ]\n }, {\n title: \"fab fa-patreon\",\n searchTerms: []\n }, {\n title: \"fas fa-pause\",\n searchTerms: [ \"wait\" ]\n }, {\n title: \"fas fa-pause-circle\",\n searchTerms: []\n }, {\n title: \"far fa-pause-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-paw\",\n searchTerms: [ \"pet\" ]\n }, {\n title: \"fab fa-paypal\",\n searchTerms: []\n }, {\n title: \"fas fa-pen-square\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil-square\" ]\n }, {\n title: \"fas fa-pencil-alt\",\n searchTerms: [ \"write\", \"edit\", \"update\", \"pencil\", \"design\" ]\n }, {\n title: \"fas fa-percent\",\n searchTerms: []\n }, {\n title: \"fab fa-periscope\",\n searchTerms: []\n }, {\n title: \"fab fa-phabricator\",\n searchTerms: []\n }, {\n title: \"fab fa-phoenix-framework\",\n searchTerms: []\n }, {\n title: \"fas fa-phone\",\n searchTerms: [ \"call\", \"voice\", \"number\", \"support\", \"earphone\", \"telephone\" ]\n }, {\n title: \"fas fa-phone-square\",\n searchTerms: [ \"call\", \"voice\", \"number\", \"support\", \"telephone\" ]\n }, {\n title: \"fas fa-phone-volume\",\n searchTerms: [ \"telephone\", \"volume-control-phone\" ]\n }, {\n title: \"fab fa-php\",\n searchTerms: []\n }, {\n title: \"fab fa-pied-piper\",\n searchTerms: []\n }, {\n title: \"fab fa-pied-piper-alt\",\n searchTerms: []\n }, {\n title: \"fab fa-pied-piper-pp\",\n searchTerms: []\n }, {\n title: \"fas fa-pills\",\n searchTerms: [ \"medicine\", \"drugs\" ]\n }, {\n title: \"fab fa-pinterest\",\n searchTerms: []\n }, {\n title: \"fab fa-pinterest-p\",\n searchTerms: []\n }, {\n title: \"fab fa-pinterest-square\",\n searchTerms: []\n }, {\n title: \"fas fa-plane\",\n searchTerms: [ \"travel\", \"trip\", \"location\", \"destination\", \"airplane\", \"fly\", \"mode\" ]\n }, {\n title: \"fas fa-play\",\n searchTerms: [ \"start\", \"playing\", \"music\", \"sound\" ]\n }, {\n title: \"fas fa-play-circle\",\n searchTerms: [ \"start\", \"playing\" ]\n }, {\n title: \"far fa-play-circle\",\n searchTerms: [ \"start\", \"playing\" ]\n }, {\n title: \"fab fa-playstation\",\n searchTerms: []\n }, {\n title: \"fas fa-plug\",\n searchTerms: [ \"power\", \"connect\" ]\n }, {\n title: \"fas fa-plus\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"fas fa-plus-circle\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"fas fa-plus-square\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"far fa-plus-square\",\n searchTerms: [ \"add\", \"new\", \"create\", \"expand\" ]\n }, {\n title: \"fas fa-podcast\",\n searchTerms: []\n }, {\n title: \"fas fa-pound-sign\",\n searchTerms: [ \"gbp\", \"gbp\" ]\n }, {\n title: \"fas fa-power-off\",\n searchTerms: [ \"on\" ]\n }, {\n title: \"fas fa-print\",\n searchTerms: []\n }, {\n title: \"fab fa-product-hunt\",\n searchTerms: []\n }, {\n title: \"fab fa-pushed\",\n searchTerms: []\n }, {\n title: \"fas fa-puzzle-piece\",\n searchTerms: [ \"addon\", \"add-on\", \"section\" ]\n }, {\n title: \"fab fa-python\",\n searchTerms: []\n }, {\n title: \"fab fa-qq\",\n searchTerms: []\n }, {\n title: \"fas fa-qrcode\",\n searchTerms: [ \"scan\" ]\n }, {\n title: \"fas fa-question\",\n searchTerms: [ \"help\", \"information\", \"unknown\", \"support\" ]\n }, {\n title: \"fas fa-question-circle\",\n searchTerms: [ \"help\", \"information\", \"unknown\", \"support\" ]\n }, {\n title: \"far fa-question-circle\",\n searchTerms: [ \"help\", \"information\", \"unknown\", \"support\" ]\n }, {\n title: \"fas fa-quidditch\",\n searchTerms: []\n }, {\n title: \"fab fa-quinscape\",\n searchTerms: []\n }, {\n title: \"fab fa-quora\",\n searchTerms: []\n }, {\n title: \"fas fa-quote-left\",\n searchTerms: []\n }, {\n title: \"fas fa-quote-right\",\n searchTerms: []\n }, {\n title: \"fas fa-random\",\n searchTerms: [ \"sort\", \"shuffle\" ]\n }, {\n title: \"fab fa-ravelry\",\n searchTerms: []\n }, {\n title: \"fab fa-react\",\n searchTerms: []\n }, {\n title: \"fab fa-rebel\",\n searchTerms: []\n }, {\n title: \"fas fa-recycle\",\n searchTerms: []\n }, {\n title: \"fab fa-red-river\",\n searchTerms: []\n }, {\n title: \"fab fa-reddit\",\n searchTerms: []\n }, {\n title: \"fab fa-reddit-alien\",\n searchTerms: []\n }, {\n title: \"fab fa-reddit-square\",\n searchTerms: []\n }, {\n title: \"fas fa-redo\",\n searchTerms: [ \"forward\", \"repeat\", \"repeat\" ]\n }, {\n title: \"fas fa-redo-alt\",\n searchTerms: [ \"forward\", \"repeat\" ]\n }, {\n title: \"fas fa-registered\",\n searchTerms: []\n }, {\n title: \"far fa-registered\",\n searchTerms: []\n }, {\n title: \"fab fa-rendact\",\n searchTerms: []\n }, {\n title: \"fab fa-renren\",\n searchTerms: []\n }, {\n title: \"fas fa-reply\",\n searchTerms: []\n }, {\n title: \"fas fa-reply-all\",\n searchTerms: []\n }, {\n title: \"fab fa-replyd\",\n searchTerms: []\n }, {\n title: \"fab fa-resolving\",\n searchTerms: []\n }, {\n title: \"fas fa-retweet\",\n searchTerms: [ \"refresh\", \"reload\", \"share\", \"swap\" ]\n }, {\n title: \"fas fa-road\",\n searchTerms: [ \"street\" ]\n }, {\n title: \"fas fa-rocket\",\n searchTerms: [ \"app\" ]\n }, {\n title: \"fab fa-rocketchat\",\n searchTerms: []\n }, {\n title: \"fab fa-rockrms\",\n searchTerms: []\n }, {\n title: \"fas fa-rss\",\n searchTerms: [ \"blog\" ]\n }, {\n title: \"fas fa-rss-square\",\n searchTerms: [ \"feed\", \"blog\" ]\n }, {\n title: \"fas fa-ruble-sign\",\n searchTerms: [ \"rub\", \"rub\" ]\n }, {\n title: \"fas fa-rupee-sign\",\n searchTerms: [ \"indian\", \"inr\" ]\n }, {\n title: \"fab fa-safari\",\n searchTerms: [ \"browser\" ]\n }, {\n title: \"fab fa-sass\",\n searchTerms: []\n }, {\n title: \"fas fa-save\",\n searchTerms: [ \"floppy\", \"floppy-o\" ]\n }, {\n title: \"far fa-save\",\n searchTerms: [ \"floppy\", \"floppy-o\" ]\n }, {\n title: \"fab fa-schlix\",\n searchTerms: []\n }, {\n title: \"fab fa-scribd\",\n searchTerms: []\n }, {\n title: \"fas fa-search\",\n searchTerms: [ \"magnify\", \"zoom\", \"enlarge\", \"bigger\" ]\n }, {\n title: \"fas fa-search-minus\",\n searchTerms: [ \"magnify\", \"minify\", \"zoom\", \"smaller\" ]\n }, {\n title: \"fas fa-search-plus\",\n searchTerms: [ \"magnify\", \"zoom\", \"enlarge\", \"bigger\" ]\n }, {\n title: \"fab fa-searchengin\",\n searchTerms: []\n }, {\n title: \"fab fa-sellcast\",\n searchTerms: [ \"eercast\" ]\n }, {\n title: \"fab fa-sellsy\",\n searchTerms: []\n }, {\n title: \"fas fa-server\",\n searchTerms: []\n }, {\n title: \"fab fa-servicestack\",\n searchTerms: []\n }, {\n title: \"fas fa-share\",\n searchTerms: []\n }, {\n title: \"fas fa-share-alt\",\n searchTerms: []\n }, {\n title: \"fas fa-share-alt-square\",\n searchTerms: []\n }, {\n title: \"fas fa-share-square\",\n searchTerms: [ \"social\", \"send\" ]\n }, {\n title: \"far fa-share-square\",\n searchTerms: [ \"social\", \"send\" ]\n }, {\n title: \"fas fa-shekel-sign\",\n searchTerms: [ \"ils\", \"ils\" ]\n }, {\n title: \"fas fa-shield-alt\",\n searchTerms: [ \"shield\" ]\n }, {\n title: \"fas fa-ship\",\n searchTerms: [ \"boat\", \"sea\" ]\n }, {\n title: \"fas fa-shipping-fast\",\n searchTerms: []\n }, {\n title: \"fab fa-shirtsinbulk\",\n searchTerms: []\n }, {\n title: \"fas fa-shopping-bag\",\n searchTerms: []\n }, {\n title: \"fas fa-shopping-basket\",\n searchTerms: []\n }, {\n title: \"fas fa-shopping-cart\",\n searchTerms: [ \"checkout\", \"buy\", \"purchase\", \"payment\" ]\n }, {\n title: \"fas fa-shower\",\n searchTerms: []\n }, {\n title: \"fas fa-sign-in-alt\",\n searchTerms: [ \"enter\", \"join\", \"log in\", \"login\", \"sign up\", \"sign in\", \"signin\", \"signup\", \"arrow\", \"sign-in\" ]\n }, {\n title: \"fas fa-sign-language\",\n searchTerms: []\n }, {\n title: \"fas fa-sign-out-alt\",\n searchTerms: [ \"log out\", \"logout\", \"leave\", \"exit\", \"arrow\", \"sign-out\" ]\n }, {\n title: \"fas fa-signal\",\n searchTerms: [ \"graph\", \"bars\", \"status\" ]\n }, {\n title: \"fab fa-simplybuilt\",\n searchTerms: []\n }, {\n title: \"fab fa-sistrix\",\n searchTerms: []\n }, {\n title: \"fas fa-sitemap\",\n searchTerms: [ \"directory\", \"hierarchy\", \"organization\" ]\n }, {\n title: \"fab fa-skyatlas\",\n searchTerms: []\n }, {\n title: \"fab fa-skype\",\n searchTerms: []\n }, {\n title: \"fab fa-slack\",\n searchTerms: [ \"hashtag\", \"anchor\", \"hash\" ]\n }, {\n title: \"fab fa-slack-hash\",\n searchTerms: [ \"hashtag\", \"anchor\", \"hash\" ]\n }, {\n title: \"fas fa-sliders-h\",\n searchTerms: [ \"settings\", \"sliders\" ]\n }, {\n title: \"fab fa-slideshare\",\n searchTerms: []\n }, {\n title: \"fas fa-smile\",\n searchTerms: [ \"face\", \"emoticon\", \"happy\", \"approve\", \"satisfied\", \"rating\" ]\n }, {\n title: \"far fa-smile\",\n searchTerms: [ \"face\", \"emoticon\", \"happy\", \"approve\", \"satisfied\", \"rating\" ]\n }, {\n title: \"fab fa-snapchat\",\n searchTerms: []\n }, {\n title: \"fab fa-snapchat-ghost\",\n searchTerms: []\n }, {\n title: \"fab fa-snapchat-square\",\n searchTerms: []\n }, {\n title: \"fas fa-snowflake\",\n searchTerms: []\n }, {\n title: \"far fa-snowflake\",\n searchTerms: []\n }, {\n title: \"fas fa-sort\",\n searchTerms: [ \"order\" ]\n }, {\n title: \"fas fa-sort-alpha-down\",\n searchTerms: [ \"sort-alpha-asc\" ]\n }, {\n title: \"fas fa-sort-alpha-up\",\n searchTerms: [ \"sort-alpha-desc\" ]\n }, {\n title: \"fas fa-sort-amount-down\",\n searchTerms: [ \"sort-amount-asc\" ]\n }, {\n title: \"fas fa-sort-amount-up\",\n searchTerms: [ \"sort-amount-desc\" ]\n }, {\n title: \"fas fa-sort-down\",\n searchTerms: [ \"arrow\", \"descending\", \"sort-desc\" ]\n }, {\n title: \"fas fa-sort-numeric-down\",\n searchTerms: [ \"numbers\", \"sort-numeric-asc\" ]\n }, {\n title: \"fas fa-sort-numeric-up\",\n searchTerms: [ \"numbers\", \"sort-numeric-desc\" ]\n }, {\n title: \"fas fa-sort-up\",\n searchTerms: [ \"arrow\", \"ascending\", \"sort-asc\" ]\n }, {\n title: \"fab fa-soundcloud\",\n searchTerms: []\n }, {\n title: \"fas fa-space-shuttle\",\n searchTerms: []\n }, {\n title: \"fab fa-speakap\",\n searchTerms: []\n }, {\n title: \"fas fa-spinner\",\n searchTerms: [ \"loading\", \"progress\" ]\n }, {\n title: \"fab fa-spotify\",\n searchTerms: []\n }, {\n title: \"fas fa-square\",\n searchTerms: [ \"block\", \"box\" ]\n }, {\n title: \"far fa-square\",\n searchTerms: [ \"block\", \"box\" ]\n }, {\n title: \"fas fa-square-full\",\n searchTerms: []\n }, {\n title: \"fab fa-stack-exchange\",\n searchTerms: []\n }, {\n title: \"fab fa-stack-overflow\",\n searchTerms: []\n }, {\n title: \"fas fa-star\",\n searchTerms: [ \"award\", \"achievement\", \"night\", \"rating\", \"score\", \"favorite\" ]\n }, {\n title: \"far fa-star\",\n searchTerms: [ \"award\", \"achievement\", \"night\", \"rating\", \"score\", \"favorite\" ]\n }, {\n title: \"fas fa-star-half\",\n searchTerms: [ \"award\", \"achievement\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n }, {\n title: \"far fa-star-half\",\n searchTerms: [ \"award\", \"achievement\", \"rating\", \"score\", \"star-half-empty\", \"star-half-full\" ]\n }, {\n title: \"fab fa-staylinked\",\n searchTerms: []\n }, {\n title: \"fab fa-steam\",\n searchTerms: []\n }, {\n title: \"fab fa-steam-square\",\n searchTerms: []\n }, {\n title: \"fab fa-steam-symbol\",\n searchTerms: []\n }, {\n title: \"fas fa-step-backward\",\n searchTerms: [ \"rewind\", \"previous\", \"beginning\", \"start\", \"first\" ]\n }, {\n title: \"fas fa-step-forward\",\n searchTerms: [ \"next\", \"end\", \"last\" ]\n }, {\n title: \"fas fa-stethoscope\",\n searchTerms: []\n }, {\n title: \"fab fa-sticker-mule\",\n searchTerms: []\n }, {\n title: \"fas fa-sticky-note\",\n searchTerms: []\n }, {\n title: \"far fa-sticky-note\",\n searchTerms: []\n }, {\n title: \"fas fa-stop\",\n searchTerms: [ \"block\", \"box\", \"square\" ]\n }, {\n title: \"fas fa-stop-circle\",\n searchTerms: []\n }, {\n title: \"far fa-stop-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-stopwatch\",\n searchTerms: [ \"time\" ]\n }, {\n title: \"fab fa-strava\",\n searchTerms: []\n }, {\n title: \"fas fa-street-view\",\n searchTerms: [ \"map\" ]\n }, {\n title: \"fas fa-strikethrough\",\n searchTerms: []\n }, {\n title: \"fab fa-stripe\",\n searchTerms: []\n }, {\n title: \"fab fa-stripe-s\",\n searchTerms: []\n }, {\n title: \"fab fa-studiovinari\",\n searchTerms: []\n }, {\n title: \"fab fa-stumbleupon\",\n searchTerms: []\n }, {\n title: \"fab fa-stumbleupon-circle\",\n searchTerms: []\n }, {\n title: \"fas fa-subscript\",\n searchTerms: []\n }, {\n title: \"fas fa-subway\",\n searchTerms: []\n }, {\n title: \"fas fa-suitcase\",\n searchTerms: [ \"trip\", \"luggage\", \"travel\", \"move\", \"baggage\" ]\n }, {\n title: \"fas fa-sun\",\n searchTerms: [ \"weather\", \"contrast\", \"lighter\", \"brighten\", \"day\" ]\n }, {\n title: \"far fa-sun\",\n searchTerms: [ \"weather\", \"contrast\", \"lighter\", \"brighten\", \"day\" ]\n }, {\n title: \"fab fa-superpowers\",\n searchTerms: []\n }, {\n title: \"fas fa-superscript\",\n searchTerms: [ \"exponential\" ]\n }, {\n title: \"fab fa-supple\",\n searchTerms: []\n }, {\n title: \"fas fa-sync\",\n searchTerms: [ \"reload\", \"refresh\", \"refresh\" ]\n }, {\n title: \"fas fa-sync-alt\",\n searchTerms: [ \"reload\", \"refresh\" ]\n }, {\n title: \"fas fa-syringe\",\n searchTerms: [ \"immunizations\", \"needle\" ]\n }, {\n title: \"fas fa-table\",\n searchTerms: [ \"data\", \"excel\", \"spreadsheet\" ]\n }, {\n title: \"fas fa-table-tennis\",\n searchTerms: []\n }, {\n title: \"fas fa-tablet\",\n searchTerms: [ \"ipad\", \"device\" ]\n }, {\n title: \"fas fa-tablet-alt\",\n searchTerms: [ \"tablet\" ]\n }, {\n title: \"fas fa-tachometer-alt\",\n searchTerms: [ \"tachometer\", \"dashboard\" ]\n }, {\n title: \"fas fa-tag\",\n searchTerms: [ \"label\" ]\n }, {\n title: \"fas fa-tags\",\n searchTerms: [ \"labels\" ]\n }, {\n title: \"fas fa-tasks\",\n searchTerms: [ \"progress\", \"loading\", \"downloading\", \"downloads\", \"settings\" ]\n }, {\n title: \"fas fa-taxi\",\n searchTerms: [ \"vehicle\" ]\n }, {\n title: \"fab fa-telegram\",\n searchTerms: []\n }, {\n title: \"fab fa-telegram-plane\",\n searchTerms: []\n }, {\n title: \"fab fa-tencent-weibo\",\n searchTerms: []\n }, {\n title: \"fas fa-terminal\",\n searchTerms: [ \"command\", \"prompt\", \"code\" ]\n }, {\n title: \"fas fa-text-height\",\n searchTerms: []\n }, {\n title: \"fas fa-text-width\",\n searchTerms: []\n }, {\n title: \"fas fa-th\",\n searchTerms: [ \"blocks\", \"squares\", \"boxes\", \"grid\" ]\n }, {\n title: \"fas fa-th-large\",\n searchTerms: [ \"blocks\", \"squares\", \"boxes\", \"grid\" ]\n }, {\n title: \"fas fa-th-list\",\n searchTerms: [ \"ul\", \"ol\", \"checklist\", \"finished\", \"completed\", \"done\", \"todo\" ]\n }, {\n title: \"fab fa-themeisle\",\n searchTerms: []\n }, {\n title: \"fas fa-thermometer\",\n searchTerms: [ \"temperature\", \"fever\" ]\n }, {\n title: \"fas fa-thermometer-empty\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-full\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-half\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-quarter\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thermometer-three-quarters\",\n searchTerms: [ \"status\" ]\n }, {\n title: \"fas fa-thumbs-down\",\n searchTerms: [ \"dislike\", \"disapprove\", \"disagree\", \"hand\", \"thumbs-o-down\" ]\n }, {\n title: \"far fa-thumbs-down\",\n searchTerms: [ \"dislike\", \"disapprove\", \"disagree\", \"hand\", \"thumbs-o-down\" ]\n }, {\n title: \"fas fa-thumbs-up\",\n searchTerms: [ \"like\", \"favorite\", \"approve\", \"agree\", \"hand\", \"thumbs-o-up\" ]\n }, {\n title: \"far fa-thumbs-up\",\n searchTerms: [ \"like\", \"favorite\", \"approve\", \"agree\", \"hand\", \"thumbs-o-up\" ]\n }, {\n title: \"fas fa-thumbtack\",\n searchTerms: [ \"marker\", \"pin\", \"location\", \"coordinates\", \"thumb-tack\" ]\n }, {\n title: \"fas fa-ticket-alt\",\n searchTerms: [ \"ticket\" ]\n }, {\n title: \"fas fa-times\",\n searchTerms: [ \"close\", \"exit\", \"x\", \"cross\" ]\n }, {\n title: \"fas fa-times-circle\",\n searchTerms: [ \"close\", \"exit\", \"x\" ]\n }, {\n title: \"far fa-times-circle\",\n searchTerms: [ \"close\", \"exit\", \"x\" ]\n }, {\n title: \"fas fa-tint\",\n searchTerms: [ \"raindrop\", \"waterdrop\", \"drop\", \"droplet\" ]\n }, {\n title: \"fas fa-toggle-off\",\n searchTerms: [ \"switch\" ]\n }, {\n title: \"fas fa-toggle-on\",\n searchTerms: [ \"switch\" ]\n }, {\n title: \"fas fa-trademark\",\n searchTerms: []\n }, {\n title: \"fas fa-train\",\n searchTerms: []\n }, {\n title: \"fas fa-transgender\",\n searchTerms: [ \"intersex\" ]\n }, {\n title: \"fas fa-transgender-alt\",\n searchTerms: []\n }, {\n title: \"fas fa-trash\",\n searchTerms: [ \"garbage\", \"delete\", \"remove\", \"hide\" ]\n }, {\n title: \"fas fa-trash-alt\",\n searchTerms: [ \"garbage\", \"delete\", \"remove\", \"hide\", \"trash\", \"trash-o\" ]\n }, {\n title: \"far fa-trash-alt\",\n searchTerms: [ \"garbage\", \"delete\", \"remove\", \"hide\", \"trash\", \"trash-o\" ]\n }, {\n title: \"fas fa-tree\",\n searchTerms: []\n }, {\n title: \"fab fa-trello\",\n searchTerms: []\n }, {\n title: \"fab fa-tripadvisor\",\n searchTerms: []\n }, {\n title: \"fas fa-trophy\",\n searchTerms: [ \"award\", \"achievement\", \"cup\", \"winner\", \"game\" ]\n }, {\n title: \"fas fa-truck\",\n searchTerms: [ \"shipping\" ]\n }, {\n title: \"fas fa-tty\",\n searchTerms: []\n }, {\n title: \"fab fa-tumblr\",\n searchTerms: []\n }, {\n title: \"fab fa-tumblr-square\",\n searchTerms: []\n }, {\n title: \"fas fa-tv\",\n searchTerms: [ \"display\", \"computer\", \"monitor\", \"television\" ]\n }, {\n title: \"fab fa-twitch\",\n searchTerms: []\n }, {\n title: \"fab fa-twitter\",\n searchTerms: [ \"tweet\", \"social network\" ]\n }, {\n title: \"fab fa-twitter-square\",\n searchTerms: [ \"tweet\", \"social network\" ]\n }, {\n title: \"fab fa-typo3\",\n searchTerms: []\n }, {\n title: \"fab fa-uber\",\n searchTerms: []\n }, {\n title: \"fab fa-uikit\",\n searchTerms: []\n }, {\n title: \"fas fa-umbrella\",\n searchTerms: []\n }, {\n title: \"fas fa-underline\",\n searchTerms: []\n }, {\n title: \"fas fa-undo\",\n searchTerms: [ \"back\" ]\n }, {\n title: \"fas fa-undo-alt\",\n searchTerms: [ \"back\" ]\n }, {\n title: \"fab fa-uniregistry\",\n searchTerms: []\n }, {\n title: \"fas fa-universal-access\",\n searchTerms: []\n }, {\n title: \"fas fa-university\",\n searchTerms: [ \"bank\", \"institution\" ]\n }, {\n title: \"fas fa-unlink\",\n searchTerms: [ \"remove\", \"chain\", \"chain-broken\" ]\n }, {\n title: \"fas fa-unlock\",\n searchTerms: [ \"protect\", \"admin\", \"password\", \"lock\" ]\n }, {\n title: \"fas fa-unlock-alt\",\n searchTerms: [ \"protect\", \"admin\", \"password\", \"lock\" ]\n }, {\n title: \"fab fa-untappd\",\n searchTerms: []\n }, {\n title: \"fas fa-upload\",\n searchTerms: [ \"import\" ]\n }, {\n title: \"fab fa-usb\",\n searchTerms: []\n }, {\n title: \"fas fa-user\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"far fa-user\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"fas fa-user-circle\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"far fa-user-circle\",\n searchTerms: [ \"person\", \"man\", \"head\", \"profile\", \"account\" ]\n }, {\n title: \"fas fa-user-md\",\n searchTerms: [ \"doctor\", \"profile\", \"medical\", \"nurse\", \"job\", \"occupation\" ]\n }, {\n title: \"fas fa-user-plus\",\n searchTerms: [ \"sign up\", \"signup\" ]\n }, {\n title: \"fas fa-user-secret\",\n searchTerms: [ \"whisper\", \"spy\", \"incognito\", \"privacy\" ]\n }, {\n title: \"fas fa-user-times\",\n searchTerms: []\n }, {\n title: \"fas fa-users\",\n searchTerms: [ \"people\", \"profiles\", \"persons\" ]\n }, {\n title: \"fab fa-ussunnah\",\n searchTerms: []\n }, {\n title: \"fas fa-utensil-spoon\",\n searchTerms: [ \"spoon\" ]\n }, {\n title: \"fas fa-utensils\",\n searchTerms: [ \"food\", \"restaurant\", \"spoon\", \"knife\", \"dinner\", \"eat\", \"cutlery\" ]\n }, {\n title: \"fab fa-vaadin\",\n searchTerms: []\n }, {\n title: \"fas fa-venus\",\n searchTerms: [ \"female\" ]\n }, {\n title: \"fas fa-venus-double\",\n searchTerms: []\n }, {\n title: \"fas fa-venus-mars\",\n searchTerms: []\n }, {\n title: \"fab fa-viacoin\",\n searchTerms: []\n }, {\n title: \"fab fa-viadeo\",\n searchTerms: []\n }, {\n title: \"fab fa-viadeo-square\",\n searchTerms: []\n }, {\n title: \"fab fa-viber\",\n searchTerms: []\n }, {\n title: \"fas fa-video\",\n searchTerms: [ \"film\", \"movie\", \"record\", \"camera\", \"video-camera\" ]\n }, {\n title: \"fab fa-vimeo\",\n searchTerms: []\n }, {\n title: \"fab fa-vimeo-square\",\n searchTerms: []\n }, {\n title: \"fab fa-vimeo-v\",\n searchTerms: [ \"vimeo\" ]\n }, {\n title: \"fab fa-vine\",\n searchTerms: []\n }, {\n title: \"fab fa-vk\",\n searchTerms: []\n }, {\n title: \"fab fa-vnv\",\n searchTerms: []\n }, {\n title: \"fas fa-volleyball-ball\",\n searchTerms: []\n }, {\n title: \"fas fa-volume-down\",\n searchTerms: [ \"audio\", \"lower\", \"quieter\", \"sound\", \"music\" ]\n }, {\n title: \"fas fa-volume-off\",\n searchTerms: [ \"audio\", \"mute\", \"sound\", \"music\" ]\n }, {\n title: \"fas fa-volume-up\",\n searchTerms: [ \"audio\", \"higher\", \"louder\", \"sound\", \"music\" ]\n }, {\n title: \"fab fa-vuejs\",\n searchTerms: []\n }, {\n title: \"fas fa-warehouse\",\n searchTerms: []\n }, {\n title: \"fab fa-weibo\",\n searchTerms: []\n }, {\n title: \"fas fa-weight\",\n searchTerms: [ \"scale\" ]\n }, {\n title: \"fab fa-weixin\",\n searchTerms: []\n }, {\n title: \"fab fa-whatsapp\",\n searchTerms: []\n }, {\n title: \"fab fa-whatsapp-square\",\n searchTerms: []\n }, {\n title: \"fas fa-wheelchair\",\n searchTerms: [ \"handicap\", \"person\" ]\n }, {\n title: \"fab fa-whmcs\",\n searchTerms: []\n }, {\n title: \"fas fa-wifi\",\n searchTerms: []\n }, {\n title: \"fab fa-wikipedia-w\",\n searchTerms: []\n }, {\n title: \"fas fa-window-close\",\n searchTerms: []\n }, {\n title: \"far fa-window-close\",\n searchTerms: []\n }, {\n title: \"fas fa-window-maximize\",\n searchTerms: []\n }, {\n title: \"far fa-window-maximize\",\n searchTerms: []\n }, {\n title: \"fas fa-window-minimize\",\n searchTerms: []\n }, {\n title: \"far fa-window-minimize\",\n searchTerms: []\n }, {\n title: \"fas fa-window-restore\",\n searchTerms: []\n }, {\n title: \"far fa-window-restore\",\n searchTerms: []\n }, {\n title: \"fab fa-windows\",\n searchTerms: [ \"microsoft\" ]\n }, {\n title: \"fas fa-won-sign\",\n searchTerms: [ \"krw\", \"krw\" ]\n }, {\n title: \"fab fa-wordpress\",\n searchTerms: []\n }, {\n title: \"fab fa-wordpress-simple\",\n searchTerms: []\n }, {\n title: \"fab fa-wpbeginner\",\n searchTerms: []\n }, {\n title: \"fab fa-wpexplorer\",\n searchTerms: []\n }, {\n title: \"fab fa-wpforms\",\n searchTerms: []\n }, {\n title: \"fas fa-wrench\",\n searchTerms: [ \"settings\", \"fix\", \"update\", \"spanner\", \"tool\" ]\n }, {\n title: \"fab fa-xbox\",\n searchTerms: []\n }, {\n title: \"fab fa-xing\",\n searchTerms: []\n }, {\n title: \"fab fa-xing-square\",\n searchTerms: []\n }, {\n title: \"fab fa-y-combinator\",\n searchTerms: []\n }, {\n title: \"fab fa-yahoo\",\n searchTerms: []\n }, {\n title: \"fab fa-yandex\",\n searchTerms: []\n }, {\n title: \"fab fa-yandex-international\",\n searchTerms: []\n }, {\n title: \"fab fa-yelp\",\n searchTerms: []\n }, {\n title: \"fas fa-yen-sign\",\n searchTerms: [ \"jpy\", \"jpy\" ]\n }, {\n title: \"fab fa-yoast\",\n searchTerms: []\n }, {\n title: \"fab fa-youtube\",\n searchTerms: [ \"video\", \"film\", \"youtube-play\", \"youtube-square\" ]\n }, {\n title: \"fab fa-youtube-square\",\n searchTerms: []\n } ]\n });\n});","/*\r\n * Globalize Culture pl-PL\r\n *\r\n * http://github.com/jquery/globalize\r\n *\r\n * Copyright Software Freedom Conservancy, Inc.\r\n * Dual licensed under the MIT or GPL Version 2 licenses.\r\n * http://jquery.org/license\r\n *\r\n * This file was generated by the Globalize Culture Generator\r\n * Translation: bugs found in this file need to be fixed in the generator\r\n */\r\n\r\n(function (window, undefined) {\r\n\r\n var Globalize;\r\n\r\n if (typeof require !== \"undefined\" &&\r\n typeof exports !== \"undefined\" &&\r\n typeof module !== \"undefined\") {\r\n // Assume CommonJS\r\n Globalize = require(\"globalize\");\r\n } else {\r\n // Global variable\r\n Globalize = window.Globalize;\r\n }\r\n\r\n Globalize.addCultureInfo(\"pl-PL\", \"default\", {\r\n name: \"pl-PL\",\r\n englishName: \"Polish (Poland)\",\r\n nativeName: \"polski (Polska)\",\r\n language: \"pl\",\r\n numberFormat: {\r\n \",\": \" \",\r\n \".\": \",\",\r\n \"NaN\": \"nie jest liczbą\",\r\n negativeInfinity: \"-nieskończoność\",\r\n positiveInfinity: \"+nieskończoność\",\r\n percent: {\r\n pattern: [\"-n%\", \"n%\"],\r\n \",\": \" \",\r\n \".\": \",\"\r\n },\r\n currency: {\r\n pattern: [\"-n $\", \"n $\"],\r\n \",\": \" \",\r\n \".\": \",\",\r\n symbol: \"zł\"\r\n }\r\n },\r\n calendars: {\r\n standard: {\r\n \"/\": \".\",\r\n firstDay: 1,\r\n days: {\r\n names: [\"niedziela\", \"poniedziałek\", \"wtorek\", \"środa\", \"czwartek\", \"piątek\", \"sobota\"],\r\n namesAbbr: [\"niedz.\", \"pon.\", \"wt.\", \"śr.\", \"czw.\", \"pt.\", \"sob.\"],\r\n namesShort: [\"N\", \"Pn\", \"Wt\", \"Śr\", \"Cz\", \"Pt\", \"So\"]\r\n },\r\n months: {\r\n names: [\"styczeń\", \"luty\", \"marzec\", \"kwiecień\", \"maj\", \"czerwiec\", \"lipiec\", \"sierpień\", \"wrzesień\", \"październik\", \"listopad\", \"grudzień\", \"\"],\r\n namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\", \"\"]\r\n },\r\n monthsGenitive: {\r\n names: [\"stycznia\", \"lutego\", \"marca\", \"kwietnia\", \"maja\", \"czerwca\", \"lipca\", \"sierpnia\", \"września\", \"października\", \"listopada\", \"grudnia\", \"\"],\r\n namesAbbr: [\"sty\", \"lut\", \"mar\", \"kwi\", \"maj\", \"cze\", \"lip\", \"sie\", \"wrz\", \"paź\", \"lis\", \"gru\", \"\"]\r\n },\r\n AM: null,\r\n PM: null,\r\n patterns: {\r\n d: \"yyyy.MM.dd\",\r\n D: \"d MMMM yyyy\",\r\n t: \"HH:mm\",\r\n T: \"HH:mm:ss\",\r\n f: \"d MMMM yyyy HH:mm\",\r\n F: \"d MMMM yyyy HH:mm:ss\",\r\n M: \"d MMMM\",\r\n Y: \"MMMM yyyy\"\r\n }\r\n }\r\n }\r\n });\r\n\r\n}(this));\r\n\r\n$.extend($.validator.messages, {\r\n required: \"Pole wymagane.\",\r\n remote: \"Niepoprawna wartość.\",\r\n email: \"Proszę wprowadzić prawidłowy adres email.\",\r\n url: \"Proszę wprowadzić adres URL.\",\r\n date: \"Proszę wprowadzić datę.\",\r\n dateISO: \"Proszę wprowadzić poprawną datę.\",\r\n number: \"Proszę wprowadzić numer.\",\r\n digits: \"Proszę wprowadzić wyłącznie cyfry.\",\r\n creditcard: \"Proszę wprowadzić poprawny numer karty kredytowej.\",\r\n equalTo: \"Proszę wprowadzić tą samą wartość raz jeszcze.\",\r\n maxlength: $.validator.format(\"Proszę wprowadzić nie więcej niż {0} znaków.\"),\r\n minlength: $.validator.format(\"Proszę wprowadzić nie mniej niż {0} znaków.\"),\r\n rangelength: $.validator.format(\"Proszę wprowadzić od {0} do {1} znaków.\"),\r\n range: $.validator.format(\"Proszę wprowadzić wartość z zakresu od {0} do {1}.\"),\r\n max: $.validator.format(\"Proszę wprowadzić wartość mniejszą lub równą {0}.\"),\r\n min: $.validator.format(\"Proszę wprowadzić wartość większą lub równą {0}.\")\r\n});\r\n\r\nErrorHandling.messages = {\r\n ajaxErrorTitle: \"Błąd Ajax\",\r\n ajaxErrorBody: $.validator.format(\"Wystąpił błąd podczas realizowania żądania AJAX.
    \" +\r\n \"Poniżej znajdują się szczegóły błędu. Jeżeli będzie się on powtarzał, \" +\r\n \"skontaktuj się z administratorem.

    \" +\r\n \"Typ żądania: {0}
    \" +\r\n \"Url: {1}
    \"),\r\n ajaxErrorExceptionClass: $.validator.format(\"Klasa wyjątku: {0}
    \"),\r\n ajaxErrorExceptionMessage: $.validator.format(\"Oryginalna wiadomość: {0}\"),\r\n jsErrorTitle: \"Błąd JavaScript\",\r\n jsErrorBody: $.validator.format(\"Wystąpił błąd JavaScript podczas przetwarzania bieżącego dokumentu. \" +\r\n \"Poniżej znajdują się szczegóły błędu. Jeżeli będzie się on powtarzał, \" +\r\n \"skontaktuj się z administratorem.

    \" +\r\n \"Opis: {0}
    \" +\r\n \"Źródło: {1}
    \" +\r\n \"Linia: {2}\")\r\n}\r\n\r\neRMap.messages = {\r\n determineWayError: \"Nie można wyznaczyć trasy z powodu błędnego adresu początkowego.\",\r\n showMarkersError: \"Nie można wyświetlić lokalizacji placówki z powodu błędnego adresu.\",\r\n initialAddress: \"Adres początkowy...\",\r\n print: \"Drukuj\",\r\n printingMap: \"Drukowanie mapy\",\r\n setRoute: \"Wyznacz trasę\",\r\n traffic: \"Natężenie ruchu\",\r\n language: \"pl\",\r\n}"]}