fileinput.min.js 121 KB

12345678910
  1. /*!
  2. * bootstrap-fileinput v5.1.3
  3. * http://plugins.krajee.com/file-input
  4. *
  5. * Author: Kartik Visweswaran
  6. * Copyright: 2014 - 2020, Kartik Visweswaran, Krajee.com
  7. *
  8. * Licensed under the BSD-3-Clause
  9. * https://github.com/kartik-v/bootstrap-fileinput/blob/master/LICENSE.md
  10. */!function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):e(window.jQuery)}(function(G){"use strict";var Y,u;G.fn.fileinputLocales={},G.fn.fileinputThemes={},String.prototype.setTokens=function(e){var t,i,a=this.toString();for(t in e)e.hasOwnProperty(t)&&(i=new RegExp("{"+t+"}","g"),a=a.replace(i,e[t]));return a},Array.prototype.flatMap||(Array.prototype.flatMap=function(e){return[].concat(this.map(e))}),Y={FRAMES:".kv-preview-thumb",SORT_CSS:"file-sortable",INIT_FLAG:"init-",OBJECT_PARAMS:'<param name="controller" value="true" />\n<param name="allowFullScreen" value="true" />\n<param name="allowScriptAccess" value="always" />\n<param name="autoPlay" value="false" />\n<param name="autoStart" value="false" />\n<param name="quality" value="high" />\n',DEFAULT_PREVIEW:'<div class="file-preview-other">\n<span class="{previewFileIconClass}">{previewFileIcon}</span>\n</div>',MODAL_ID:"kvFileinputModal",MODAL_EVENTS:["show","shown","hide","hidden","loaded"],logMessages:{ajaxError:"{status}: {error}. Error Details: {text}.",badDroppedFiles:"Error scanning dropped files!",badExifParser:"Error loading the piexif.js library. {details}",badInputType:'The input "type" must be set to "file" for initializing the "bootstrap-fileinput" plugin.',exifWarning:'To avoid this warning, either set "autoOrientImage" to "false" OR ensure you have loaded the "piexif.js" library correctly on your page before the "fileinput.js" script.',invalidChunkSize:'Invalid upload chunk size: "{chunkSize}". Resumable uploads are disabled.',invalidThumb:'Invalid thumb frame with id: "{id}".',noResumableSupport:"The browser does not support resumable or chunk uploads.",noUploadUrl:'The "uploadUrl" is not set. Ajax uploads and resumable uploads have been disabled.',retryStatus:"Retrying upload for chunk # {chunk} for {filename}... retry # {retry}.",chunkQueueError:"Could not push task to ajax pool for chunk index # {index}.",resumableMaxRetriesReached:"Maximum resumable ajax retries ({n}) reached.",resumableRetryError:"Could not retry the resumable request (try # {n})... aborting.",resumableAborting:"Aborting / cancelling the resumable request."},objUrl:window.URL||window.webkitURL,now:function(){return(new Date).getTime()},round:function(e){return e=parseFloat(e),isNaN(e)?0:Math.floor(Math.round(e))},getArray:function(e){for(var t=[],i=e&&e.length||0,a=0;a<i;a++)t.push(e[a]);return t},getFileRelativePath:function(e){return String(e.newPath||e.relativePath||e.webkitRelativePath||Y.getFileName(e)||null)},getFileId:function(e,t){var i=Y.getFileRelativePath(e);return"function"==typeof t?t(e):e&&i?e.size+"_"+encodeURIComponent(i).replace(/%/g,"_"):null},getFrameSelector:function(e,t){return'[id="'+e+'"]'+(t=t||"")},getZoomSelector:function(e,t){return Y.getFrameSelector("zoom-"+e,t)},getFrameElement:function(e,t,i){return e.find(Y.getFrameSelector(t,i))},getZoomElement:function(e,t,i){return e.find(Y.getZoomSelector(t,i))},getElapsed:function(e){var t=e,i="",a={},r={year:31536e3,month:2592e3,week:604800,day:86400,hour:3600,minute:60,second:1};return Y.getObjectKeys(r).forEach(function(e){a[e]=Math.floor(t/r[e]),t-=a[e]*r[e]}),G.each(a,function(e,t){0<t&&(i+=(i?" ":"")+t+e.substring(0,1))}),i},debounce:function(i,a){var r;return function(){var e=arguments,t=this;clearTimeout(r),r=setTimeout(function(){i.apply(t,e)},a)}},stopEvent:function(e){e.stopPropagation(),e.preventDefault()},getFileName:function(e){return e&&(e.fileName||e.name)||""},createObjectURL:function(e){return Y.objUrl&&Y.objUrl.createObjectURL&&e?Y.objUrl.createObjectURL(e):""},revokeObjectURL:function(e){Y.objUrl&&Y.objUrl.revokeObjectURL&&e&&Y.objUrl.revokeObjectURL(e)},compare:function(e,t,i){return void 0!==e&&(i?e===t:e.match(t))},isIE:function(e){var t,i;return"Microsoft Internet Explorer"===navigator.appName&&(10===e?new RegExp("msie\\s"+e,"i").test(navigator.userAgent):((t=document.createElement("div")).innerHTML="\x3c!--[if IE "+e+"]> <i></i> <![endif]--\x3e",i=t.getElementsByTagName("i").length,document.body.appendChild(t),t.parentNode.removeChild(t),i))},canOrientImage:function(e){var t=G(document.createElement("img")).css({width:"1px",height:"1px"}).insertAfter(e),i=t.css("image-orientation");return t.remove(),!!i},canAssignFilesToInput:function(){var e=document.createElement("input");try{return e.type="file",!(e.files=null)}catch(e){return!1}},getDragDropFolders:function(e){var t,i,a=e?e.length:0,r=0;if(0<a&&e[0].webkitGetAsEntry())for(t=0;t<a;t++)(i=e[t].webkitGetAsEntry())&&i.isDirectory&&r++;return r},initModal:function(e){var t=G("body");t.length&&e.appendTo(t)},isFunction:function(e){return"function"==typeof e},isEmpty:function(e,t){return null==e||!Y.isFunction(e)&&(0===e.length||t&&""===G.trim(e))},isArray:function(e){return Array.isArray(e)||"[object Array]"===Object.prototype.toString.call(e)},ifSet:function(e,t,i){return i=i||"",t&&"object"==typeof t&&e in t?t[e]:i},cleanArray:function(e){return e instanceof Array||(e=[]),e.filter(function(e){return null!=e})},spliceArray:function(e,t,i){var a,r,n=0,o=[];if(!(e instanceof Array))return[];for(r=G.extend(!0,[],e),i&&r.reverse(),a=0;a<r.length;a++)a!==t&&(o[n]=r[a],n++);return i&&o.reverse(),o},getNum:function(e,t){return t=t||0,"number"==typeof e?e:("string"==typeof e&&(e=parseFloat(e)),isNaN(e)?t:e)},hasFileAPISupport:function(){return!(!window.File||!window.FileReader)},hasDragDropSupport:function(){var e=document.createElement("div");return!Y.isIE(9)&&(void 0!==e.draggable||void 0!==e.ondragstart&&void 0!==e.ondrop)},hasFileUploadSupport:function(){return Y.hasFileAPISupport()&&window.FormData},hasBlobSupport:function(){try{return!!window.Blob&&Boolean(new Blob)}catch(e){return!1}},hasArrayBufferViewSupport:function(){try{return 100===new Blob([new Uint8Array(100)]).size}catch(e){return!1}},hasResumableUploadSupport:function(){return Y.hasFileUploadSupport()&&Y.hasBlobSupport()&&Y.hasArrayBufferViewSupport()&&(!!Blob.prototype.webkitSlice||!!Blob.prototype.mozSlice||!!Blob.prototype.slice||!1)},dataURI2Blob:function(e){var t,i,a,r,n,o,s=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,l=Y.hasBlobSupport();if(!((l||s)&&window.atob&&window.ArrayBuffer&&window.Uint8Array))return null;for(t=(0<=e.split(",")[0].indexOf("base64")?atob:decodeURIComponent)(e.split(",")[1]),i=new ArrayBuffer(t.length),a=new Uint8Array(i),r=0;r<t.length;r+=1)a[r]=t.charCodeAt(r);return n=e.split(",")[0].split(":")[1].split(";")[0],l?new Blob([Y.hasArrayBufferViewSupport()?a:i],{type:n}):((o=new s).append(i),o.getBlob(n))},arrayBuffer2String:function(e){if(window.TextDecoder)return new TextDecoder("utf-8").decode(e);for(var t,i,a,r=Array.prototype.slice.apply(new Uint8Array(e)),n="",o=0,s=r.length;o<s;)switch((t=r[o++])>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:n+=String.fromCharCode(t);break;case 12:case 13:i=r[o++],n+=String.fromCharCode((31&t)<<6|63&i);break;case 14:i=r[o++],a=r[o++],n+=String.fromCharCode((15&t)<<12|(63&i)<<6|(63&a)<<0)}return n},isHtml:function(e){var t=document.createElement("div");t.innerHTML=e;for(var i=t.childNodes,a=i.length;a--;)if(1===i[a].nodeType)return!0;return!1},isSvg:function(e){return e.match(/^\s*<\?xml/i)&&(e.match(/<!DOCTYPE svg/i)||e.match(/<svg/i))},getMimeType:function(e,t,i){switch(e){case"ffd8ffe0":case"ffd8ffe1":case"ffd8ffe2":return"image/jpeg";case"89504e47":return"image/png";case"47494638":return"image/gif";case"49492a00":return"image/tiff";case"52494646":return"image/webp";case"66747970":return"video/3gp";case"4f676753":return"video/ogg";case"1a45dfa3":return"video/mkv";case"000001ba":case"000001b3":return"video/mpeg";case"3026b275":return"video/wmv";case"25504446":return"application/pdf";case"25215053":return"application/ps";case"504b0304":case"504b0506":case"504b0508":return"application/zip";case"377abcaf":return"application/7z";case"75737461":return"application/tar";case"7801730d":return"application/dmg";default:switch(e.substring(0,6)){case"435753":return"application/x-shockwave-flash";case"494433":return"audio/mp3";case"425a68":return"application/bzip";default:switch(e.substring(0,4)){case"424d":return"image/bmp";case"fffb":return"audio/mp3";case"4d5a":return"application/exe";case"1f9d":case"1fa0":return"application/zip";case"1f8b":return"application/gzip";default:return t&&!t.match(/[^\u0000-\u007f]/)?"application/text-plain":i}}}},addCss:function(e,t){e.removeClass(t).addClass(t)},getElement:function(e,t,i){return Y.isEmpty(e)||Y.isEmpty(e[t])?i:G(e[t])},createElement:function(e,t){return t=t||"div",G(G.parseHTML("<"+t+">"+e+"</"+t+">"))},uniqId:function(){return((new Date).getTime()+Math.floor(Math.random()*Math.pow(10,15))).toString(36)},cspBuffer:{CSP_ATTRIB:"data-csp-01928735",domElementsStyles:{},stash:function(e){var o=this,t=G.parseHTML("<div>"+e+"</div>"),i=G(t);return i.find("[style]").each(function(e,t){var i=G(t),a=i.attr("style"),r=Y.uniqId(),n={};a&&a.length&&(-1===a.indexOf(";")&&(a+=";"),a.slice(0,a.length-1).split(";").map(function(e){(e=e.split(":"))[0]&&(n[e[0]]=e[1]?e[1]:"")}),o.domElementsStyles[r]=n,i.removeAttr("style").attr(o.CSP_ATTRIB,r))}),i.filter("*").removeAttr("style"),(Object.values?Object.values(t):Object.keys(t).map(function(e){return t[e]})).flatMap(function(e){return e.innerHTML}).join("")},apply:function(e){var n=this;G(e).find("["+n.CSP_ATTRIB+"]").each(function(e,t){var i=G(t),a=i.attr(n.CSP_ATTRIB),r=n.domElementsStyles[a];r&&i.css(r),i.removeAttr(n.CSP_ATTRIB)}),n.domElementsStyles={}}},setHtml:function(e,t){var i=Y.cspBuffer;return e.html(i.stash(t)),i.apply(e),e},htmlEncode:function(e,t){return void 0===e?t||null:e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&apos;")},replaceTags:function(e,t){var i=e;return t&&G.each(t,function(e,t){"function"==typeof t&&(t=t()),i=i.split(e).join(t)}),i},cleanMemory:function(e){var t=e.is("img")?e.attr("src"):e.find("source").attr("src");Y.revokeObjectURL(t)},findFileName:function(e){var t=e.lastIndexOf("/");return-1===t&&(t=e.lastIndexOf("\\")),e.split(e.substring(t,t+1)).pop()},checkFullScreen:function(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.msFullscreenElement},toggleFullScreen:function(e){var t=document,i=t.documentElement,a=Y.checkFullScreen();i&&e&&!a?i.requestFullscreen?i.requestFullscreen():i.msRequestFullscreen?i.msRequestFullscreen():i.mozRequestFullScreen?i.mozRequestFullScreen():i.webkitRequestFullscreen&&i.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):a&&(t.exitFullscreen?t.exitFullscreen():t.msExitFullscreen?t.msExitFullscreen():t.mozCancelFullScreen?t.mozCancelFullScreen():t.webkitExitFullscreen&&t.webkitExitFullscreen())},moveArray:function(e,t,i,a){var r=G.extend(!0,[],e);if(a&&r.reverse(),i>=r.length)for(var n=i-r.length;1+n--;)r.push(void 0);return r.splice(i,0,r.splice(t,1)[0]),a&&r.reverse(),r},closeButton:function(e){return'<button type="button" class="'+(e=e?"close "+e:"close")+'" aria-label="Close">\n <span aria-hidden="true">&times;</span>\n</button>'},getRotation:function(e){switch(e){case 2:return"rotateY(180deg)";case 3:return"rotate(180deg)";case 4:return"rotate(180deg) rotateY(180deg)";case 5:return"rotate(270deg) rotateY(180deg)";case 6:return"rotate(90deg)";case 7:return"rotate(90deg) rotateY(180deg)";case 8:return"rotate(270deg)";default:return""}},setTransform:function(e,t){e&&(e.style.transform=t,e.style.webkitTransform=t,e.style["-moz-transform"]=t,e.style["-ms-transform"]=t,e.style["-o-transform"]=t)},getObjectKeys:function(e){var t=[];return e&&G.each(e,function(e){t.push(e)}),t},getObjectSize:function(e){return Y.getObjectKeys(e).length},whenAll:function(e){for(var t,i,a,r=[].slice,n=1===arguments.length&&Y.isArray(e)?e:r.call(arguments),o=G.Deferred(),s=0,l=n.length,d=l,c=i=a=Array(l),u=function(e,t,i){return function(){i!==n&&s++,o.notifyWith(t[e]=this,i[e]=r.call(arguments)),--d||o[(s?"reject":"resolve")+"With"](t,i)}},p=0;p<l;p++)(t=n[p])&&G.isFunction(t.promise)?t.promise().done(u(p,a,n)).fail(u(p,c,i)):(o.notifyWith(this,t),--d);return d||o.resolveWith(a,n),o.promise()}},(u=function(e,t){var i=this;i.$element=G(e),i.$parent=i.$element.parent(),i._validate()&&(i.isPreviewable=Y.hasFileAPISupport(),i.isIE9=Y.isIE(9),i.isIE10=Y.isIE(10),(i.isPreviewable||i.isIE9)&&(i._init(t),i._listen()),i.$element.removeClass("file-loading"))}).prototype={constructor:u,_cleanup:function(){var e=this;e.reader=null,e.clearFileStack(),e.fileBatchCompleted=!0,e.isError=!1,e.isDuplicateError=!1,e.isPersistentError=!1,e.cancelling=!1,e.paused=!1,e.lastProgress=0,e._initAjax()},_isAborted:function(){return this.cancelling||this.paused},_initAjax:function(){var i=this.taskManager={pool:{},addPool:function(e){return i.pool[e]=new i.TasksPool(e)},getPool:function(e){return i.pool[e]},addTask:function(e,t){return new i.Task(e,t)},TasksPool:function(e){var c=this;c.id=e,c.cancelled=!1,c.cancelledDeferrer=G.Deferred(),c.tasks={},c.addTask=function(e,t){return c.tasks[e]=new i.Task(e,t)},c.size=function(){return Y.getObjectSize(c.tasks)},c.run=function(e){var t,i,a,r=0,n=!1,o=Y.getObjectKeys(c.tasks).map(function(e){return c.tasks[e]}),s=[],l=G.Deferred();if(c.cancelled)return c.cancelledDeferrer.resolve(),l.reject();if(!e){var d=Y.getObjectKeys(c.tasks).map(function(e){return c.tasks[e].deferred});return Y.whenAll(d).done(function(){var e=Y.getArray(arguments);c.cancelled?(l.reject.apply(null,e),c.cancelledDeferrer.resolve()):(l.resolve.apply(null,e),c.cancelledDeferrer.reject())}).fail(function(){var e=Y.getArray(arguments);l.reject.apply(null,e),c.cancelled?c.cancelledDeferrer.resolve():c.cancelledDeferrer.reject()}),G.each(c.tasks,function(e){(t=c.tasks[e]).run()}),l}for(i=function(e){G.when(e.deferred).fail(function(){n=!0,a.apply(null,arguments)}).always(a)},a=function(){var e=Y.getArray(arguments);if(l.notify(e),s.push(e),c.cancelled)return l.reject.apply(null,s),void c.cancelledDeferrer.resolve();s.length===c.size()&&(n?l.reject.apply(null,s):l.resolve.apply(null,s)),o.length&&(t=o.shift(),i(t),t.run())};o.length&&r++<e;)t=o.shift(),i(t),t.run();return l},c.cancel=function(){return c.cancelled=!0,c.cancelledDeferrer}},Task:function(e,t){var i=this;i.id=e,i.deferred=G.Deferred(),i.logic=t,i.context=null,i.run=function(){var e=Y.getArray(arguments);return e.unshift(i.deferred),t.apply(i.context,e),i.deferred},i.runWithContext=function(e){return i.context=e,i.run()}}};this.ajaxQueue=[],this.ajaxRequests=[],this.ajaxAborted=!1},_init:function(e,t){var i,a,r,n,o=this,s=o.$element;o.options=e,o.canOrientImage=Y.canOrientImage(s),G.each(e,function(e,t){switch(e){case"minFileCount":case"maxFileCount":case"maxTotalFileCount":case"minFileSize":case"maxFileSize":case"maxFilePreviewSize":case"resizeImageQuality":case"resizeIfSizeMoreThan":case"progressUploadThreshold":case"initialPreviewCount":case"zoomModalHeight":case"minImageHeight":case"maxImageHeight":case"minImageWidth":case"maxImageWidth":o[e]=Y.getNum(t);break;default:o[e]=t}}),0<o.maxTotalFileCount&&o.maxTotalFileCount<o.maxFileCount&&(o.maxTotalFileCount=o.maxFileCount),o.rtl&&(n=o.previewZoomButtonIcons.prev,o.previewZoomButtonIcons.prev=o.previewZoomButtonIcons.next,o.previewZoomButtonIcons.next=n),!isNaN(o.maxAjaxThreads)&&o.maxAjaxThreads<o.resumableUploadOptions.maxThreads&&(o.resumableUploadOptions.maxThreads=o.maxAjaxThreads),o._initFileManager(),"function"==typeof o.autoOrientImage&&(o.autoOrientImage=o.autoOrientImage()),"function"==typeof o.autoOrientImageInitial&&(o.autoOrientImageInitial=o.autoOrientImageInitial()),t||o._cleanup(),o.duplicateErrors=[],o.$form=s.closest("form"),o._initTemplateDefaults(),o.uploadFileAttr=Y.isEmpty(s.attr("name"))?"file_data":s.attr("name"),r=o._getLayoutTemplate("progress"),o.progressTemplate=r.replace("{class}",o.progressClass),o.progressInfoTemplate=r.replace("{class}",o.progressInfoClass),o.progressPauseTemplate=r.replace("{class}",o.progressPauseClass),o.progressCompleteTemplate=r.replace("{class}",o.progressCompleteClass),o.progressErrorTemplate=r.replace("{class}",o.progressErrorClass),o.isDisabled=s.attr("disabled")||s.attr("readonly"),o.isDisabled&&s.attr("disabled",!0),o.isClickable=o.browseOnZoneClick&&o.showPreview&&(o.dropZoneEnabled||!Y.isEmpty(o.defaultPreviewContent)),o.isAjaxUpload=Y.hasFileUploadSupport()&&!Y.isEmpty(o.uploadUrl),o.dropZoneEnabled=Y.hasDragDropSupport()&&o.dropZoneEnabled,o.isAjaxUpload||(o.dropZoneEnabled=o.dropZoneEnabled&&Y.canAssignFilesToInput()),o.slug="function"==typeof e.slugCallback?e.slugCallback:o._slugDefault,o.mainTemplate=o.showCaption?o._getLayoutTemplate("main1"):o._getLayoutTemplate("main2"),o.captionTemplate=o._getLayoutTemplate("caption"),o.previewGenericTemplate=o._getPreviewTemplate("generic"),!o.imageCanvas&&o.resizeImage&&(o.maxImageWidth||o.maxImageHeight)&&(o.imageCanvas=document.createElement("canvas"),o.imageCanvasContext=o.imageCanvas.getContext("2d")),Y.isEmpty(s.attr("id"))&&s.attr("id",Y.uniqId()),o.namespace=".fileinput_"+s.attr("id").replace(/-/g,"_"),void 0===o.$container?o.$container=o._createContainer():o._refreshContainer(),a=o.$container,o.$dropZone=a.find(".file-drop-zone"),o.$progress=a.find(".kv-upload-progress"),o.$btnUpload=a.find(".fileinput-upload"),o.$captionContainer=Y.getElement(e,"elCaptionContainer",a.find(".file-caption")),o.$caption=Y.getElement(e,"elCaptionText",a.find(".file-caption-name")),Y.isEmpty(o.msgPlaceholder)||(i=s.attr("multiple")?o.filePlural:o.fileSingle,o.$caption.attr("placeholder",o.msgPlaceholder.replace("{files}",i))),o.$captionIcon=o.$captionContainer.find(".file-caption-icon"),o.$previewContainer=Y.getElement(e,"elPreviewContainer",a.find(".file-preview")),o.$preview=Y.getElement(e,"elPreviewImage",a.find(".file-preview-thumbnails")),o.$previewStatus=Y.getElement(e,"elPreviewStatus",a.find(".file-preview-status")),o.$errorContainer=Y.getElement(e,"elErrorContainer",o.$previewContainer.find(".kv-fileinput-error")),o._validateDisabled(),Y.isEmpty(o.msgErrorClass)||Y.addCss(o.$errorContainer,o.msgErrorClass),t?o._errorsExist()||o.$errorContainer.hide():(o._resetErrors(),o.$errorContainer.hide(),o.previewInitId="thumb-"+s.attr("id"),o._initPreviewCache(),o._initPreview(!0),o._initPreviewActions(),o.$parent.hasClass("file-loading")&&(o.$container.insertBefore(o.$parent),o.$parent.remove())),o._setFileDropZoneTitle(),s.attr("disabled")&&o.disable(),o._initZoom(),o.hideThumbnailContent&&Y.addCss(o.$preview,"hide-content")},_initFileManager:function(){var l=this;l.uploadStartTime=Y.now(),l.fileManager={stack:{},filesProcessed:[],errors:[],loadedImages:{},totalImages:0,totalFiles:null,totalSize:null,uploadedSize:0,stats:{},initStats:function(e){var t={started:Y.now()};e?l.fileManager.stats[e]=t:l.fileManager.stats=t},getUploadStats:function(e,t,i){var a=l.fileManager,r=e?a.stats[e]&&a.stats[e].started||Y.now():l.uploadStartTime,n=(Y.now()-r)/1e3,o=n?t/n:0,s={fileId:e,started:r,elapsed:n,loaded:t,total:i,bps:o,bitrate:l._getSize(o,["B/s","KB/s","MB/s","GB/s","TB/s","PB/s","EB/s","ZB/s","YB/s"]),pendingBytes:i-t};return e?a.stats[e]=s:a.stats=s,s},exists:function(e){return-1!==G.inArray(e,l.fileManager.getIdList())},count:function(){return l.fileManager.getIdList().length},total:function(){var e=l.fileManager;return e.totalFiles||(e.totalFiles=e.count()),e.totalFiles},getTotalSize:function(){var a=l.fileManager;return a.totalSize||(a.totalSize=0,G.each(l.fileManager.stack,function(e,t){var i=parseFloat(t.size);a.totalSize+=isNaN(i)?0:i})),a.totalSize},add:function(e,t){(t=t||l.fileManager.getId(e))&&(l.fileManager.stack[t]={file:e,name:Y.getFileName(e),relativePath:Y.getFileRelativePath(e),size:e.size,nameFmt:l._getFileName(e,""),sizeFmt:l._getSize(e.size)})},remove:function(e){var t=e.attr("data-fileid");t&&l.fileManager.removeFile(t)},removeFile:function(e){delete l.fileManager.stack[e],delete l.fileManager.loadedImages[e]},move:function(i,a){var r={},n=l.fileManager.stack;(i||a)&&i!==a&&(G.each(n,function(e,t){e!==i&&(r[e]=t),e===a&&(r[i]=n[i])}),l.fileManager.stack=r)},list:function(){var i=[];return G.each(l.fileManager.stack,function(e,t){t&&t.file&&i.push(t.file)}),i},isPending:function(e){return-1===G.inArray(e,l.fileManager.filesProcessed)&&l.fileManager.exists(e)},isProcessed:function(){var t=!0,i=l.fileManager;return G.each(i.stack,function(e){i.isPending(e)&&(t=!1)}),t},clear:function(){var e=l.fileManager;l.isDuplicateError=!1,l.isPersistentError=!1,e.totalFiles=null,e.totalSize=null,e.uploadedSize=0,e.stack={},e.errors=[],e.filesProcessed=[],e.stats={},e.clearImages()},clearImages:function(){l.fileManager.loadedImages={},l.fileManager.totalImages=0},addImage:function(e,t){l.fileManager.loadedImages[e]=t},removeImage:function(e){delete l.fileManager.loadedImages[e]},getImageIdList:function(){return Y.getObjectKeys(l.fileManager.loadedImages)},getImageCount:function(){return l.fileManager.getImageIdList().length},getId:function(e){return l._getFileId(e)},getIndex:function(e){return l.fileManager.getIdList().indexOf(e)},getThumb:function(t){var i=null;return l._getThumbs().each(function(){var e=G(this);e.attr("data-fileid")===t&&(i=e)}),i},getThumbIndex:function(e){var t=e.attr("data-fileid");return l.fileManager.getIndex(t)},getIdList:function(){return Y.getObjectKeys(l.fileManager.stack)},getFile:function(e){return l.fileManager.stack[e]||null},getFileName:function(e,t){var i=l.fileManager.getFile(e);return i?t?i.nameFmt||"":i.name||"":""},getFirstFile:function(){var e=l.fileManager.getIdList(),t=e&&e.length?e[0]:null;return l.fileManager.getFile(t)},setFile:function(e,t){l.fileManager.getFile(e)?l.fileManager.stack[e].file=t:l.fileManager.add(t,e)},setProcessed:function(e){l.fileManager.filesProcessed.push(e)},getProgress:function(){var e=l.fileManager.total(),t=l.fileManager.filesProcessed.length;return e?Math.ceil(t/e*100):0},setProgress:function(e,t){var i=l.fileManager.getFile(e);!isNaN(t)&&i&&(i.progress=t)}}},_setUploadData:function(a,e){var r=this;G.each(e,function(e,t){var i=r.uploadParamNames[e]||e;Y.isArray(t)?a.append(i,t[0],t[1]):a.append(i,t)})},_initResumableUpload:function(){var w,b=this,_=b.resumableUploadOptions,C=Y.logMessages,y=b.fileManager;if(b.enableResumableUpload)if(!1!==_.fallback&&"function"!=typeof _.fallback&&(_.fallback=function(e){e._log(C.noResumableSupport),e.enableResumableUpload=!1}),Y.hasResumableUploadSupport()||!1===_.fallback){if(!b.uploadUrl&&b.enableResumableUpload)return b._log(C.noUploadUrl),void(b.enableResumableUpload=!1);if(_.chunkSize=parseFloat(_.chunkSize),_.chunkSize<=0||isNaN(_.chunkSize))return b._log(C.invalidChunkSize,{chunkSize:_.chunkSize}),void(b.enableResumableUpload=!1);(w=b.resumableManager={init:function(e,t,i){w.logs=[],w.stack=[],w.error="",w.id=e,w.file=t.file,w.fileName=t.name,w.fileIndex=i,w.completed=!1,w.lastProgress=0,b.showPreview&&(w.$thumb=y.getThumb(e)||null,w.$progress=w.$btnDelete=null,w.$thumb&&w.$thumb.length&&(w.$progress=w.$thumb.find(".file-thumb-progress"),w.$btnDelete=w.$thumb.find(".kv-file-remove"))),w.chunkSize=1024*_.chunkSize,w.chunkCount=w.getTotalChunks()},setAjaxError:function(e,t,i,a){e.responseJSON&&e.responseJSON.error&&(i=e.responseJSON.error.toString()),a||(w.error=i),_.showErrorLog&&b._log(C.ajaxError,{status:e.status,error:i,text:e.responseText||""})},reset:function(){w.stack=[],w.chunksProcessed={}},setProcessed:function(e){var t,i=w.id,a=w.$thumb,r=w.$progress,n=a&&a.length,o={id:n?a.attr("id"):"",index:y.getIndex(i),fileId:i};w.completed=!0,w.lastProgress=0,n&&a.removeClass("file-uploading"),"success"===e?(y.uploadedSize+=w.file.size,b.showPreview&&(b._setProgress(101,r),b._setThumbStatus(a,"Success"),b._initUploadSuccess(w.chunksProcessed[i].data,a)),y.removeFile(i),delete w.chunksProcessed[i],b._raise("fileuploaded",[o.id,o.index,o.fileId]),y.isProcessed()&&b._setProgress(101)):"cancel"!==e&&(b.showPreview&&(b._setThumbStatus(a,"Error"),b._setPreviewError(a,!0),b._setProgress(101,r,b.msgProgressError),b._setProgress(101,b.$progress,b.msgProgressError),b.cancelling=!0),b.$errorContainer.find('li[data-file-id="'+o.fileId+'"]').length||(t=b.msgResumableUploadRetriesExceeded.setTokens({file:w.fileName,max:_.maxRetries,error:w.error}),b._showFileError(t,o))),y.isProcessed()&&w.reset()},check:function(){G.each(w.logs,function(e,t){if(!t)return!1})},processedResumables:function(){var e,t=w.logs,i=0;if(!t||!t.length)return 0;for(e=0;e<t.length;e++)!0===t[e]&&i++;return i},getUploadedSize:function(){var e=w.processedResumables()*w.chunkSize;return e>w.file.size?w.file.size:e},getTotalChunks:function(){var e=parseFloat(w.chunkSize);return!isNaN(e)&&0<e?Math.ceil(w.file.size/e):0},getProgress:function(){var e=w.processedResumables(),t=w.chunkCount;return 0===t?0:Math.ceil(e/t*100)},checkAborted:function(e){b._isAborted()&&(clearInterval(e),b.unlock())},upload:function(){var i=y.getIdList(),a="new",r=setInterval(function(){var e,t;w.checkAborted(r),"new"===a&&(b.lock(),a="processing",e=i.shift(),y.initStats(e),y.stack[e]&&(w.init(e,y.stack[e],y.getIndex(e)),w.processUpload())),!y.isPending(e)&&w.completed&&(a="new"),y.isProcessed()&&((t=b.$preview.find(".file-preview-initial")).length&&(Y.addCss(t,Y.SORT_CSS),b._initSortable()),clearInterval(r),b._clearFileInput(),b.unlock(),setTimeout(function(){var e=b.previewCache.data;e&&(b.initialPreview=e.content,b.initialPreviewConfig=e.config,b.initialPreviewThumbTags=e.tags),b._raise("filebatchuploadcomplete",[b.initialPreview,b.initialPreviewConfig,b.initialPreviewThumbTags,b._getExtraData()])},b.processDelay))},b.processDelay)},uploadResumable:function(){for(var e=b.taskManager,t=w.chunkCount,i=e.addPool(w.id),a=0;a<t;a++)w.logs[a]=!(!w.chunksProcessed[w.id]||!w.chunksProcessed[w.id][a]),w.logs[a]||w.pushAjax(a,0);i.run(_.maxThreads).done(function(){w.setProcessed("success")}).fail(function(){w.setProcessed(i.cancelled?"cancel":"error")})},processUpload:function(){var n,e,t,i,a,r,o,s=w.id;_.testUrl?(n=new FormData,e=y.stack[s],b._setUploadData(n,{fileId:s,fileName:e.fileName,fileSize:e.size,fileRelativePath:e.relativePath,chunkSize:w.chunkSize,chunkCount:w.chunkCount}),t=function(e){o=b._getOutData(n,e),b._raise("filetestbeforesend",[s,y,w,o])},i=function(e,t,i){o=b._getOutData(n,i,e);var a=b.uploadParamNames.chunksUploaded||"chunksUploaded",r=[s,y,w,o];e[a]&&Y.isArray(e[a])?(w.chunksProcessed[s]||(w.chunksProcessed[s]={}),G.each(e[a],function(e,t){w.logs[t]=!0,w.chunksProcessed[s][t]=!0}),w.chunksProcessed[s].data=e,b._raise("filetestsuccess",r)):b._raise("filetesterror",r),w.uploadResumable()},a=function(e,t,i){o=b._getOutData(n,e),b._raise("filetestajaxerror",[s,y,w,o]),w.setAjaxError(e,t,i,!0),w.uploadResumable()},r=function(){b._raise("filetestcomplete",[s,y,w,b._getOutData(n)])},b._ajaxSubmit(t,i,r,a,n,s,w.fileIndex,_.testUrl)):w.uploadResumable()},pushAjax:function(e,t){var i=b.taskManager.getPool(w.id);i.addTask(i.size()+1,function(e){var t=w.stack.shift(),i=t[0];w.chunksProcessed[w.id]&&w.chunksProcessed[w.id][i]?b._log(C.chunkQueueError,{index:i}):w.sendAjax(i,t[1],e)}),w.stack.push([e,t])},sendAjax:function(n,o,s){function l(e,t){t&&(e=e.setTokens(t)),e="Error processing resumable ajax request. "+e,b._log(e),s.reject(e)}var e=w.chunkSize,d=w.id,t=w.file,i=w.$thumb,c=Y.logMessages,a=w.$btnDelete;if(!w.chunksProcessed[d]||!w.chunksProcessed[d][n]){if(o>_.maxRetries)return l(c.resumableMaxRetriesReached,{n:_.maxRetries}),void w.setProcessed("error");var u,r,p,f,g,m=t[t.slice?"slice":t.mozSlice?"mozSlice":t.webkitSlice?"webkitSlice":"slice"](e*n,e*(n+1)),h=new FormData,v=y.stack[d];b._setUploadData(h,{chunkCount:w.chunkCount,chunkIndex:n,chunkSize:e,chunkSizeStart:e*n,fileBlob:[m,w.fileName],fileId:d,fileName:w.fileName,fileRelativePath:v.relativePath,fileSize:t.size,retryCount:o}),w.$progress&&w.$progress.length&&w.$progress.show(),r=function(e){u=b._getOutData(h,e),b.showPreview&&(i.hasClass("file-preview-success")||(b._setThumbStatus(i,"Loading"),Y.addCss(i,"file-uploading")),a.attr("disabled",!0)),b._raise("filechunkbeforesend",[d,n,o,y,w,u])},p=function(e,t,i){var a,r;b._isAborted()?l(c.resumableAborting):(u=b._getOutData(h,i,e),a=b.uploadParamNames.chunkIndex||"chunkIndex",r=[d,n,o,y,w,u],e.error?(_.showErrorLog&&b._log(C.retryStatus,{retry:o+1,filename:w.fileName,chunk:n}),w.pushAjax(n,o+1),w.error=e.error,b._raise("filechunkerror",r)):(w.logs[e[a]]=!0,w.chunksProcessed[d]||(w.chunksProcessed[d]={}),w.chunksProcessed[d][e[a]]=!0,w.chunksProcessed[d].data=e,s.resolve.call(null,e),b._raise("filechunksuccess",r),w.check()))},f=function(e,t,i){b._isAborted()?l(c.resumableAborting):(u=b._getOutData(h,e),w.setAjaxError(e,t,i),b._raise("filechunkajaxerror",[d,n,o,y,w,u]),w.pushAjax(n,o+1),l(c.resumableRetryError,{n:o-1}))},g=function(){b._isAborted()||b._raise("filechunkcomplete",[d,n,o,y,w,b._getOutData(h)])},b._ajaxSubmit(r,p,g,f,h,d,w.fileIndex)}}}).reset()}else _.fallback(b)},_initTemplateDefaults:function(){var i=this,e=Y.closeButton("fileinput-remove"),t='<div id="'+Y.MODAL_ID+'" class="file-zoom-dialog modal fade" tabindex="-1" aria-labelledby="'+Y.MODAL_ID+'Label"></div>',a=" {style}",r='<video class="kv-preview-data file-preview-video" controls'+a+'>\n<source src="{data}" type="{type}">\n'+Y.DEFAULT_PREVIEW+"\n</video>\n",n='\x3c!--suppress ALL --\x3e<audio class="kv-preview-data file-preview-audio" controls'+a+'>\n<source src="{data}" type="{type}">\n'+Y.DEFAULT_PREVIEW+"\n</audio>\n",o='<embed class="kv-preview-data file-preview-pdf" src="{data}" type="application/pdf"'+a+">\n",s='<object class="kv-preview-data file-preview-object file-object {typeCss}" data="{data}" type="{type}"'+a+'>\n<param name="movie" value="{caption}" />\n'+Y.OBJECT_PARAMS+" "+Y.DEFAULT_PREVIEW+"\n</object>\n",l='<div class="kv-preview-data file-preview-other-frame"'+a+">\n"+Y.DEFAULT_PREVIEW+"\n</div>\n",d={width:"100%",height:"100%","min-height":"480px"};i._isPdfRendered()&&(o=i.pdfRendererTemplate.replace("{renderer}",i._encodeURI(i.pdfRendererUrl))),i.defaults={layoutTemplates:{main1:'{preview}\n<div class="kv-upload-progress kv-hidden"></div><div class="clearfix"></div>\n<div class="input-group {class}">\n {caption}\n<div class="input-group-btn input-group-append">\n {remove}\n {cancel}\n {pause}\n {upload}\n {browse}\n </div>\n</div>',main2:'{preview}\n<div class="kv-upload-progress kv-hidden"></div>\n<div class="clearfix"></div>\n{remove}\n{cancel}\n{upload}\n{browse}\n',preview:'<div class="file-preview {class}">\n {close} <div class="{dropClass} clearfix">\n <div class="file-preview-thumbnails clearfix">\n </div>\n <div class="file-preview-status text-center text-success"></div>\n <div class="kv-fileinput-error"></div>\n </div>\n</div>',close:e,fileIcon:'<i class="glyphicon glyphicon-file"></i>',caption:'<div class="file-caption form-control {class}" tabindex="500">\n <span class="file-caption-icon"></span>\n <input class="file-caption-name">\n</div>',modalMain:t,modal:'<div class="modal-dialog modal-lg{rtl}" role="document">\n <div class="modal-content">\n <div class="modal-header">\n <h5 class="modal-title">{heading}</h5>\n <span class="kv-zoom-title"></span>\n <div class="kv-zoom-actions">{toggleheader}{fullscreen}{borderless}{close}</div>\n </div>\n <div class="modal-body">\n <div class="floating-buttons"></div>\n <div class="kv-zoom-body file-zoom-content {zoomFrameClass}"></div>\n{prev} {next}\n </div>\n </div>\n</div>\n',progress:'<div class="progress">\n <div class="{class}" role="progressbar" aria-valuenow="{percent}" aria-valuemin="0" aria-valuemax="100" style="width:{percent}%;">\n {status}\n </div>\n</div>{stats}',stats:'<div class="text-info file-upload-stats"><span class="pending-time">{pendingTime}</span> <span class="upload-speed">{uploadSpeed}</span></div>',size:" <samp>({sizeText})</samp>",footer:'<div class="file-thumbnail-footer">\n <div class="file-footer-caption" title="{caption}">\n <div class="file-caption-info">{caption}</div>\n <div class="file-size-info">{size}</div>\n </div>\n {progress}\n{indicator}\n{actions}\n</div>',indicator:'<div class="file-upload-indicator" title="{indicatorTitle}">{indicator}</div>',actions:'<div class="file-actions">\n <div class="file-footer-buttons">\n {download} {upload} {delete} {zoom} {other} </div>\n</div>\n{drag}\n<div class="clearfix"></div>',actionDelete:'<button type="button" class="kv-file-remove {removeClass}" title="{removeTitle}" {dataUrl}{dataKey}>{removeIcon}</button>\n',actionUpload:'<button type="button" class="kv-file-upload {uploadClass}" title="{uploadTitle}">{uploadIcon}</button>',actionDownload:'<a class="kv-file-download {downloadClass}" title="{downloadTitle}" href="{downloadUrl}" download="{caption}" target="_blank">{downloadIcon}</a>',actionZoom:'<button type="button" class="kv-file-zoom {zoomClass}" title="{zoomTitle}">{zoomIcon}</button>',actionDrag:'<span class="file-drag-handle {dragClass}" title="{dragTitle}">{dragIcon}</span>',btnDefault:'<button type="{type}" tabindex="500" title="{title}" class="{css}" {status}>{icon} {label}</button>',btnLink:'<a href="{href}" tabindex="500" title="{title}" class="{css}" {status}>{icon} {label}</a>',btnBrowse:'<div tabindex="500" class="{css}" {status}>{icon} {label}</div>',zoomCache:'<div class="kv-zoom-cache" style="display:none">{zoomContent}</div>'},previewMarkupTags:{tagBefore1:'<div class="file-preview-frame {frameClass}" id="{previewId}" data-fileindex="{fileindex}" data-fileid="{fileid}" data-template="{template}"><div class="kv-file-content">\n',tagBefore2:'<div class="file-preview-frame {frameClass}" id="{previewId}" data-fileindex="{fileindex}" data-fileid="{fileid}" data-template="{template}" title="{caption}"><div class="kv-file-content">\n',tagAfter:"</div>{footer}\n{zoomCache}</div>\n"},previewContentTemplates:{generic:"{content}\n",html:'<div class="kv-preview-data file-preview-html" title="{caption}" {style}>{data}</div>\n',image:'<img src="{data}" class="file-preview-image kv-preview-data" title="{title}" alt="{alt}" {style}>\n',text:'<textarea class="kv-preview-data file-preview-text" title="{caption}" readonly {style}>{data}</textarea>\n',office:'<iframe class="kv-preview-data file-preview-office" src="https://view.officeapps.live.com/op/embed.aspx?src={data}" {style}></iframe>',gdocs:'<iframe class="kv-preview-data file-preview-gdocs" src="https://docs.google.com/gview?url={data}&embedded=true" {style}></iframe>',video:r,audio:n,flash:'<embed class="kv-preview-data file-preview-flash" src="{data}" type="application/x-shockwave-flash" {style}>\n',object:s,pdf:o,other:l},allowedPreviewTypes:["image","html","text","video","audio","flash","pdf","object"],previewTemplates:{},previewSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:{width:"213px",height:"160px"},text:{width:"213px",height:"160px"},office:{width:"213px",height:"160px"},gdocs:{width:"213px",height:"160px"},video:{width:"213px",height:"160px"},audio:{width:"100%",height:"30px"},flash:{width:"213px",height:"160px"},object:{width:"213px",height:"160px"},pdf:{width:"100%",height:"160px",position:"relative"},other:{width:"213px",height:"160px"}},previewSettingsSmall:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:{width:"100%",height:"160px"},text:{width:"100%",height:"160px"},office:{width:"100%",height:"160px"},gdocs:{width:"100%",height:"160px"},video:{width:"100%",height:"auto"},audio:{width:"100%",height:"30px"},flash:{width:"100%",height:"auto"},object:{width:"100%",height:"auto"},pdf:{width:"100%",height:"160px"},other:{width:"100%",height:"160px"}},previewZoomSettings:{image:{width:"auto",height:"auto","max-width":"100%","max-height":"100%"},html:d,text:d,office:{width:"100%",height:"100%","max-width":"100%","min-height":"480px"},gdocs:{width:"100%",height:"100%","max-width":"100%","min-height":"480px"},video:{width:"auto",height:"100%","max-width":"100%"},audio:{width:"100%",height:"30px"},flash:{width:"auto",height:"480px"},object:{width:"auto",height:"100%","max-width":"100%","min-height":"480px"},pdf:d,other:{width:"auto",height:"100%","min-height":"480px"}},mimeTypeAliases:{"video/quicktime":"video/mp4"},fileTypeSettings:{image:function(e,t){return Y.compare(e,"image.*")&&!Y.compare(e,/(tiff?|wmf)$/i)||Y.compare(t,/\.(gif|png|jpe?g)$/i)},html:function(e,t){return Y.compare(e,"text/html")||Y.compare(t,/\.(htm|html)$/i)},office:function(e,t){return Y.compare(e,/(word|excel|powerpoint|office)$/i)||Y.compare(t,/\.(docx?|xlsx?|pptx?|pps|potx?)$/i)},gdocs:function(e,t){return Y.compare(e,/(word|excel|powerpoint|office|iwork-pages|tiff?)$/i)||Y.compare(t,/\.(docx?|xlsx?|pptx?|pps|potx?|rtf|ods|odt|pages|ai|dxf|ttf|tiff?|wmf|e?ps)$/i)},text:function(e,t){return Y.compare(e,"text.*")||Y.compare(t,/\.(xml|javascript)$/i)||Y.compare(t,/\.(txt|md|csv|nfo|ini|json|php|js|css)$/i)},video:function(e,t){return Y.compare(e,"video.*")&&(Y.compare(e,/(ogg|mp4|mp?g|mov|webm|3gp)$/i)||Y.compare(t,/\.(og?|mp4|webm|mp?g|mov|3gp)$/i))},audio:function(e,t){return Y.compare(e,"audio.*")&&(Y.compare(t,/(ogg|mp3|mp?g|wav)$/i)||Y.compare(t,/\.(og?|mp3|mp?g|wav)$/i))},flash:function(e,t){return Y.compare(e,"application/x-shockwave-flash",!0)||Y.compare(t,/\.(swf)$/i)},pdf:function(e,t){return Y.compare(e,"application/pdf",!0)||Y.compare(t,/\.(pdf)$/i)},object:function(){return!0},other:function(){return!0}},fileActionSettings:{showRemove:!0,showUpload:!0,showDownload:!0,showZoom:!0,showDrag:!0,removeIcon:'<i class="glyphicon glyphicon-trash"></i>',removeClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",removeErrorClass:"btn btn-sm btn-kv btn-danger",removeTitle:"Remove file",uploadIcon:'<i class="glyphicon glyphicon-upload"></i>',uploadClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",uploadTitle:"Upload file",uploadRetryIcon:'<i class="glyphicon glyphicon-repeat"></i>',uploadRetryTitle:"Retry upload",downloadIcon:'<i class="glyphicon glyphicon-download"></i>',downloadClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",downloadTitle:"Download file",zoomIcon:'<i class="glyphicon glyphicon-zoom-in"></i>',zoomClass:"btn btn-sm btn-kv btn-default btn-outline-secondary",zoomTitle:"View Details",dragIcon:'<i class="glyphicon glyphicon-move"></i>',dragClass:"text-info",dragTitle:"Move / Rearrange",dragSettings:{},indicatorNew:'<i class="glyphicon glyphicon-plus-sign text-warning"></i>',indicatorSuccess:'<i class="glyphicon glyphicon-ok-sign text-success"></i>',indicatorError:'<i class="glyphicon glyphicon-exclamation-sign text-danger"></i>',indicatorLoading:'<i class="glyphicon glyphicon-hourglass text-muted"></i>',indicatorPaused:'<i class="glyphicon glyphicon-pause text-primary"></i>',indicatorNewTitle:"Not uploaded yet",indicatorSuccessTitle:"Uploaded",indicatorErrorTitle:"Upload Error",indicatorLoadingTitle:"Uploading &hellip;",indicatorPausedTitle:"Upload Paused"}},G.each(i.defaults,function(e,t){"allowedPreviewTypes"!==e?i[e]=G.extend(!0,{},t,i[e]):void 0===i.allowedPreviewTypes&&(i.allowedPreviewTypes=t)}),i._initPreviewTemplates()},_initPreviewTemplates:function(){var i,a=this,r=a.previewMarkupTags,n=r.tagAfter;G.each(a.previewContentTemplates,function(e,t){Y.isEmpty(a.previewTemplates[e])&&(i=r.tagBefore2,"generic"!==e&&"image"!==e&&"html"!==e&&"text"!==e||(i=r.tagBefore1),a._isPdfRendered()&&"pdf"===e&&(i=i.replace("kv-file-content","kv-file-content kv-pdf-rendered")),a.previewTemplates[e]=i+t+n)})},_initPreviewCache:function(){var y=this;y.previewCache={data:{},init:function(){var e=y.initialPreview;0<e.length&&!Y.isArray(e)&&(e=e.split(y.initialPreviewDelimiter)),y.previewCache.data={content:e,config:y.initialPreviewConfig,tags:y.initialPreviewThumbTags}},count:function(e){return y.previewCache.data&&y.previewCache.data.content?e?y.previewCache.data.content.filter(function(e){return null!==e}).length:y.previewCache.data.content.length:0},get:function(e,t){function i(e,t,i,a,r,n,o,s){var l=" file-preview-initial "+Y.SORT_CSS+(o?" "+o:""),d=y.previewInitId+"-"+n,c=p&&p.fileId||d;return y._generatePreviewTemplate(e,t,i,a,d,c,!1,null,l,r,n,s,m,p&&p.zoomData||t)}var a,r,n,o,s,l,d,c=Y.INIT_FLAG+e,u=y.previewCache.data,p=u.config[e],f=u.content[e],g=Y.ifSet("previewAsData",p,y.initialPreviewAsData),m=p?{title:p.title||null,alt:p.alt||null}:{title:null,alt:null};return f&&f.length?(t=void 0===t||t,n=Y.ifSet("type",p,y.initialPreviewFileType||"generic"),s=Y.ifSet("filename",p,Y.ifSet("caption",p)),l=Y.ifSet("filetype",p,n),o=y.previewCache.footer(e,t,p&&p.size||null),d=Y.ifSet("frameClass",p),a=g?i(n,f,s,l,o,c,d):i("generic",f,s,l,o,c,d,n).setTokens({content:u.content[e]}),u.tags.length&&u.tags[e]&&(a=Y.replaceTags(a,u.tags[e])),Y.isEmpty(p)||Y.isEmpty(p.frameAttr)||((r=Y.createElement(a)).find(".file-preview-initial").attr(p.frameAttr),a=r.html(),r.remove()),a):""},clean:function(e){e.content=Y.cleanArray(e.content),e.config=Y.cleanArray(e.config),e.tags=Y.cleanArray(e.tags),y.previewCache.data=e},add:function(e,t,i,a){var r,n=y.previewCache.data;return e&&e.length?(r=e.length-1,Y.isArray(e)||(e=e.split(y.initialPreviewDelimiter)),a&&n.content?(r=n.content.push(e[0])-1,n.config[r]=t,n.tags[r]=i):(n.content=e,n.config=t,n.tags=i),y.previewCache.clean(n),r):0},set:function(e,t,i,a){var r,n=y.previewCache.data;if(e&&e.length&&(Y.isArray(e)||(e=e.split(y.initialPreviewDelimiter)),e.filter(function(e){return null!==e}).length)){if(void 0===n.content&&(n.content=[]),void 0===n.config&&(n.config=[]),void 0===n.tags&&(n.tags=[]),a){for(r=0;r<e.length;r++)e[r]&&n.content.push(e[r]);for(r=0;r<t.length;r++)t[r]&&n.config.push(t[r]);for(r=0;r<i.length;r++)i[r]&&n.tags.push(i[r])}else n.content=e,n.config=t,n.tags=i;y.previewCache.clean(n)}},unset:function(e){var t=y.previewCache.count(),i=y.reversePreviewOrder;if(t){if(1===t)return y.previewCache.data.content=[],y.previewCache.data.config=[],y.previewCache.data.tags=[],y.initialPreview=[],y.initialPreviewConfig=[],void(y.initialPreviewThumbTags=[]);y.previewCache.data.content=Y.spliceArray(y.previewCache.data.content,e,i),y.previewCache.data.config=Y.spliceArray(y.previewCache.data.config,e,i),y.previewCache.data.tags=Y.spliceArray(y.previewCache.data.tags,e,i);var a=G.extend(!0,{},y.previewCache.data);y.previewCache.clean(a)}},out:function(){var e,t,i="",a=y.previewCache.count();if(0===a)return{content:"",caption:""};for(e=0;e<a;e++)t=y.previewCache.get(e),i=y.reversePreviewOrder?t+i:i+t;return{content:i,caption:y._getMsgSelected(a)}},footer:function(e,t,i){var a=y.previewCache.data||{};if(Y.isEmpty(a.content))return"";(Y.isEmpty(a.config)||Y.isEmpty(a.config[e]))&&(a.config[e]={}),t=void 0===t||t;var r=a.config[e],n=Y.ifSet("caption",r),o=Y.ifSet("width",r,"auto"),s=Y.ifSet("url",r,!1),l=Y.ifSet("key",r,null),d=Y.ifSet("fileId",r,null),c=y.fileActionSettings,u=y.initialPreviewShowDelete||!1,p=y.initialPreviewDownloadUrl?y.initialPreviewDownloadUrl+"?key="+l+(d?"&fileId="+d:""):"",f=r.downloadUrl||p,g=r.filename||r.caption||"",m=!!f,h=Y.ifSet("showRemove",r,u),v=Y.ifSet("showDownload",r,Y.ifSet("showDownload",c,m)),w=Y.ifSet("showZoom",r,Y.ifSet("showZoom",c,!0)),b=Y.ifSet("showDrag",r,Y.ifSet("showDrag",c,!0)),_=!1===s&&t,v=v&&!1!==r.downloadUrl&&!!f,C=y._renderFileActions(r,!1,v,h,w,b,_,s,l,!0,f,g);return y._getLayoutTemplate("footer").setTokens({progress:y._renderThumbProgress(),actions:C,caption:n,size:y._getSize(i),width:o,indicator:""})}},y.previewCache.init()},_isPdfRendered:function(){var e=this.usePdfRenderer;return("function"==typeof e?e():!!e)&&this.pdfRendererUrl},_handler:function(e,t,i){var a=this.namespace,r=t.split(" ").join(a+" ")+a;e&&e.length&&e.off(r).on(r,i)},_encodeURI:function(e){return this.encodeUrl?encodeURI(e):e},_log:function(e,t){var i=this.$element.attr("id");this.showConsoleLogs&&(i&&(e='"'+i+'": '+e),e="bootstrap-fileinput: "+e,"object"==typeof t&&(e=e.setTokens(t)),window.console&&void 0!==window.console.log?window.console.log(e):window.alert(e))},_validate:function(){var e="file"===this.$element.attr("type");return e||this._log(Y.logMessages.badInputType),e},_errorsExist:function(){var e;return!!this.$errorContainer.find("li").length||((e=Y.createElement(this.$errorContainer.html())).find(".kv-error-close").remove(),e.find("ul").remove(),!!G.trim(e.text()).length)},_errorHandler:function(e,t){function i(e){a._showError(e.replace("{name}",t))}var a=this,r=e.target.error;r.code===r.NOT_FOUND_ERR?i(a.msgFileNotFound):r.code===r.SECURITY_ERR?i(a.msgFileSecured):r.code===r.NOT_READABLE_ERR?i(a.msgFileNotReadable):r.code===r.ABORT_ERR?i(a.msgFilePreviewAborted):i(a.msgFilePreviewError)},_addError:function(e){var t=this,i=t.$errorContainer;e&&i.length&&(Y.setHtml(i,t.errorCloseButton+e),t._handler(i.find(".kv-error-close"),"click",function(){setTimeout(function(){t.showPreview&&!t.getFrames().length&&t.clear(),i.fadeOut("slow")},t.processDelay)}))},_setValidationError:function(e){e=(e?e+" ":"")+"has-error",this.$container.removeClass(e).addClass("has-error"),Y.addCss(this.$captionContainer,"is-invalid")},_resetErrors:function(e){var t=this,i=t.$errorContainer;t.isPersistentError||(t.isError=!1,t.$container.removeClass("has-error"),t.$captionContainer.removeClass("is-invalid"),i.html(""),e?i.fadeOut("slow"):i.hide())},_showFolderError:function(e){var t,i=this,a=i.$errorContainer;e&&(i.isAjaxUpload||i._clearFileInput(),t=i.msgFoldersNotAllowed.replace("{n}",e),i._addError(t),i._setValidationError(),a.fadeIn(i.fadeDelay),i._raise("filefoldererror",[e,t]))},_showFileError:function(e,t,i){var a=this,r=a.$errorContainer,n=i||"fileuploaderror",o=t&&t.fileId||"",s=t&&t.id?'<li data-thumb-id="'+t.id+'" data-file-id="'+o+'">'+e+"</li>":"<li>"+e+"</li>";return 0===r.find("ul").length?a._addError("<ul>"+s+"</ul>"):r.find("ul").append(s),r.fadeIn(a.fadeDelay),a._raise(n,[t,e]),a._setValidationError("file-input-new"),!0},_showError:function(e,t,i){var a=this,r=a.$errorContainer,n=i||"fileerror";return(t=t||{}).reader=a.reader,a._addError(e),r.fadeIn(a.fadeDelay),a._raise(n,[t,e]),a.isAjaxUpload||a._clearFileInput(),a._setValidationError("file-input-new"),a.$btnUpload.attr("disabled",!0),!0},_noFilesError:function(e){var t=this,i=1<t.minFileCount?t.filePlural:t.fileSingle,a=t.msgFilesTooLess.replace("{n}",t.minFileCount).replace("{files}",i),r=t.$errorContainer,a="<li>"+a+"</li>";0===r.find("ul").length?t._addError("<ul>"+a+"</ul>"):r.find("ul").append(a),t.isError=!0,t._updateFileDetails(0),r.fadeIn(t.fadeDelay),t._raise("fileerror",[e,a]),t._clearFileInput(),t._setValidationError()},_parseError:function(e,t,i,a){var r,n=this,o=G.trim(i+""),s=t.responseJSON&&t.responseJSON.error?t.responseJSON.error.toString():"",l=s||t.responseText;return n.cancelling&&n.msgUploadAborted&&(o=n.msgUploadAborted),n.showAjaxErrorDetails&&l&&(s?o=G.trim(s+""):(r=(l=G.trim(l.replace(/\n\s*\n/g,"\n"))).length?"<pre>"+l+"</pre>":"",o+=o?r:l)),o=o||n.msgAjaxError.replace("{operation}",e),n.cancelling=!1,a?"<b>"+a+": </b>"+o:o},_parseFileType:function(e,t){var i,a,r,n=this.allowedPreviewTypes||[];if("application/text-plain"===e)return"text";for(r=0;r<n.length;r++)if(a=n[r],i=(0,this.fileTypeSettings[a])(e,t)?a:"",!Y.isEmpty(i))return i;return"other"},_getPreviewIcon:function(e){var i,a=this,r=null;return e&&-1<e.indexOf(".")&&(i=e.split(".").pop(),a.previewFileIconSettings&&(r=a.previewFileIconSettings[i]||a.previewFileIconSettings[i.toLowerCase()]||null),a.previewFileExtSettings&&G.each(a.previewFileExtSettings,function(e,t){a.previewFileIconSettings[e]&&t(i)&&(r=a.previewFileIconSettings[e])})),r||a.previewFileIcon},_parseFilePreviewIcon:function(e,t){var i=this._getPreviewIcon(t),a=e;return-1<a.indexOf("{previewFileIcon}")&&(a=a.setTokens({previewFileIconClass:this.previewFileIconClass,previewFileIcon:i})),a},_raise:function(e,t){var i=G.Event(e);if(void 0!==t?this.$element.trigger(i,t):this.$element.trigger(i),i.isDefaultPrevented()||!1===i.result)return!1;switch(e){case"filebatchuploadcomplete":case"filebatchuploadsuccess":case"fileuploaded":case"fileclear":case"filecleared":case"filereset":case"fileerror":case"filefoldererror":case"fileuploaderror":case"filebatchuploaderror":case"filedeleteerror":case"filecustomerror":case"filesuccessremove":break;default:this.ajaxAborted||(this.ajaxAborted=i.result)}return!0},_listenFullScreen:function(e){var t,i,a=this.$modal;a&&a.length&&(t=a&&a.find(".btn-fullscreen"),i=a&&a.find(".btn-borderless"),t.length&&i.length&&(t.removeClass("active").attr("aria-pressed","false"),i.removeClass("active").attr("aria-pressed","false"),e?t.addClass("active").attr("aria-pressed","true"):i.addClass("active").attr("aria-pressed","true"),a.hasClass("file-zoom-fullscreen")||e?this._maximizeZoomDialog():i.removeClass("active").attr("aria-pressed","false")))},_listen:function(){var e,t,i=this,a=i.$element,r=i.$form,n=i.$container;i._handler(a,"click",function(e){a.hasClass("file-no-browse")&&(a.data("zoneClicked")?a.data("zoneClicked",!1):e.preventDefault())}),i._handler(a,"change",G.proxy(i._change,i)),i.showBrowse&&i._handler(i.$btnFile,"click",G.proxy(i._browse,i)),e=n.find(".file-caption-name"),t=function(){return!1},i._handler(n.find(".fileinput-remove:not([disabled])"),"click",G.proxy(i.clear,i)),i._handler(n.find(".fileinput-cancel"),"click",G.proxy(i.cancel,i)),i._handler(n.find(".fileinput-pause"),"click",G.proxy(i.pause,i)),i._handler(e,"keydown",t),i._handler(e,"paste",t),i._initDragDrop(),i._handler(r,"reset",G.proxy(i.clear,i)),i.isAjaxUpload||i._handler(r,"submit",G.proxy(i._submitForm,i)),i._handler(i.$container.find(".fileinput-upload"),"click",G.proxy(i._uploadClick,i)),i._handler(G(window),"resize",function(){i._listenFullScreen(screen.width===window.innerWidth&&screen.height===window.innerHeight)}),i._handler(G(document),"webkitfullscreenchange mozfullscreenchange fullscreenchange MSFullscreenChange",function(){i._listenFullScreen(Y.checkFullScreen())}),i._autoFitContent(),i._initClickable(),i._refreshPreview()},_autoFitContent:function(){var i,e=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,a=this,t=e<400?a.previewSettingsSmall||a.defaults.previewSettingsSmall:a.previewSettings||a.defaults.previewSettings;G.each(t,function(e,t){i=".file-preview-frame .file-preview-"+e,a.$preview.find(i+".kv-preview-data,"+i+" .kv-preview-data").css(t)})},_scanDroppedItems:function(t,i,a){a=a||"";function e(e){s._log(Y.logMessages.badDroppedFiles),s._log(e)}var r,n,o,s=this;t.isFile?t.file(function(e){a&&(e.newPath=a+e.name),i.push(e)},e):t.isDirectory&&(n=t.createReader(),(o=function(){n.readEntries(function(e){if(e&&0<e.length){for(r=0;r<e.length;r++)s._scanDroppedItems(e[r],i,a+t.name+"/");o()}return null},e)})())},_initDragDrop:function(){var e=this,t=e.$dropZone;e.dropZoneEnabled&&e.showPreview&&(e._handler(t,"dragenter dragover",G.proxy(e._zoneDragEnter,e)),e._handler(t,"dragleave",G.proxy(e._zoneDragLeave,e)),e._handler(t,"drop",G.proxy(e._zoneDrop,e)),e._handler(G(document),"dragenter dragover drop",e._zoneDragDropInit))},_zoneDragDropInit:function(e){e.stopPropagation(),e.preventDefault()},_zoneDragEnter:function(e){var t=e.originalEvent.dataTransfer,i=-1<G.inArray("Files",t.types);if(this._zoneDragDropInit(e),this.isDisabled||!i)return e.originalEvent.dataTransfer.effectAllowed="none",void(e.originalEvent.dataTransfer.dropEffect="none");this._raise("fileDragEnter",{sourceEvent:e,files:t.types.Files})&&Y.addCss(this.$dropZone,"file-highlighted")},_zoneDragLeave:function(e){this._zoneDragDropInit(e),this.isDisabled||this._raise("fileDragLeave",{sourceEvent:e})&&this.$dropZone.removeClass("file-highlighted")},_zoneDrop:function(e){function t(){a.isAjaxUpload?a._change(e,o):(a.changeTriggered=!0,r.get(0).files=o,setTimeout(function(){a.changeTriggered=!1,r.trigger("change"+a.namespace)},a.processDelay)),a.$dropZone.removeClass("file-highlighted")}var i,a=this,r=a.$element,n=e.originalEvent.dataTransfer,o=n.files,s=n.items,l=Y.getDragDropFolders(s);if(e.preventDefault(),!a.isDisabled&&!Y.isEmpty(o)&&a._raise("fileDragDrop",{sourceEvent:e,files:o}))if(0<l){if(!a.isAjaxUpload)return void a._showFolderError(l);for(o=[],i=0;i<s.length;i++){var d=s[i].webkitGetAsEntry();d&&a._scanDroppedItems(d,o)}setTimeout(function(){t()},500)}else t()},_uploadClick:function(e){var t,i=this.$container.find(".fileinput-upload"),a=!i.hasClass("disabled")&&Y.isEmpty(i.attr("disabled"));e&&e.isDefaultPrevented()||(this.isAjaxUpload?(e.preventDefault(),a&&this.upload()):a&&"submit"!==i.attr("type")&&((t=i.closest("form")).length&&t.trigger("submit"),e.preventDefault()))},_submitForm:function(){return this._isFileSelectionValid()&&!this._abort({})},_clearPreview:function(){var e=this;(e.showUploadedThumbs?e.getFrames(":not(.file-preview-success)"):e.getFrames()).each(function(){G(this).remove()}),e.getFrames().length&&e.showPreview||e._resetUpload(),e._validateDefaultPreview()},_initSortable:function(){var e,t,i,a,l=this,r=l.$preview,n="."+Y.SORT_CSS,o=G("body"),s=G("html"),d=l.reversePreviewOrder,c=window.Sortable;c&&0!==r.find(n).length&&(t=o.length?o:s.length?s:l.$container,e={handle:".drag-handle-init",dataIdAttr:"data-fileid",animation:600,draggable:n,scroll:!(a=function(){t.removeClass("file-grabbing")}),forceFallback:!0,onChoose:i=function(){t.addClass("file-grabbing")},onStart:i,onUnchoose:a,onEnd:a,onSort:function(e){var t,i=e.oldIndex,a=e.newIndex,r=0,n=l.initialPreviewConfig.length,o=0<n&&n<=a,s=G(e.item);o&&(a=n-1),l.initialPreview=Y.moveArray(l.initialPreview,i,a,d),l.initialPreviewConfig=Y.moveArray(l.initialPreviewConfig,i,a,d),l.previewCache.init(),l.getFrames(".file-preview-initial").each(function(){G(this).attr("data-fileindex",Y.INIT_FLAG+r),r++}),o&&(t=l.getFrames(":not(.file-preview-initial):first")).length&&s.slideUp(function(){s.insertBefore(t).slideDown()}),l._raise("filesorted",{previewId:s.attr("id"),oldIndex:i,newIndex:a,stack:l.initialPreviewConfig})}},G.extend(!0,e,l.fileActionSettings.dragSettings),l.sortable&&l.sortable.destroy(),l.sortable=c.create(r[0],e))},_setPreviewContent:function(e){Y.setHtml(this.$preview,e),this._autoFitContent()},_initPreviewImageOrientations:function(){var n=this,o=0,s=n.canOrientImage;(n.autoOrientImageInitial||s)&&n.getFrames(".file-preview-initial").each(function(){var e,t,i,a=G(this),r=n.initialPreviewConfig[o];r&&r.exif&&r.exif.Orientation&&(i=a.attr("id"),e=a.find(">.kv-file-content img"),t=n._getZoom(i," >.kv-file-content img"),s?e.css("image-orientation",n.autoOrientImageInitial?"from-image":"none"):n.setImageOrientation(e,t,r.exif.Orientation,a)),o++})},_initPreview:function(e){var t,i=this,a=i.initialCaption||"";if(!i.previewCache.count(!0))return i._clearPreview(),void(e?i._setCaption(a):i._initCaption());t=i.previewCache.out(),a=e&&i.initialCaption?i.initialCaption:t.caption,i._setPreviewContent(t.content),i._setInitThumbAttr(),i._setCaption(a),i._initSortable(),Y.isEmpty(t.content)||i.$container.removeClass("file-input-new"),i._initPreviewImageOrientations()},_getZoomButton:function(e){var t=this.previewZoomButtonIcons[e],i=this.previewZoomButtonClasses[e],a=' title="'+(this.previewZoomButtonTitles[e]||"")+'" '+("close"===e?' data-dismiss="modal" aria-hidden="true"':"");return"fullscreen"!==e&&"borderless"!==e&&"toggleheader"!==e||(a+=' data-toggle="button" aria-pressed="false" autocomplete="off"'),'<button type="button" class="'+i+" btn-"+e+'"'+a+">"+t+"</button>"},_getModalContent:function(){var e=this;return e._getLayoutTemplate("modal").setTokens({rtl:e.rtl?" kv-rtl":"",zoomFrameClass:e.frameClass,heading:e.msgZoomModalHeading,prev:e._getZoomButton("prev"),next:e._getZoomButton("next"),toggleheader:e._getZoomButton("toggleheader"),fullscreen:e._getZoomButton("fullscreen"),borderless:e._getZoomButton("borderless"),close:e._getZoomButton("close")})},_listenModalEvent:function(a){var r=this,n=r.$modal;n.on(a+".bs.modal",function(e){var t=n.find(".btn-fullscreen"),i=n.find(".btn-borderless");n.data("fileinputPluginId")===r.$element.attr("id")&&r._raise("filezoom"+a,{sourceEvent:e,previewId:n.data("previewId"),modal:n}),"shown"===a&&(i.removeClass("active").attr("aria-pressed","false"),t.removeClass("active").attr("aria-pressed","false"),n.hasClass("file-zoom-fullscreen")&&(r._maximizeZoomDialog(),Y.checkFullScreen()?t.addClass("active").attr("aria-pressed","true"):i.addClass("active").attr("aria-pressed","true")))})},_initZoom:function(){var e,i=this,t=i._getLayoutTemplate("modalMain"),a="#"+Y.MODAL_ID;i.showPreview&&(i.$modal=G(a),i.$modal&&i.$modal.length||(e=Y.createElement(Y.cspBuffer.stash(t)).insertAfter(i.$container),i.$modal=G(a).insertBefore(e),Y.cspBuffer.apply(i.$modal),e.remove()),Y.initModal(i.$modal),i.$modal.html(Y.cspBuffer.stash(i._getModalContent())),Y.cspBuffer.apply(i.$modal),G.each(Y.MODAL_EVENTS,function(e,t){i._listenModalEvent(t)}))},_initZoomButtons:function(){var e,t,i=this.$modal.data("previewId")||"",a=this.getFrames().toArray(),r=a.length,n=this.$modal.find(".btn-prev"),o=this.$modal.find(".btn-next");if(a.length<2)return n.hide(),void o.hide();n.show(),o.show(),r&&(e=G(a[0]),t=G(a[r-1]),n.removeAttr("disabled"),o.removeAttr("disabled"),e.length&&e.attr("id")===i&&n.attr("disabled",!0),t.length&&t.attr("id")===i&&o.attr("disabled",!0))},_maximizeZoomDialog:function(){var e=this.$modal,t=e.find(".modal-header:visible"),i=e.find(".modal-footer:visible"),a=e.find(".modal-body"),r=G(window).height();e.addClass("file-zoom-fullscreen"),t&&t.length&&(r-=t.outerHeight(!0)),i&&i.length&&(r-=i.outerHeight(!0)),a&&a.length&&(r-=a.outerHeight(!0)-a.height()),e.find(".kv-zoom-body").height(r)},_resizeZoomDialog:function(e){var t=this,i=t.$modal,a=i.find(".btn-fullscreen"),r=i.find(".btn-borderless");if(i.hasClass("file-zoom-fullscreen"))Y.toggleFullScreen(!1),e?a.hasClass("active")||(i.removeClass("file-zoom-fullscreen"),t._resizeZoomDialog(!0),r.hasClass("active")&&r.removeClass("active").attr("aria-pressed","false")):a.hasClass("active")?a.removeClass("active").attr("aria-pressed","false"):(i.removeClass("file-zoom-fullscreen"),t.$modal.find(".kv-zoom-body").css("height",t.zoomModalHeight));else{if(!e)return void t._maximizeZoomDialog();Y.toggleFullScreen(!0)}i.focus()},_setZoomContent:function(e,t){var i,a,r,n,s=this,o=e.attr("id"),l=s._getZoom(o),d=s.$modal,c=d.find(".btn-fullscreen"),u=d.find(".btn-borderless"),p=d.find(".btn-toggleheader"),f=l.attr("data-template")||"generic",g=l.find(".kv-file-content"),m=g.length?g.html():"",h=(e.data("caption")||"")+" "+(e.data("size")||"");d.find(".kv-zoom-title").attr("title",G("<div/>").html(h).text()).html(h),i=d.find(".kv-zoom-body"),d.removeClass("kv-single-content"),t?(n=i.addClass("file-thumb-loading").clone().insertAfter(i),Y.setHtml(i,m).hide(),n.fadeOut("fast",function(){i.fadeIn("fast",function(){i.removeClass("file-thumb-loading")}),n.remove()})):Y.setHtml(i,m),(r=s.previewZoomSettings[f])&&(a=i.find(".kv-preview-data"),Y.addCss(a,"file-zoom-detail"),G.each(r,function(e,t){a.css(e,t),(a.attr("width")&&"width"===e||a.attr("height")&&"height"===e)&&a.removeAttr(e)})),d.data("previewId",o),s._handler(d.find(".btn-prev"),"click",function(){s._zoomSlideShow("prev",o)}),s._handler(d.find(".btn-next"),"click",function(){s._zoomSlideShow("next",o)}),s._handler(c,"click",function(){s._resizeZoomDialog(!0)}),s._handler(u,"click",function(){s._resizeZoomDialog(!1)}),s._handler(p,"click",function(){function e(e){var t=s.$modal.find(".kv-zoom-body"),i=s.zoomModalHeight;d.hasClass("file-zoom-fullscreen")&&(i=t.outerHeight(!0),e||(i-=a.outerHeight(!0))),t.css("height",e?i+e:i)}var t,a=d.find(".modal-header"),i=d.find(".modal-body .floating-buttons"),r=a.find(".kv-zoom-actions");a.is(":visible")?(t=a.outerHeight(!0),a.slideUp("slow",function(){r.find(".btn").appendTo(i),e(t)})):(i.find(".btn").appendTo(r),a.slideDown("slow",function(){e()})),d.focus()}),s._handler(d,"keydown",function(e){var t=e.which||e.keyCode,i=G(this).find(".btn-prev"),a=G(this).find(".btn-next"),r=G(this).data("previewId"),n=s.rtl?39:37,o=s.rtl?37:39;t===n&&i.length&&!i.attr("disabled")&&s._zoomSlideShow("prev",r),t===o&&a.length&&!a.attr("disabled")&&s._zoomSlideShow("next",r)})},_showModal:function(e){var t=this,i=t.$modal;e&&e.length&&(Y.initModal(i),Y.setHtml(i,t._getModalContent()),t._setZoomContent(e),i.data("fileinputPluginId",t.$element.attr("id")),i.modal("show"),t._initZoomButtons())},_zoomPreview:function(e){var t;if(!e.length)throw"Cannot zoom to detailed preview!";t=e.closest(Y.FRAMES),this._showModal(t)},_zoomSlideShow:function(e,t){var i,a,r,n,o=this,s=o.$modal.find(".kv-zoom-actions .btn-"+e),l=o.getFrames().toArray(),d=[],c=l.length;if(!s.attr("disabled")){for(a=0;a<c;a++)(r=G(l[a]))&&r.length&&r.find(".kv-file-zoom:visible").length&&d.push(l[a]);for(c=d.length,a=0;a<c;a++)if(G(d[a]).attr("id")===t){n="prev"===e?a-1:a+1;break}n<0||c<=n||!d[n]||((i=G(d[n])).length&&o._setZoomContent(i,!0),o._initZoomButtons(),o._raise("filezoom"+e,{previewId:t,modal:o.$modal}))}},_initZoomButton:function(){var t=this;t.$preview.find(".kv-file-zoom").each(function(){var e=G(this);t._handler(e,"click",function(){t._zoomPreview(e)})})},_inputFileCount:function(){return this.$element[0].files.length},_refreshPreview:function(){var e,t=this;(t._inputFileCount()||t.isAjaxUpload)&&t.showPreview&&t.isPreviewable&&(t.isAjaxUpload&&0<t.fileManager.count()?(e=G.extend(!0,{},t.fileManager.stack),t.fileManager.clear(),t._clearFileInput()):e=t.$element[0].files,e&&e.length&&(t.readFiles(e),t._setFileDropZoneTitle()))},_clearObjects:function(e){e.find("video audio").each(function(){this.pause(),G(this).remove()}),e.find("img object div").each(function(){G(this).remove()})},_clearFileInput:function(){var e,t,i,a=this.$element;this._inputFileCount()&&(e=a.closest("form"),t=G(document.createElement("form")),i=G(document.createElement("div")),a.before(i),e.length?e.after(t):i.after(t),t.append(a).trigger("reset"),i.before(a).remove(),t.remove())},_resetUpload:function(){var e=this;e.uploadStartTime=Y.now(),e.uploadCache=[],e.$btnUpload.removeAttr("disabled"),e._setProgress(0),e._hideProgress(),e._resetErrors(!1),e._initAjax(),e.fileManager.clearImages(),e._resetCanvas(),e.overwriteInitial&&(e.initialPreview=[],e.initialPreviewConfig=[],e.initialPreviewThumbTags=[],e.previewCache.data={content:[],config:[],tags:[]})},_resetCanvas:function(){var e=this;e.canvas&&e.imageCanvasContext&&e.imageCanvasContext.clearRect(0,0,e.canvas.width,e.canvas.height)},_hasInitialPreview:function(){return!this.overwriteInitial&&this.previewCache.count(!0)},_resetPreview:function(){var e,t,i,a=this,r=a.showUploadedThumbs,n=!a.removeFromPreviewOnError,o=(r||n)&&a.isDuplicateError;a.previewCache.count(!0)?(e=a.previewCache.out(),o&&(i=Y.createElement("").insertAfter(a.$container),a.getFrames().each(function(){var e=G(this);(r&&e.hasClass("file-preview-success")||n&&e.hasClass("file-preview-error"))&&i.append(e)})),a._setPreviewContent(e.content),a._setInitThumbAttr(),t=a.initialCaption?a.initialCaption:e.caption,a._setCaption(t),o&&(i.contents().appendTo(a.$preview),i.remove())):(a._clearPreview(),a._initCaption()),a.showPreview&&(a._initZoom(),a._initSortable()),a.isDuplicateError=!1},_clearDefaultPreview:function(){this.$preview.find(".file-default-preview").remove()},_validateDefaultPreview:function(){var e=this;e.showPreview&&!Y.isEmpty(e.defaultPreviewContent)&&(e._setPreviewContent('<div class="file-default-preview">'+e.defaultPreviewContent+"</div>"),e.$container.removeClass("file-input-new"),e._initClickable())},_resetPreviewThumbs:function(e){var t,i=this;if(e)return i._clearPreview(),void i.clearFileStack();i._hasInitialPreview()?(t=i.previewCache.out(),i._setPreviewContent(t.content),i._setInitThumbAttr(),i._setCaption(t.caption),i._initPreviewActions()):i._clearPreview()},_getLayoutTemplate:function(e){var t=this.layoutTemplates[e];return Y.isEmpty(this.customLayoutTags)?t:Y.replaceTags(t,this.customLayoutTags)},_getPreviewTemplate:function(e){var t=this.previewTemplates,i=t[e]||t.other;return Y.isEmpty(this.customPreviewTags)?i:Y.replaceTags(i,this.customPreviewTags)},_getOutData:function(e,t,i,a){var r=this;return t=t||{},i=i||{},{formdata:e,files:a=a||r.fileManager.list(),filenames:r.filenames,filescount:r.getFilesCount(),extra:r._getExtraData(),response:i,reader:r.reader,jqXHR:t}},_getMsgSelected:function(e){var t=1===e?this.fileSingle:this.filePlural;return 0<e?this.msgSelected.replace("{n}",e).replace("{files}",t):this.msgNoFilesSelected},_getFrame:function(e,t){var i=Y.getFrameElement(this.$preview,e);return!this.showPreview||t||i.length||this._log(Y.logMessages.invalidThumb,{id:e}),i},_getZoom:function(e,t){var i=Y.getZoomElement(this.$preview,e,t);return this.showPreview&&!i.length&&this._log(Y.logMessages.invalidThumb,{id:e}),i},_getThumbs:function(e){return e=e||"",this.getFrames(":not(.file-preview-initial)"+e)},_getThumbId:function(e){return this.previewInitId+"-"+e},_getExtraData:function(e,t){var i=this.uploadExtraData;return"function"==typeof this.uploadExtraData&&(i=this.uploadExtraData(e,t)),i},_initXhr:function(e,n){var o=this,s=o.fileManager,t=function(e){var t=0,i=e.total,a=e.loaded||e.position,r=s.getUploadStats(n,a,i);e.lengthComputable&&!o.enableResumableUpload&&(t=Y.round(a/i*100)),n?o._setFileUploadStats(n,t,r):o._setProgress(t,null,null,o._getStats(r)),o._raise("fileajaxprogress",[r])};return e.upload&&(o.progressDelay&&(t=Y.debounce(t,o.progressDelay)),e.upload.addEventListener("progress",t,!1)),e},_initAjaxSettings:function(){this._ajaxSettings=G.extend(!0,{},this.ajaxSettings),this._ajaxDeleteSettings=G.extend(!0,{},this.ajaxDeleteSettings)},_mergeAjaxCallback:function(e,t,i){var a,r=this._ajaxSettings,n=this.mergeAjaxCallbacks;"delete"===i&&(r=this._ajaxDeleteSettings,n=this.mergeAjaxDeleteCallbacks),a=r[e],r[e]=n&&"function"==typeof a?"before"===n?function(){a.apply(this,arguments),t.apply(this,arguments)}:function(){t.apply(this,arguments),a.apply(this,arguments)}:t},_ajaxSubmit:function(e,t,i,a,r,n,o,s){var l,d,c,u,p=this;p._raise("filepreajax",[r,n,o])&&(r.append("initialPreview",JSON.stringify(p.initialPreview)),r.append("initialPreviewConfig",JSON.stringify(p.initialPreviewConfig)),r.append("initialPreviewThumbTags",JSON.stringify(p.initialPreviewThumbTags)),p._initAjaxSettings(),p._mergeAjaxCallback("beforeSend",e),p._mergeAjaxCallback("success",t),p._mergeAjaxCallback("complete",i),p._mergeAjaxCallback("error",a),"function"==typeof(s=s||p.uploadUrlThumb||p.uploadUrl)&&(s=s()),"object"==typeof(c=p._getExtraData(n,o)||{})&&G.each(c,function(e,t){r.append(e,t)}),d={xhr:function(){var e=G.ajaxSettings.xhr();return p._initXhr(e,n)},url:p._encodeURI(s),type:"POST",dataType:"json",data:r,cache:!1,processData:!1,contentType:!1},l=G.extend(!0,{},d,p._ajaxSettings),u=p.taskManager.addTask(n+"-"+o,function(){var e=this.self,t=e.ajaxQueue.shift(),i=G.ajax(t);e.ajaxRequests.push(i)}),p.ajaxQueue.push(l),u.runWithContext({self:p}))},_mergeArray:function(e,t){var i=Y.cleanArray(this[e]),a=Y.cleanArray(t);this[e]=i.concat(a)},_initUploadSuccess:function(e,t,i){var a,r,n,o,s,l,d,c,u,p,f=this;f.showPreview&&"object"==typeof e&&!G.isEmptyObject(e)&&void 0!==e.initialPreview&&0<e.initialPreview.length&&(f.hasInitData=!0,l=e.initialPreview||[],d=e.initialPreviewConfig||[],c=e.initialPreviewThumbTags||[],a=void 0===e.append||e.append,0<l.length&&!Y.isArray(l)&&(l=l.split(f.initialPreviewDelimiter)),l.length&&(f._mergeArray("initialPreview",l),f._mergeArray("initialPreviewConfig",d),f._mergeArray("initialPreviewThumbTags",c)),void 0!==t?i?(u=t.attr("id"),null!==(p=f._getUploadCacheIndex(u))&&(f.uploadCache[p]={id:u,content:l[0],config:d[0]||[],tags:c[0]||[],append:a})):(n=f.previewCache.add(l[0],d[0],c[0],a),r=f.previewCache.get(n,!1),(s=(o=Y.createElement(r).hide().appendTo(t)).find(".kv-zoom-cache"))&&s.length&&s.appendTo(t),t.fadeOut("slow",function(){var e=o.find(".file-preview-frame");e&&e.length&&e.insertBefore(t).fadeIn("slow").css("display:inline-block"),f._initPreviewActions(),f._clearFileInput(),t.remove(),o.remove(),f._initSortable()})):(f.previewCache.set(l,d,c,a),f._initPreview(),f._initPreviewActions())),f._resetCaption()},_getUploadCacheIndex:function(e){for(var t=this.uploadCache.length,i=0;i<t;i++)if(this.uploadCache[i].id===e)return i;return null},_initSuccessThumbs:function(){var a=this;a.showPreview&&a._getThumbs(Y.FRAMES+".file-preview-success").each(function(){var i=G(this),e=i.find(".kv-file-remove");e.removeAttr("disabled"),a._handler(e,"click",function(){var e=i.attr("id"),t=a._raise("filesuccessremove",[e,i.attr("data-fileindex")]);Y.cleanMemory(i),!1!==t&&i.fadeOut("slow",function(){i.remove(),a.getFrames().length||a.reset()})})})},_updateInitialPreview:function(){var i=this,e=i.uploadCache;i.showPreview&&(G.each(e,function(e,t){i.previewCache.add(t.content,t.config,t.tags,t.append)}),i.hasInitData&&(i._initPreview(),i._initPreviewActions()))},_uploadSingle:function(r,n,o){var s,l,e,d,t,c,u,i,p,a,f,g,m,h=this,v=h.fileManager,w=v.count(),b=new FormData,_=h._getThumbId(n),C=0<w||!G.isEmptyObject(h.uploadExtraData),y=h.ajaxOperations.uploadThumb,x=v.getFile(n),T={id:_,index:r,fileId:n},P=h.fileManager.getFileName(n,!0);h.enableResumableUpload||(h.showPreview&&(l=h.fileManager.getThumb(n),u=l.find(".file-thumb-progress"),d=l.find(".kv-file-upload"),t=l.find(".kv-file-remove"),u.show()),0===w||!C||h.showPreview&&d&&d.hasClass("disabled")||h._abort(T)||(m=function(){c?v.errors.push(n):v.removeFile(n),v.setProcessed(n),v.isProcessed()&&(h.fileBatchCompleted=!0,e())},e=function(){var i;h.fileBatchCompleted&&setTimeout(function(){var e=0===v.count(),t=v.errors.length;h._updateInitialPreview(),h.unlock(e),e&&h._clearFileInput(),i=h.$preview.find(".file-preview-initial"),h.uploadAsync&&i.length&&(Y.addCss(i,Y.SORT_CSS),h._initSortable()),h._raise("filebatchuploadcomplete",[v.stack,h._getExtraData()]),h.retryErrorUploads&&0!==t||v.clear(),h._setProgress(101),h.ajaxAborted=!1},h.processDelay)},i=function(e){s=h._getOutData(b,e),v.initStats(n),h.fileBatchCompleted=!1,o||(h.ajaxAborted=!1),h.showPreview&&(l.hasClass("file-preview-success")||(h._setThumbStatus(l,"Loading"),Y.addCss(l,"file-uploading")),d.attr("disabled",!0),t.attr("disabled",!0)),o||h.lock(),-1!==v.errors.indexOf(n)&&delete v.errors[n],h._raise("filepreupload",[s,_,r]),G.extend(!0,T,s),h._abort(T)&&(e.abort(),o||(h._setThumbStatus(l,"New"),l.removeClass("file-uploading"),d.removeAttr("disabled"),t.removeAttr("disabled"),h.unlock()),h._setProgressCancelled())},a=function(e,t,i){var a=h.showPreview&&l.attr("id")?l.attr("id"):_;s=h._getOutData(b,i,e),G.extend(!0,T,s),setTimeout(function(){Y.isEmpty(e)||Y.isEmpty(e.error)?(h.showPreview&&(h._setThumbStatus(l,"Success"),d.hide(),h._initUploadSuccess(e,l,o),h._setProgress(101,u)),h._raise("fileuploaded",[s,a,r]),o?m():h.fileManager.remove(l)):(c=!0,p=h._parseError(y,i,h.msgUploadError,h.fileManager.getFileName(n)),h._showFileError(p,T),h._setPreviewError(l,!0),h.retryErrorUploads||d.hide(),o&&m(),h._setProgress(101,h._getFrame(a).find(".file-thumb-progress"),h.msgUploadError))},h.processDelay)},f=function(){h.showPreview&&(d.removeAttr("disabled"),t.removeAttr("disabled"),l.removeClass("file-uploading")),o?e():(h.unlock(!1),h._clearFileInput()),h._initSuccessThumbs()},g=function(t,e,i){p=h._parseError(y,t,i,h.fileManager.getFileName(n)),c=!0,setTimeout(function(){var e;o&&m(),h.fileManager.setProgress(n,100),h._setPreviewError(l,!0),h.retryErrorUploads||d.hide(),G.extend(!0,T,h._getOutData(b,t)),h._setProgress(101,h.$progress,h.msgAjaxProgressError.replace("{operation}",y)),e=h.showPreview&&l?l.find(".file-thumb-progress"):"",h._setProgress(101,e,h.msgUploadError),h._showFileError(p,T)},h.processDelay)},b.append(h.uploadFileAttr,x.file,P),h._setUploadData(b,{fileId:n}),h._ajaxSubmit(i,a,f,g,b,n,r)))},_uploadBatch:function(){var e,t,i,a,s,l,r,d=this,n=d.fileManager,o=n.total(),c=0<o||!G.isEmptyObject(d.uploadExtraData),u=new FormData,p=d.ajaxOperations.uploadBatch;0!==o&&c&&!d._abort({})&&(l=function(){d.fileManager.clear(),d._clearFileInput()},e=function(e){d.lock(),n.initStats();var t=d._getOutData(u,e);d.ajaxAborted=!1,d.showPreview&&d._getThumbs().each(function(){var e=G(this),t=e.find(".kv-file-upload"),i=e.find(".kv-file-remove");e.hasClass("file-preview-success")||(d._setThumbStatus(e,"Loading"),Y.addCss(e,"file-uploading")),t.attr("disabled",!0),i.attr("disabled",!0)}),d._raise("filebatchpreupload",[t]),d._abort(t)&&(e.abort(),d._getThumbs().each(function(){var e=G(this),t=e.find(".kv-file-upload"),i=e.find(".kv-file-remove");e.hasClass("file-preview-loading")&&(d._setThumbStatus(e,"New"),e.removeClass("file-uploading")),t.removeAttr("disabled"),i.removeAttr("disabled")}),d._setProgressCancelled())},t=function(e,t,i){var a=d._getOutData(u,i,e),r=0,n=d._getThumbs(":not(.file-preview-success)"),o=Y.isEmpty(e)||Y.isEmpty(e.errorkeys)?[]:e.errorkeys;Y.isEmpty(e)||Y.isEmpty(e.error)?(d._raise("filebatchuploadsuccess",[a]),l(),d.showPreview?(n.each(function(){var e=G(this);d._setThumbStatus(e,"Success"),e.removeClass("file-uploading"),e.find(".kv-file-upload").hide().removeAttr("disabled")}),d._initUploadSuccess(e)):d.reset(),d._setProgress(101)):(d.showPreview&&(n.each(function(){var e=G(this);e.removeClass("file-uploading"),e.find(".kv-file-upload").removeAttr("disabled"),e.find(".kv-file-remove").removeAttr("disabled"),0===o.length||-1!==G.inArray(r,o)?(d._setPreviewError(e,!0),d.retryErrorUploads||(e.find(".kv-file-upload").hide(),d.fileManager.remove(e))):(e.find(".kv-file-upload").hide(),d._setThumbStatus(e,"Success"),d.fileManager.remove(e)),e.hasClass("file-preview-error")&&!d.retryErrorUploads||r++}),d._initUploadSuccess(e)),s=d._parseError(p,i,d.msgUploadError),d._showFileError(s,a,"filebatchuploaderror"),d._setProgress(101,d.$progress,d.msgUploadError))},a=function(){d.unlock(),d._initSuccessThumbs(),d._clearFileInput(),d._raise("filebatchuploadcomplete",[d.fileManager.stack,d._getExtraData()])},i=function(e,t,i){var a=d._getOutData(u,e);s=d._parseError(p,e,i),d._showFileError(s,a,"filebatchuploaderror"),d.uploadFileCount=o-1,d.showPreview&&(d._getThumbs().each(function(){var e=G(this);e.removeClass("file-uploading"),d.fileManager.getFile(e.attr("data-fileid"))&&d._setPreviewError(e)}),d._getThumbs().removeClass("file-uploading"),d._getThumbs(" .kv-file-upload").removeAttr("disabled"),d._getThumbs(" .kv-file-delete").removeAttr("disabled"),d._setProgress(101,d.$progress,d.msgAjaxProgressError.replace("{operation}",p)))},r=0,G.each(d.fileManager.stack,function(e,t){Y.isEmpty(t.file)||u.append(d.uploadFileAttr,t.file,t.nameFmt||"untitled_"+r),r++}),d._ajaxSubmit(e,t,a,i,u))},_uploadExtraOnly:function(){var e,t,i,a,r,n=this,o={},s=new FormData,l=n.ajaxOperations.uploadExtra;n._abort(o)||(e=function(e){n.lock();var t=n._getOutData(s,e);n._raise("filebatchpreupload",[t]),n._setProgress(50),o.data=t,o.xhr=e,n._abort(o)&&(e.abort(),n._setProgressCancelled())},t=function(e,t,i){var a=n._getOutData(s,i,e);Y.isEmpty(e)||Y.isEmpty(e.error)?(n._raise("filebatchuploadsuccess",[a]),n._clearFileInput(),n._initUploadSuccess(e),n._setProgress(101)):(r=n._parseError(l,i,n.msgUploadError),n._showFileError(r,a,"filebatchuploaderror"))},i=function(){n.unlock(),n._clearFileInput(),n._raise("filebatchuploadcomplete",[n.fileManager.stack,n._getExtraData()])},a=function(e,t,i){var a=n._getOutData(s,e);r=n._parseError(l,e,i),o.data=a,n._showFileError(r,a,"filebatchuploaderror"),n._setProgress(101,n.$progress,n.msgAjaxProgressError.replace("{operation}",l))},n._ajaxSubmit(e,t,i,a,s))},_deleteFileIndex:function(e){var t=this,i=e.attr("data-fileindex"),a=t.reversePreviewOrder;i.substring(0,5)===Y.INIT_FLAG&&(i=parseInt(i.replace(Y.INIT_FLAG,"")),t.initialPreview=Y.spliceArray(t.initialPreview,i,a),t.initialPreviewConfig=Y.spliceArray(t.initialPreviewConfig,i,a),t.initialPreviewThumbTags=Y.spliceArray(t.initialPreviewThumbTags,i,a),t.getFrames().each(function(){var e=G(this),t=e.attr("data-fileindex");t.substring(0,5)===Y.INIT_FLAG&&(t=parseInt(t.replace(Y.INIT_FLAG,"")),i<t&&(t--,e.attr("data-fileindex",Y.INIT_FLAG+t)))}))},_resetCaption:function(){var o=this;setTimeout(function(){var e,t,i,a=o.previewCache.count(!0),r=o.fileManager.count(),n=o.showPreview&&o.getFrames(":not(.file-preview-success):not(.file-preview-error)").length;0!==r||0!==a||n?(e=1<(t=a+r)?o._getMsgSelected(t):(i=o.fileManager.getFirstFile())?i.nameFmt:"_",o._setCaption(e)):o.reset()},o.processDelay)},_initFileActions:function(){var n=this;n.showPreview&&(n._initZoomButton(),n.getFrames(" .kv-file-remove").each(function(){var e,t=G(this),i=t.closest(Y.FRAMES),a=i.attr("id"),r=i.attr("data-fileindex");n._handler(t,"click",function(){return!(!1===n._raise("filepreremove",[a,r])||!n._validateMinCount())&&(e=i.hasClass("file-preview-error"),Y.cleanMemory(i),void i.fadeOut("slow",function(){n.fileManager.remove(i),n._clearObjects(i),i.remove(),a&&e&&n.$errorContainer.find('li[data-thumb-id="'+a+'"]').fadeOut("fast",function(){G(this).remove(),n._errorsExist()||n._resetErrors()}),n._clearFileInput(),n._resetCaption(),n._raise("fileremoved",[a,r])}))})}),n.getFrames(" .kv-file-upload").each(function(){var i=G(this);n._handler(i,"click",function(){var e=i.closest(Y.FRAMES),t=e.attr("data-fileid");n._hideProgress(),e.hasClass("file-preview-error")&&!n.retryErrorUploads||n._uploadSingle(n.fileManager.getIndex(t),t,!1)})}))},_initPreviewActions:function(){function h(){var e=v.isAjaxUpload?v.previewCache.count(!0):v._inputFileCount();v.getFrames().length||e||(v._setCaption(""),v.reset(),v.initialCaption="")}var v=this,e=v.$preview,w=v.deleteExtraData||{},t=Y.FRAMES+" .kv-file-remove",i=v.fileActionSettings,b=i.removeClass,_=i.removeErrorClass;v._initZoomButton(),e.find(t).each(function(){var n,e,t,i,o,a,r,s,l,d,c,u,p=G(this),f=p.data("url")||v.deleteUrl,g=p.data("key"),m=v.ajaxOperations.deleteThumb;Y.isEmpty(f)||void 0===g||("function"==typeof f&&(f=f()),o=p.closest(Y.FRAMES),a=v.previewCache.data,l=o.attr("data-fileindex"),l=parseInt(l.replace(Y.INIT_FLAG,"")),d=Y.isEmpty(a.config)&&Y.isEmpty(a.config[l])?null:a.config[l],c=Y.isEmpty(d)||Y.isEmpty(d.extra)?w:d.extra,u=d&&(d.filename||d.caption)||"","function"==typeof c&&(c=c()),s={id:p.attr("id"),key:g,extra:c},e=function(e){v.ajaxAborted=!1,v._raise("filepredelete",[g,e,c]),v._abort()?e.abort():(p.removeClass(_),Y.addCss(o,"file-uploading"),Y.addCss(p,"disabled "+b))},t=function(e,t,i){var a,r;if(!Y.isEmpty(e)&&!Y.isEmpty(e.error))return s.jqXHR=i,s.response=e,n=v._parseError(m,i,v.msgDeleteError,u),v._showFileError(n,s,"filedeleteerror"),o.removeClass("file-uploading"),p.removeClass("disabled "+b).addClass(_),void h();o.removeClass("file-uploading").addClass("file-deleted"),o.fadeOut("slow",function(){l=parseInt(o.attr("data-fileindex").replace(Y.INIT_FLAG,"")),v.previewCache.unset(l),v._deleteFileIndex(o),a=v.previewCache.count(!0),r=0<a?v._getMsgSelected(a):"",v._setCaption(r),v._raise("filedeleted",[g,i,c]),v._clearObjects(o),o.remove(),h()})},i=function(e,t,i){var a=v._parseError(m,e,i,u);s.jqXHR=e,s.response={},v._showFileError(a,s,"filedeleteerror"),o.removeClass("file-uploading"),p.removeClass("disabled "+b).addClass(_),h()},v._initAjaxSettings(),v._mergeAjaxCallback("beforeSend",e,"delete"),v._mergeAjaxCallback("success",t,"delete"),v._mergeAjaxCallback("error",i,"delete"),r=G.extend(!0,{},{url:v._encodeURI(f),type:"POST",dataType:"json",data:G.extend(!0,{},{key:g},c)},v._ajaxDeleteSettings),v._handler(p,"click",function(){return!!v._validateMinCount()&&(v.ajaxAborted=!1,v._raise("filebeforedelete",[g,c]),void(v.ajaxAborted instanceof Promise?v.ajaxAborted.then(function(e){e||G.ajax(r)}):v.ajaxAborted||G.ajax(r)))}))})},_hideFileIcon:function(){this.overwriteInitial&&this.$captionContainer.removeClass("icon-visible")},_showFileIcon:function(){Y.addCss(this.$captionContainer,"icon-visible")},_getSize:function(e,t){var i,a,r=parseFloat(e),n=this.fileSizeGetter;return G.isNumeric(e)&&G.isNumeric(r)?(a="function"==typeof n?n(r):0===r?"0.00 B":(i=Math.floor(Math.log(r)/Math.log(1024)),t=t||["B","KB","MB","GB","TB","PB","EB","ZB","YB"],+(r/Math.pow(1024,i)).toFixed(2)+" "+t[i]),this._getLayoutTemplate("size").replace("{sizeText}",a)):""},_getFileType:function(e){return this.mimeTypeAliases[e]||e},_generatePreviewTemplate:function(s,e,l,d,c,u,t,i,p,a,f,g,m,r){var n,h=this,v=h.slug(l),o="",w="",b=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,_=v,C=v,y="type-default",x=a||h._renderFileFooter(s,v,i,"auto",t),T=h.preferIconicPreview,P=h.preferIconicZoomPreview,k=T?"other":s,F=b<400?h.previewSettingsSmall[k]||h.defaults.previewSettingsSmall[k]:h.previewSettings[k]||h.defaults.previewSettings[k];return F&&G.each(F,function(e,t){w+=e+":"+t+";"}),n=function(e,t,i,a){var r=i?"zoom-"+c:c,n=h._getPreviewTemplate(e),o=(p||"")+" "+a;return h.frameClass&&(o=h.frameClass+" "+o),i&&(o=o.replace(" "+Y.SORT_CSS,"")),n=h._parseFilePreviewIcon(n,l),"text"===e&&(t=Y.htmlEncode(t)),"object"!==s||d||G.each(h.defaults.fileTypeSettings,function(e,t){"object"!==e&&"other"!==e&&t(l,d)&&(y="type-"+e)}),Y.isEmpty(m)||(void 0!==m.title&&null!==m.title&&(_=m.title),void 0!==m.alt&&null!==m.alt&&(_=m.alt)),n.setTokens({previewId:r,caption:v,title:_,alt:C,frameClass:o,type:h._getFileType(d),fileindex:f,fileid:u||"",typeCss:y,footer:x,data:t,template:g||s,style:w?'style="'+w+'"':""})},f=f||c.slice(c.lastIndexOf("-")+1),h.fileActionSettings.showZoom&&(o=n(P?"other":s,r||e,!0,"kv-zoom-thumb")),o="\n"+h._getLayoutTemplate("zoomCache").replace("{zoomContent}",o),"function"==typeof h.sanitizeZoomCache&&(o=h.sanitizeZoomCache(o)),n(T?"other":s,e,!1,"kv-preview-thumb").setTokens({zoomCache:o})},_addToPreview:function(e,t){var i;return t=Y.cspBuffer.stash(t),i=this.reversePreviewOrder?e.prepend(t):e.append(t),Y.cspBuffer.apply(e),i},_previewDefault:function(e,t){var i,a,r,n,o,s,l,d,c,u=this,p=u.$preview;u.showPreview&&(i=Y.getFileName(e),a=e?e.type:"",n=e.size||0,o=u._getFileName(e,""),s=!0===t&&!u.isAjaxUpload,l=Y.createObjectURL(e),d=u.fileManager.getId(e),c=u._getThumbId(d),u._clearDefaultPreview(),r=u._generatePreviewTemplate("other",l,i,a,c,d,s,n),u._addToPreview(p,r),u._setThumbAttr(c,o,n),!0===t&&u.isAjaxUpload&&u._setThumbStatus(u._getFrame(c),"Error"))},_previewFile:function(e,t,i,a,r){var n,o,s,l,d,c,u,p,f,g,m,h;this.showPreview&&(n=this,o=Y.getFileName(t),s=r.type,l=r.name,d=n._parseFileType(s,o),u=n.$preview,p=t.size||0,f="text"===d||"html"===d||"image"===d?i.target.result:a,g=n.fileManager.getId(t),m=n._getThumbId(g),"html"===d&&n.purifyHtml&&window.DOMPurify&&(f=window.DOMPurify.sanitize(f)),c=n._generatePreviewTemplate(d,f,o,s,m,g,!1,p),n._clearDefaultPreview(),n._addToPreview(u,c),h=n._getFrame(m),n._validateImageOrientation(h.find("img"),t,m,g,l,s,p,f),n._setThumbAttr(m,l,p),n._initSortable())},_setThumbAttr:function(e,t,i){var a=this._getFrame(e);a.length&&(i=i&&0<i?this._getSize(i):"",a.data({caption:t,size:i}))},_setInitThumbAttr:function(){var e,t,i,a,r=this.previewCache.data,n=this.previewCache.count(!0);if(0!==n)for(var o=0;o<n;o++)e=r.config[o],a=this.previewInitId+"-"+Y.INIT_FLAG+o,t=Y.ifSet("caption",e,Y.ifSet("filename",e)),i=Y.ifSet("size",e),this._setThumbAttr(a,t,i)},_slugDefault:function(e){return Y.isEmpty(e,!0)?"":String(e).replace(/[\[\]\/\{}:;#%=\(\)\*\+\?\\\^\$\|<>&"']/g,"_")},_updateFileDetails:function(e,t){var i=this,a=i.$element,r=Y.isIE(9)&&Y.findFileName(a.val())||a[0].files[0]&&a[0].files[0].name,n=!r&&0<i.fileManager.count()?i.fileManager.getFirstFile().nameFmt:r?i.slug(r):"_",o=i.isAjaxUpload?i.fileManager.count():e,s=i.previewCache.count(!0)+o,l=1===o?n:i._getMsgSelected(s);i.isError?(i.$previewContainer.removeClass("file-thumb-loading"),i.$previewStatus.html(""),i.$captionContainer.removeClass("icon-visible")):i._showFileIcon(),i._setCaption(l,i.isError),i.$container.removeClass("file-input-new file-input-ajax-new"),t||i._raise("fileselect",[e,n]),i.previewCache.count(!0)&&i._initPreviewActions()},_setThumbStatus:function(e,t){var i,a,r,n,o;this.showPreview&&(a=(i="indicator"+t)+"Title",r="file-preview-"+t.toLowerCase(),n=e.find(".file-upload-indicator"),o=this.fileActionSettings,e.removeClass("file-preview-success file-preview-error file-preview-paused file-preview-loading"),"Success"===t&&e.find(".file-drag-handle").remove(),Y.setHtml(n,o[i]),n.attr("title",o[a]),e.addClass(r),"Error"!==t||this.retryErrorUploads||e.find(".kv-file-upload").attr("disabled",!0))},_setProgressCancelled:function(){this._setProgress(101,this.$progress,this.msgCancelled)},_setProgress:function(e,t,i,a){var r,n,o,s,l,d=this;(t=t||d.$progress).length&&(r=Math.min(e,100),o=d.progressUploadThreshold,s=e<=100?d.progressTemplate:d.progressCompleteTemplate,l=r<100?d.progressTemplate:i?d.paused?d.progressPauseTemplate:d.progressErrorTemplate:s,100<=e&&(a=""),Y.isEmpty(l)||(a=a||"",n=(n=o&&o<r&&e<=100?l.setTokens({percent:o,status:d.msgUploadThreshold}):l.setTokens({percent:r,status:100<e?d.msgUploadEnd:r+"%"})).setTokens({stats:a}),Y.setHtml(t,n),i&&Y.setHtml(t.find('[role="progressbar"]'),i)))},_hasFiles:function(){var e=this.$element[0];return!!(e&&e.files&&e.files.length)},_setFileDropZoneTitle:function(){var e,t=this,i=t.$container.find(".file-drop-zone"),a=t.dropZoneTitle;t.isClickable&&(e=Y.isEmpty(t.$element.attr("multiple"))?t.fileSingle:t.filePlural,a+=t.dropZoneClickTitle.replace("{files}",e)),i.find("."+t.dropZoneTitleClass).remove(),!t.showPreview||0===i.length||0<t.fileManager.count()||!t.dropZoneEnabled||0<t.previewCache.count()||!t.isAjaxUpload&&t._hasFiles()||(0===i.find(Y.FRAMES).length&&Y.isEmpty(t.defaultPreviewContent)&&i.prepend('<div class="'+t.dropZoneTitleClass+'">'+a+"</div>"),t.$container.removeClass("file-input-new"),Y.addCss(t.$container,"file-input-ajax-new"))},_getStats:function(e){var t,i;return this.showUploadStats&&e&&e.bitrate?(i=this._getLayoutTemplate("stats"),t=e.elapsed&&e.bps?this.msgPendingTime.setTokens({time:Y.getElapsed(Math.ceil(e.pendingBytes/e.bps))}):this.msgCalculatingTime,i.setTokens({uploadSpeed:e.bitrate,pendingTime:t})):""},_setResumableProgress:function(e,t,i){var a=this.resumableManager,r=i?a:this,n=i?i.find(".file-thumb-progress"):null;0===r.lastProgress&&(r.lastProgress=e),e<r.lastProgress&&(e=r.lastProgress),this._setProgress(e,n,null,this._getStats(t)),r.lastProgress=e},_toggleResumableProgress:function(e,t){var i=this.$progress;i&&i.length&&Y.setHtml(i,e.setTokens({percent:101,status:t,stats:""}))},_setFileUploadStats:function(e,t,i){var a,r,n,o,s,l,d,c,u,p,f,g=this,m=g.$progress;(g.showPreview||m&&m.length)&&(a=g.fileManager,r=g.resumableManager,n=a.getThumb(e),s=0,l=a.getTotalSize(),d=G.extend(!0,{},i),g.enableResumableUpload?(c=i.loaded,u=r.getUploadedSize(),p=r.file.size,c+=u,f=a.uploadedSize+c,t=Y.round(100*c/p),i.pendingBytes=p-u,g._setResumableProgress(t,i,n),o=Math.floor(100*f/l),d.pendingBytes=l-f,g._setResumableProgress(o,d)):(a.setProgress(e,t),m=n&&n.length?n.find(".file-thumb-progress"):null,g._setProgress(t,m,null,g._getStats(i)),G.each(a.stats,function(e,t){s+=t.loaded}),d.pendingBytes=l-s,o=Y.round(s/l*100),g._setProgress(o,null,null,g._getStats(d))))},_validateMinCount:function(){var e=this,t=e.isAjaxUpload?e.fileManager.count():e._inputFileCount();return!(e.validateInitialCount&&0<e.minFileCount&&e._getFileCount(t-1)<e.minFileCount)||(e._noFilesError({}),!1)},_getFileCount:function(e,t){return void 0===t&&(t=this.validateInitialCount&&!this.overwriteInitial),t&&(e+=this.previewCache.count(!0)),e},_getFileId:function(e){return Y.getFileId(e,this.generateFileId)},_getFileName:function(e,t){var i=Y.getFileName(e);return i?this.slug(i):t},_getFileNames:function(t){return this.filenames.filter(function(e){return t?void 0!==e:null!=e})},_setPreviewError:function(e,t){var i=this,a=i.removeFromPreviewOnError&&!i.retryErrorUploads;t&&!a||i.fileManager.remove(e),i.showPreview&&(a?e.remove():(i._setThumbStatus(e,"Error"),i._refreshUploadButton(e)))},_refreshUploadButton:function(e){var t=e.find(".kv-file-upload"),i=this.fileActionSettings,a=i.uploadIcon,r=i.uploadTitle;t.length&&(this.retryErrorUploads&&(a=i.uploadRetryIcon,r=i.uploadRetryTitle),t.attr("title",r),Y.setHtml(t,a))},_checkDimensions:function(e,t,i,a,r,n,o){var s,l,d,c=this[("Small"===t?"min":"max")+"Image"+n];!Y.isEmpty(c)&&i.length&&(d=i[0],l="Width"===n?d.naturalWidth||d.width:d.naturalHeight||d.height,("Small"===t?c<=l:l<=c)||(s=this["msgImage"+n+t].setTokens({name:r,size:c}),this._showFileError(s,o),this._setPreviewError(a)))},_getExifObj:function(e){var t,i=Y.logMessages.exifWarning;if("data:image/jpeg;base64,"===e.slice(0,23)||"data:image/jpg;base64,"===e.slice(0,22)){try{t=window.piexif?window.piexif.load(e):null}catch(e){t=null,i=e&&e.message||""}return t||this._log(Y.logMessages.badExifParser,{details:i}),t}t=null},setImageOrientation:function(d,c,u,p){var f,g,e,m=this,t=!d||!d.length,i=!c||!c.length,h=!1,v=t&&p&&"image"===p.attr("data-template");t&&i||(e="load.fileinputimageorient",v?(d=c,c=null,d.css(m.previewSettings.image),g=G(document.createElement("div")).appendTo(p.find(".kv-file-content")),f=G(document.createElement("span")).insertBefore(d),d.css("visibility","hidden").removeClass("file-zoom-detail").appendTo(g)):h=!d.is(":visible"),d.off(e).on(e,function(){h&&(m.$preview.removeClass("hide-content"),p.find(".kv-file-content").css("visibility","hidden"));var e=d[0],t=c&&c.length?c[0]:null,i=e.offsetHeight,a=e.offsetWidth,r=Y.getRotation(u);if(h&&(p.find(".kv-file-content").css("visibility","visible"),m.$preview.addClass("hide-content")),d.data("orientation",u),t&&c.data("orientation",u),u<5)return Y.setTransform(e,r),void Y.setTransform(t,r);var n=Math.atan(a/i),o=Math.sqrt(Math.pow(i,2)+Math.pow(a,2)),s=o?i/Math.cos(Math.PI/2+n)/o:1,l=" scale("+Math.abs(s)+")";Y.setTransform(e,r+l),Y.setTransform(t,r+l),v&&(d.css("visibility","visible").insertAfter(f).addClass("file-zoom-detail"),f.remove(),g.remove())}))},_validateImageOrientation:function(e,t,i,a,r,n,o,s){var l,d,c,u=this,p=u.autoOrientImage;u.canOrientImage?e.css("image-orientation",p?"from-image":"none"):(c=Y.getZoomSelector(i," img"),(d=(l=p?u._getExifObj(s):null)?l["0th"][piexif.ImageIFD.Orientation]:null)&&(u.setImageOrientation(e,G(c),d,u._getFrame(i)),u._raise("fileimageoriented",{$img:e,file:t})),u._validateImage(i,a,r,n,o,s,l))},_validateImage:function(e,t,i,a,r,n,o){var s,l,d=this,c=d.$preview,u=d._getFrame(e),p=u.attr("data-fileindex"),f=u.find("img");i=i||"Untitled",f.one("load",function(){l=u.width(),c.width()<l&&f.css("width","100%"),s={ind:p,id:e,fileId:t},d._checkDimensions(p,"Small",f,u,i,"Width",s),d._checkDimensions(p,"Small",f,u,i,"Height",s),d.resizeImage||(d._checkDimensions(p,"Large",f,u,i,"Width",s),d._checkDimensions(p,"Large",f,u,i,"Height",s)),d._raise("fileimageloaded",[e]),d.fileManager.addImage(t,{ind:p,img:f,thumb:u,pid:e,typ:a,siz:r,validated:!1,imgData:n,exifObj:o}),u.data("exif",o),d._validateAllImages()}).one("error",function(){d._raise("fileimageloaderror",[e])}).each(function(){this.complete?G(this).trigger("load"):this.error&&G(this).trigger("error")})},_validateAllImages:function(){var i,a=this,r={val:0},n=a.fileManager.getImageCount(),o=a.resizeIfSizeMoreThan;n===a.fileManager.totalImages&&(a._raise("fileimagesloaded"),a.resizeImage&&G.each(a.fileManager.loadedImages,function(e,t){t.validated||((i=t.siz)&&1e3*o<i&&a._getResizedImage(e,t,r,n),t.validated=!0)}))},_getResizedImage:function(e,t,i,a){var r,n,o,s,l,d=this,c=G(t.img)[0],u=c.naturalWidth,p=c.naturalHeight,f=1,g=d.maxImageWidth||u,m=d.maxImageHeight||p,h=!(!u||!p),v=d.imageCanvas,w=d.imageCanvasContext,b=t.typ,_=t.pid,C=t.ind,y=t.thumb,x=t.exifObj,T=function(e,t,i){d.isAjaxUpload?d._showFileError(e,t,i):d._showError(e,t,i),d._setPreviewError(y)},P=d.fileManager.getFile(e),k={id:_,index:C,fileId:e},F=[e,_,C];if(P&&h&&!(u<=g&&p<=m)||(h&&P&&d._raise("fileimageresized",F),i.val++,i.val===a&&d._raise("fileimagesresized"),h)){b=b||d.resizeDefaultImageType,n=g<u,o=m<p,f="width"===d.resizePreference?n?g/u:o?m/p:1:o?m/p:n?g/u:1,d._resetCanvas(),u*=f,p*=f,v.width=u,v.height=p;try{w.drawImage(c,0,0,u,p),s=v.toDataURL(b,d.resizeQuality),x&&(l=window.piexif.dump(x),s=window.piexif.insert(l,s)),r=Y.dataURI2Blob(s),d.fileManager.setFile(e,r),d._raise("fileimageresized",F),i.val++,i.val===a&&d._raise("fileimagesresized",[void 0,void 0]),r instanceof Blob||T(d.msgImageResizeError,k,"fileimageresizeerror")}catch(e){i.val++,i.val===a&&d._raise("fileimagesresized",[void 0,void 0]),T(d.msgImageResizeException.replace("{errors}",e.message),k,"fileimageresizeexception")}}else T(d.msgImageResizeError,k,"fileimageresizeerror")},_showProgress:function(){this.$progress&&this.$progress.length&&this.$progress.show()},_hideProgress:function(){this.$progress&&this.$progress.length&&this.$progress.hide()},_initBrowse:function(e){var t=this.$element;this.showBrowse?this.$btnFile=e.find(".btn-file").append(t):(t.appendTo(e).attr("tabindex",-1),Y.addCss(t,"file-no-browse"))},_initClickable:function(){var i,e,a=this;a.isClickable&&(i=a.$dropZone,a.isAjaxUpload||(e=a.$preview.find(".file-default-preview")).length&&(i=e),Y.addCss(i,"clickable"),i.attr("tabindex",-1),a._handler(i,"click",function(e){var t=G(e.target);G(a.elErrorContainer+":visible").length||t.parents(".file-preview-thumbnails").length&&!t.parents(".file-default-preview").length||(a.$element.data("zoneClicked",!0).trigger("click"),i.blur())}))},_initCaption:function(){var e=this.initialCaption||"";return this.overwriteInitial||Y.isEmpty(e)?(this.$caption.val(""),!1):(this._setCaption(e),!0)},_setCaption:function(e,t){var i,a,r,n,o,s,l=this;if(l.$caption.length){if(l.$captionContainer.removeClass("icon-visible"),t)i=G("<div>"+l.msgValidationError+"</div>").text(),o=(n=l.fileManager.count())?(s=l.fileManager.getFirstFile(),1===n&&s?s.nameFmt:l._getMsgSelected(n)):l._getMsgSelected(l.msgNo),a=Y.isEmpty(e)?o:e,r='<span class="'+l.msgValidationErrorClass+'">'+l.msgValidationErrorIcon+"</span>";else{if(Y.isEmpty(e))return;a=i=G("<div>"+e+"</div>").text(),r=l._getLayoutTemplate("fileIcon")}l.$captionContainer.addClass("icon-visible"),l.$caption.attr("title",i).val(a),Y.setHtml(l.$captionIcon,r)}},_createContainer:function(){var e=this,t={class:"file-input file-input-new"+(e.rtl?" kv-rtl":"")},i=Y.createElement(Y.cspBuffer.stash(e._renderMain()));return Y.cspBuffer.apply(i),i.insertBefore(e.$element).attr(t),e._initBrowse(i),e.theme&&i.addClass("theme-"+e.theme),i},_refreshContainer:function(){var e=this,t=e.$container;e.$element.insertAfter(t),Y.setHtml(t,e._renderMain()),e._initBrowse(t),e._validateDisabled()},_validateDisabled:function(){this.$caption.attr({readonly:this.isDisabled})},_renderMain:function(){var e=this,t=e.dropZoneEnabled?" file-drop-zone":"file-drop-disabled",i=e.showClose?e._getLayoutTemplate("close"):"",a=e.showPreview?e._getLayoutTemplate("preview").setTokens({class:e.previewClass,dropClass:t}):"",r=e.isDisabled?e.captionClass+" file-caption-disabled":e.captionClass,n=e.captionTemplate.setTokens({class:r+" kv-fileinput-caption"});return e.mainTemplate.setTokens({class:e.mainClass+(!e.showBrowse&&e.showCaption?" no-browse":""),preview:a,close:i,caption:n,upload:e._renderButton("upload"),remove:e._renderButton("remove"),cancel:e._renderButton("cancel"),pause:e._renderButton("pause"),browse:e._renderButton("browse")})},_renderButton:function(e){var t=this,i=t._getLayoutTemplate("btnDefault"),a=t[e+"Class"],r=t[e+"Title"],n=t[e+"Icon"],o=t[e+"Label"],s=t.isDisabled?" disabled":"",l="button";switch(e){case"remove":if(!t.showRemove)return"";break;case"cancel":if(!t.showCancel)return"";a+=" kv-hidden";break;case"pause":if(!t.showPause)return"";a+=" kv-hidden";break;case"upload":if(!t.showUpload)return"";t.isAjaxUpload&&!t.isDisabled?i=t._getLayoutTemplate("btnLink").replace("{href}",t.uploadUrl):l="submit";break;case"browse":if(!t.showBrowse)return"";i=t._getLayoutTemplate("btnBrowse");break;default:return""}return a+="browse"===e?" btn-file":" fileinput-"+e+" fileinput-"+e+"-button",Y.isEmpty(o)||(o=' <span class="'+t.buttonLabelClass+'">'+o+"</span>"),i.setTokens({type:l,css:a,title:r,status:s,icon:n,label:o})},_renderThumbProgress:function(){return'<div class="file-thumb-progress kv-hidden">'+this.progressInfoTemplate.setTokens({percent:101,status:this.msgUploadBegin,stats:""})+"</div>"},_renderFileFooter:function(e,t,i,a,r){var n,o=this,s=o.fileActionSettings,l=s.showRemove,d=s.showDrag,c=s.showUpload,u=s.showZoom,p=o._getLayoutTemplate("footer"),f=o._getLayoutTemplate("indicator"),g=r?s.indicatorError:s.indicatorNew,m=r?s.indicatorErrorTitle:s.indicatorNewTitle,h=f.setTokens({indicator:g,indicatorTitle:m}),v={type:e,caption:t,size:i=o._getSize(i),width:a,progress:"",indicator:h};return o.isAjaxUpload?(v.progress=o._renderThumbProgress(),v.actions=o._renderFileActions(v,c,!1,l,u,d,!1,!1,!1)):v.actions=o._renderFileActions(v,!1,!1,!1,u,d,!1,!1,!1),n=p.setTokens(v),n=Y.replaceTags(n,o.previewThumbTags)},_renderFileActions:function(e,t,i,a,r,n,o,s,l,d,c,u){var p=this;if(!e.type&&d&&(e.type="image"),p.enableResumableUpload?t=!1:"function"==typeof t&&(t=t(e)),"function"==typeof i&&(i=i(e)),"function"==typeof a&&(a=a(e)),"function"==typeof r&&(r=r(e)),"function"==typeof n&&(n=n(e)),!(t||i||a||r||n))return"";var f,g=!1===s?"":' data-url="'+s+'"',m="",h="",v=!1===l?"":' data-key="'+l+'"',w="",b="",_="",C=p._getLayoutTemplate("actions"),y=p.fileActionSettings,x=p.otherActionButtons.setTokens({dataKey:v,key:l}),T=o?y.removeClass+" disabled":y.removeClass;return a&&(w=p._getLayoutTemplate("actionDelete").setTokens({removeClass:T,removeIcon:y.removeIcon,removeTitle:y.removeTitle,dataUrl:g,dataKey:v,key:l})),t&&(b=p._getLayoutTemplate("actionUpload").setTokens({uploadClass:y.uploadClass,uploadIcon:y.uploadIcon,uploadTitle:y.uploadTitle})),i&&(_=(_=p._getLayoutTemplate("actionDownload").setTokens({downloadClass:y.downloadClass,downloadIcon:y.downloadIcon,downloadTitle:y.downloadTitle,downloadUrl:c||p.initialPreviewDownloadUrl})).setTokens({filename:u,key:l})),r&&(m=p._getLayoutTemplate("actionZoom").setTokens({zoomClass:y.zoomClass,zoomIcon:y.zoomIcon,zoomTitle:y.zoomTitle})),n&&d&&(f="drag-handle-init "+y.dragClass,h=p._getLayoutTemplate("actionDrag").setTokens({dragClass:f,dragTitle:y.dragTitle,dragIcon:y.dragIcon})),C.setTokens({delete:w,upload:b,download:_,zoom:m,drag:h,other:x})},_browse:function(e){var t=this;e&&e.isDefaultPrevented()||!t._raise("filebrowse")||(t.isError&&!t.isAjaxUpload&&t.clear(),t.focusCaptionOnBrowse&&t.$captionContainer.focus())},_change:function(e){var c=this;if(!c.changeTriggered){var t,i,a,r,n=c.$element,o=1<arguments.length,u=c.isAjaxUpload,p=o?arguments[1]:n[0].files,s=c.fileManager.count(),l=Y.isEmpty(n.attr("multiple")),d=!u&&l?1:c.maxFileCount,f=c.maxTotalFileCount,g=0<f&&d<f,m=l&&0<s,h=function(e,t,i){var a,r,n,o,s,l,d=(d=i?c.msgTotalFilesTooMany:c.msgFilesTooMany).replace("{m}",t).replace("{n}",e);c.isError=(a=d,o=n=r=null,s=G.extend(!0,{},c._getOutData(null,{},{},p),{id:n,index:o}),l={id:n,index:o,file:r,files:p},c.isPersistentError=!0,u?c._showFileError(a,s):c._showError(a,l)),c.$captionContainer.removeClass("icon-visible"),c._setCaption("",!0),c.$container.removeClass("file-input-new file-input-ajax-new")};if(c.reader=null,c._resetUpload(),c._hideFileIcon(),c.dropZoneEnabled&&c.$container.find(".file-drop-zone ."+c.dropZoneTitleClass).remove(),u||(p=e.target&&void 0===e.target.files?e.target.value?[{name:e.target.value.replace(/^.+\\/,"")}]:[]:e.target.files||{}),t=p,Y.isEmpty(t)||0===t.length)return u||c.clear(),void c._raise("fileselectnone");if(c._resetErrors(),r=t.length,a=u?c.fileManager.count()+r:r,i=c._getFileCount(a,!g&&void 0),0<d&&d<i){if(!c.autoReplace||d<r)return void h(c.autoReplace&&d<r?r:i,d);d<i&&c._resetPreviewThumbs(u)}else{if(g&&(i=c._getFileCount(a,!0),0<f&&f<i)){if(!c.autoReplace||d<r)return void h(c.autoReplace&&f<r?r:i,f,!0);d<i&&c._resetPreviewThumbs(u)}!u||m?(c._resetPreviewThumbs(!1),m&&c.clearFileStack()):!u||0!==s||c.previewCache.count(!0)&&!c.overwriteInitial||c._resetPreviewThumbs(!0)}c.readFiles(t)}},_abort:function(e){var t,i=this;return i.ajaxAborted&&"object"==typeof i.ajaxAborted&&void 0!==i.ajaxAborted.message?((t=G.extend(!0,{},i._getOutData(null),e)).abortData=i.ajaxAborted.data||{},t.abortMessage=i.ajaxAborted.message,i._setProgress(101,i.$progress,i.msgCancelled),i._showFileError(i.ajaxAborted.message,t,"filecustomerror"),i.cancel(),!0):!!i.ajaxAborted},_resetFileStack:function(){var a=this,r=0;a._getThumbs().each(function(){var e=G(this),t=e.attr("data-fileindex"),i=e.attr("id");"-1"!==t&&-1!==t&&(a.fileManager.getFile(e.attr("data-fileid"))?e.attr({"data-fileindex":"-1"}):(e.attr({"data-fileindex":r}),r++),a._getZoom(i).attr({"data-fileindex":e.attr("data-fileindex")}))})},_isFileSelectionValid:function(e){var t=this;return e=e||0,t.required&&!t.getFilesCount()?(t.$errorContainer.html(""),t._showFileError(t.msgFileRequired),!1):!(0<t.minFileCount&&t._getFileCount(e)<t.minFileCount)||(t._noFilesError({}),!1)},_canPreview:function(e){var t=this;if(!(e&&t.showPreview&&t.$preview&&t.$preview.length))return!1;var i=e.name||"",a=e.type||"",r=(e.size||0)/1e3,n=t._parseFileType(a,i),o=t.allowedPreviewTypes,s=t.allowedPreviewMimeTypes,l=t.allowedPreviewExtensions||[],d=t.disabledPreviewTypes,c=t.disabledPreviewMimeTypes,u=t.disabledPreviewExtensions||[],p=t.maxFilePreviewSize&&parseFloat(t.maxFilePreviewSize)||0,f=new RegExp("\\.("+l.join("|")+")$","i"),g=new RegExp("\\.("+u.join("|")+")$","i"),m=!o||-1!==o.indexOf(n),h=!s||-1!==s.indexOf(a),v=!l.length||Y.compare(i,f);return!(d&&-1!==d.indexOf(n)||c&&-1!==c.indexOf(a)||u.length&&Y.compare(i,g)||p&&!isNaN(p)&&p<r)&&(m||h||v)},addToStack:function(e,t){this.fileManager.add(e,t)},clearFileStack:function(){var e=this;return e.fileManager.clear(),e._initResumableUpload(),e.enableResumableUpload?(null===e.showPause&&(e.showPause=!0),null===e.showCancel&&(e.showCancel=!1)):(e.showPause=!1,null===e.showCancel&&(e.showCancel=!0)),e.$element},getFileStack:function(){return this.fileManager.stack},getFileList:function(){return this.fileManager.list()},getFilesCount:function(e){var t=this,i=t.isAjaxUpload?t.fileManager.count():t._inputFileCount();return e&&(i+=t.previewCache.count(!0)),t._getFileCount(i)},readFiles:function(z){this.reader=new FileReader;function M(e,t,i,a,r){var n,o=G.extend(!0,{},$._getOutData(null,{},{},z),{id:i,index:a,fileId:r}),s={id:i,index:a,fileId:r,file:t,files:z};$._previewDefault(t,!0),n=$._getFrame(i,!0),$.isAjaxUpload?setTimeout(function(){j(a+1)},$.processDelay):($.unlock(),Z=0),$.removeFromPreviewOnError&&n.length?n.remove():($._initFileActions(),n.find(".kv-file-upload").remove()),$.isPersistentError=!0,$.isError=$.isAjaxUpload?$._showFileError(e,o):$._showError(e,s),$._updateFileDetails(Z)}var j,$=this,U=$.reader,R=$.$previewContainer,O=$.$previewStatus,B=$.msgLoading,L=$.msgProgress,N=$.previewInitId,Z=z.length,H=$.fileTypeSettings,W=$.allowedFileTypes,q=W?W.length:0,V=$.allowedFileExtensions,K=Y.isEmpty(V)?"":V.join(", ");$.fileManager.clearImages(),G.each(z,function(e,t){var i=$.fileTypeSettings.image;i&&i(t.type)&&$.fileManager.totalImages++}),(j=function(c){var e,t=$.$errorContainer,i=$.fileManager;if(Z<=c)return $.unlock(),$.duplicateErrors.length&&(e="<li>"+$.duplicateErrors.join("</li><li>")+"</li>",0===t.find("ul").length?Y.setHtml(t,$.errorCloseButton+"<ul>"+e+"</ul>"):t.find("ul").append(e),t.fadeIn($.fadeDelay),$._handler(t.find(".kv-error-close"),"click",function(){t.fadeOut($.fadeDelay)}),$.duplicateErrors=[]),$.isAjaxUpload?($._raise("filebatchselected",[i.stack]),0!==i.count()||$.isError||$.reset()):$._raise("filebatchselected",[z]),R.removeClass("file-thumb-loading"),void O.html("");$.lock(!0);function u(){var e=L.setTokens({index:c+1,files:Z,percent:50,name:x});setTimeout(function(){O.html(e),$._updateFileDetails(Z),j(c+1)},$.processDelay),$._raise("fileloaded",[w,b,c,U])&&$.isAjaxUpload&&i.add(w)}var a,p,r,n,o,s,l,d,f,g,m,h,v,w=z[c],b=N+"-"+$._getFileId(w),_=H.text,C=H.image,y=H.html,x=$._getFileName(w,""),T=(w&&w.size||0)/1e3,P="",k=Y.createObjectURL(w),F=0,E="",S=!1,I=0;if(w){if(l=i.getId(w),0<q)for(p=0;p<q;p++)o=W[p],s=$.msgFileTypes[o]||o,E+=0===p?s:", "+s;if(!1!==x){if(0===x.length)return D=$.msgInvalidFileName.replace("{name}",Y.htmlEncode(Y.getFileName(w),"[unknown]")),void M(D,w,b,c,l);if(Y.isEmpty(V)||(P=new RegExp("\\.("+V.join("|")+")$","i")),a=T.toFixed(2),$.isAjaxUpload&&i.exists(l)||$._getFrame(b,!0).length){var A={id:b,index:c,fileId:l,file:w,files:z},D=$.msgDuplicateFile.setTokens({name:x,size:a});return $.isAjaxUpload?($.duplicateErrors.push(D),$.isDuplicateError=!0,$._raise("fileduplicateerror",[w,l,x,a,b,c]),j(c+1)):($._showError(D,A),$.unlock(),Z=0,$._clearFileInput(),$.reset()),void $._updateFileDetails(Z)}if(0<$.maxFileSize&&T>$.maxFileSize)return D=$.msgSizeTooLarge.setTokens({name:x,size:a,maxSize:$.maxFileSize}),void M(D,w,b,c,l);if(null!==$.minFileSize&&T<=Y.getNum($.minFileSize))return D=$.msgSizeTooSmall.setTokens({name:x,size:a,minSize:$.minFileSize}),void M(D,w,b,c,l);if(!Y.isEmpty(W)&&Y.isArray(W)){for(p=0;p<W.length;p+=1)r=W[p],F+=(f=H[r])&&"function"==typeof f&&f(w.type,Y.getFileName(w))?1:0;if(0===F)return D=$.msgInvalidFileType.setTokens({name:x,types:E}),void M(D,w,b,c,l)}if(0===F&&!Y.isEmpty(V)&&Y.isArray(V)&&!Y.isEmpty(P)&&(n=Y.compare(x,P),0===(F+=Y.isEmpty(n)?0:n.length)))return D=$.msgInvalidFileExtension.setTokens({name:x,extensions:K}),void M(D,w,b,c,l);if(!$._canPreview(w))return d=$.isAjaxUpload&&$._raise("filebeforeload",[w,c,U]),$.isAjaxUpload&&d&&i.add(w),$.showPreview&&d&&(R.addClass("file-thumb-loading"),$._previewDefault(w),$._initFileActions()),void setTimeout(function(){d&&$._updateFileDetails(Z),j(c+1),$._raise("fileloaded",[w,b,c])},10);g=_(w.type,x),m=y(w.type,x),h=C(w.type,x),O.html(B.replace("{index}",c+1).replace("{files}",Z)),R.addClass("file-thumb-loading"),U.onerror=function(e){$._errorHandler(e,x)},U.onload=function(e){var t,i,a,r,n,o,s,l=[],d={name:x,type:w.type};if(G.each(H,function(e,t){"object"!==e&&"other"!==e&&"function"==typeof t&&t(w.type,x)&&I++}),0===I){for(i=new Uint8Array(e.target.result),p=0;p<i.length;p++)a=i[p].toString(16),l.push(a);if(t=l.join("").toLowerCase().substring(0,8),n=Y.getMimeType(t,"",""),Y.isEmpty(n)&&(r=Y.arrayBuffer2String(U.result),n=Y.isSvg(r)?"image/svg+xml":Y.getMimeType(t,r,w.type)),d={name:x,type:n},g=_(n,""),m=y(n,""),h=C(n,""),(v=g||m)||h)return o=v,(s=new FileReader).onerror=function(e){$._errorHandler(e,x)},s.onload=function(e){if($.isAjaxUpload&&!$._raise("filebeforeload",[w,c,U]))return S=!0,$._resetCaption(),U.abort(),O.html(""),R.removeClass("file-thumb-loading"),void $.enable();$._previewFile(c,w,e,k,d),$._initFileActions(),u()},void(o?s.readAsText(w,$.textEncoding):s.readAsDataURL(w))}if($.isAjaxUpload&&!$._raise("filebeforeload",[w,c,U]))return S=!0,$._resetCaption(),U.abort(),O.html(""),R.removeClass("file-thumb-loading"),void $.enable();$._previewFile(c,w,e,k,d),$._initFileActions(),u()},U.onprogress=function(e){var t,i;e.lengthComputable&&(t=e.loaded/e.total*100,i=Math.ceil(t),D=L.setTokens({index:c+1,files:Z,percent:i,name:x}),setTimeout(function(){S||O.html(D)},$.processDelay))},g||m?U.readAsText(w,$.textEncoding):h?U.readAsDataURL(w):U.readAsArrayBuffer(w)}else j(c+1)}})(0),$._updateFileDetails(Z,!0)},lock:function(e){var t=this,i=t.$container;return t._resetErrors(),t.disable(),!e&&t.showCancel&&i.find(".fileinput-cancel").show(),!e&&t.showPause&&i.find(".fileinput-pause").show(),t._raise("filelock",[t.fileManager.stack,t._getExtraData()]),t.$element},unlock:function(e){var t=this,i=t.$container;return void 0===e&&(e=!0),t.enable(),i.removeClass("is-locked"),t.showCancel&&i.find(".fileinput-cancel").hide(),t.showPause&&i.find(".fileinput-pause").hide(),e&&t._resetFileStack(),t._raise("fileunlock",[t.fileManager.stack,t._getExtraData()]),t.$element},resume:function(){var e=this,t=!1,i=e.resumableManager;return e.enableResumableUpload&&(e.paused?e._toggleResumableProgress(e.progressPauseTemplate,e.msgUploadResume):t=!0,e.paused=!1,t&&e._toggleResumableProgress(e.progressInfoTemplate,e.msgUploadBegin),setTimeout(function(){i.upload()},e.processDelay)),e.$element},pause:function(){var e,n=this,t=n.resumableManager,i=n.ajaxRequests,a=i.length,o=t.getProgress(),s=n.fileActionSettings,r=n.taskManager.getPool(t.id);if(!n.enableResumableUpload)return n.$element;if(r&&r.cancel(),n._raise("fileuploadpaused",[n.fileManager,t]),0<a)for(e=0;e<a;e+=1)n.paused=!0,i[e].abort();return n.showPreview&&n._getThumbs().each(function(){var e,t=G(this),i=t.attr("data-fileid"),a=n._getLayoutTemplate("stats"),r=t.find(".file-upload-indicator");t.removeClass("file-uploading"),r.attr("title")===s.indicatorLoadingTitle&&(n._setThumbStatus(t,"Paused"),e=a.setTokens({pendingTime:n.msgPaused,uploadSpeed:""}),n.paused=!0,n._setProgress(o,t.find(".file-thumb-progress"),o+"%",e)),n.fileManager.getFile(i)||t.find(".kv-file-remove").removeClass("disabled").removeAttr("disabled")}),n._setProgress(101,n.$progress,n.msgPaused),n.$element},cancel:function(){var e,a=this,t=a.ajaxRequests,i=a.resumableManager,r=a.taskManager,n=i?r.getPool(i.id):void 0,o=t.length;if(a.enableResumableUpload&&n?(n.cancel().done(function(){a._setProgressCancelled()}),i.reset(),a._raise("fileuploadcancelled",[a.fileManager,i])):a._raise("fileuploadcancelled",[a.fileManager]),a._initAjax(),0<o)for(e=0;e<o;e+=1)a.cancelling=!0,t[e].abort();return a._getThumbs().each(function(){var e=G(this),t=e.attr("data-fileid"),i=e.find(".file-thumb-progress");e.removeClass("file-uploading"),a._setProgress(0,i),i.hide(),a.fileManager.getFile(t)||(e.find(".kv-file-upload").removeClass("disabled").removeAttr("disabled"),e.find(".kv-file-remove").removeClass("disabled").removeAttr("disabled")),a.unlock()}),setTimeout(function(){a._setProgressCancelled()},a.processDelay),a.$element},clear:function(){var e,t=this;if(t._raise("fileclear"))return t.$btnUpload.removeAttr("disabled"),t._getThumbs().find("video,audio,img").each(function(){Y.cleanMemory(G(this))}),t._clearFileInput(),t._resetUpload(),t.clearFileStack(),t.isDuplicateError=!1,t.isPersistentError=!1,t._resetErrors(!0),t._hasInitialPreview()?(t._showFileIcon(),t._resetPreview(),t._initPreviewActions(),t.$container.removeClass("file-input-new")):(t._getThumbs().each(function(){t._clearObjects(G(this))}),t.isAjaxUpload&&(t.previewCache.data={}),t.$preview.html(""),e=!t.overwriteInitial&&0<t.initialCaption.length?t.initialCaption:"",t.$caption.attr("title","").val(e),Y.addCss(t.$container,"file-input-new"),t._validateDefaultPreview()),0===t.$container.find(Y.FRAMES).length&&(t._initCaption()||t.$captionContainer.removeClass("icon-visible")),t._hideFileIcon(),t.focusCaptionOnClear&&t.$captionContainer.focus(),t._setFileDropZoneTitle(),t._raise("filecleared"),t.$element},reset:function(){var e=this;if(e._raise("filereset"))return e.lastProgress=0,e._resetPreview(),e.$container.find(".fileinput-filename").text(""),Y.addCss(e.$container,"file-input-new"),e.getFrames().length&&e.$container.removeClass("file-input-new"),e.clearFileStack(),e._setFileDropZoneTitle(),e.$element},disable:function(){var e=this,t=e.$container;return e.isDisabled=!0,e._raise("filedisabled"),e.$element.attr("disabled","disabled"),t.addClass("is-locked"),Y.addCss(t.find(".btn-file"),"disabled"),t.find(".kv-fileinput-caption").addClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").attr("disabled",!0),e._initDragDrop(),e.$element},enable:function(){var e=this,t=e.$container;return e.isDisabled=!1,e._raise("fileenabled"),e.$element.removeAttr("disabled"),t.removeClass("is-locked"),t.find(".kv-fileinput-caption").removeClass("file-caption-disabled"),t.find(".fileinput-remove, .fileinput-upload, .file-preview-frame button").removeAttr("disabled"),t.find(".btn-file").removeClass("disabled"),e._initDragDrop(),e.$element},upload:function(){var t,e,i=this,a=i.fileManager,r=a.count(),n=!G.isEmptyObject(i._getExtraData());if(i.isAjaxUpload&&!i.isDisabled&&i._isFileSelectionValid(r)){if(i.lastProgress=0,i._resetUpload(),0!==r||n)return i.cancelling=!1,i._showProgress(),i.lock(),0===r&&n?(i._setProgress(2),void i._uploadExtraOnly()):i.enableResumableUpload?i.resume():((i.uploadAsync||i.enableResumableUpload)&&(e=i._getOutData(null),i._raise("filebatchpreupload",[e]),i.fileBatchCompleted=!1,i.uploadCache=[],G.each(i.getFileStack(),function(e){var t=i._getThumbId(e);i.uploadCache.push({id:t,content:null,config:null,tags:null,append:!0})}),i.$preview.find(".file-preview-initial").removeClass(Y.SORT_CSS),i._initSortable()),i._setProgress(2),i.hasInitData=!1,i.uploadAsync?(t=0,void G.each(a.stack,function(e){i._uploadSingle(t,e,!0),t++})):(i._uploadBatch(),i.$element));i._showFileError(i.msgUploadEmpty)}},destroy:function(){var e=this,t=e.$form,i=e.$container,a=e.$element,r=e.namespace;return G(document).off(r),G(window).off(r),t&&t.length&&t.off(r),e.isAjaxUpload&&e._clearFileInput(),e._cleanup(),e._initPreviewCache(),a.insertBefore(i).off(r).removeData(),i.off().remove(),a},refresh:function(e){var t=this,i=t.$element;return e="object"!=typeof e||Y.isEmpty(e)?t.options:G.extend(!0,{},t.options,e),t._init(e,!0),t._listen(),i},zoom:function(e){var t=this._getFrame(e);this._showModal(t)},getExif:function(e){var t=this._getFrame(e);return t&&t.data("exif")||null},getFrames:function(e){var t;return e=e||"",t=this.$preview.find(Y.FRAMES+e),this.reversePreviewOrder&&(t=G(t.get().reverse())),t},getPreview:function(){return{content:this.initialPreview,config:this.initialPreviewConfig,tags:this.initialPreviewThumbTags}}},G.fn.fileinput=function(l){if(Y.hasFileAPISupport()||Y.isIE(9)){var d=Array.apply(null,arguments),c=[];switch(d.shift(),this.each(function(){var e,t=G(this),i=t.data("fileinput"),a="object"==typeof l&&l,r=a.theme||t.data("theme"),n={},o={},s=a.language||t.data("language")||G.fn.fileinput.defaults.language||"en";i||(r&&(o=G.fn.fileinputThemes[r]||{}),"en"===s||Y.isEmpty(G.fn.fileinputLocales[s])||(n=G.fn.fileinputLocales[s]||{}),e=G.extend(!0,{},G.fn.fileinput.defaults,o,G.fn.fileinputLocales.en,n,a,t.data()),i=new u(this,e),t.data("fileinput",i)),"string"==typeof l&&c.push(i[l].apply(i,d))}),c.length){case 0:return this;case 1:return c[0];default:return c}}};G.fn.fileinput.defaults={language:"en",showCaption:!0,showBrowse:!0,showPreview:!0,showRemove:!0,showUpload:!0,showUploadStats:!0,showCancel:null,showPause:null,showClose:!0,showUploadedThumbs:!0,showConsoleLogs:!1,browseOnZoneClick:!1,autoReplace:!1,autoOrientImage:function(){var e=window.navigator.userAgent,t=!!e.match(/WebKit/i);return!(!!e.match(/iP(od|ad|hone)/i)&&t&&!e.match(/CriOS/i))},autoOrientImageInitial:!0,required:!1,rtl:!1,hideThumbnailContent:!1,encodeUrl:!0,focusCaptionOnBrowse:!0,focusCaptionOnClear:!0,generateFileId:null,previewClass:"",captionClass:"",frameClass:"krajee-default",mainClass:"file-caption-main",mainTemplate:null,purifyHtml:!0,fileSizeGetter:null,initialCaption:"",initialPreview:[],initialPreviewDelimiter:"*$$*",initialPreviewAsData:!1,initialPreviewFileType:"image",initialPreviewConfig:[],initialPreviewThumbTags:[],previewThumbTags:{},initialPreviewShowDelete:!0,initialPreviewDownloadUrl:"",removeFromPreviewOnError:!1,deleteUrl:"",deleteExtraData:{},overwriteInitial:!0,sanitizeZoomCache:function(e){var t=Y.createElement(e);return t.find("input,textarea,select,datalist,form,.file-thumbnail-footer").remove(),t.html()},previewZoomButtonIcons:{prev:'<i class="glyphicon glyphicon-triangle-left"></i>',next:'<i class="glyphicon glyphicon-triangle-right"></i>',toggleheader:'<i class="glyphicon glyphicon-resize-vertical"></i>',fullscreen:'<i class="glyphicon glyphicon-fullscreen"></i>',borderless:'<i class="glyphicon glyphicon-resize-full"></i>',close:'<i class="glyphicon glyphicon-remove"></i>'},previewZoomButtonClasses:{prev:"btn btn-navigate",next:"btn btn-navigate",toggleheader:"btn btn-sm btn-kv btn-default btn-outline-secondary",fullscreen:"btn btn-sm btn-kv btn-default btn-outline-secondary",borderless:"btn btn-sm btn-kv btn-default btn-outline-secondary",close:"btn btn-sm btn-kv btn-default btn-outline-secondary"},previewTemplates:{},previewContentTemplates:{},preferIconicPreview:!1,preferIconicZoomPreview:!1,allowedFileTypes:null,allowedFileExtensions:null,allowedPreviewTypes:void 0,allowedPreviewMimeTypes:null,allowedPreviewExtensions:null,disabledPreviewTypes:void 0,disabledPreviewExtensions:["msi","exe","com","zip","rar","app","vb","scr"],disabledPreviewMimeTypes:null,defaultPreviewContent:null,customLayoutTags:{},customPreviewTags:{},previewFileIcon:'<i class="glyphicon glyphicon-file"></i>',previewFileIconClass:"file-other-icon",previewFileIconSettings:{},previewFileExtSettings:{},buttonLabelClass:"hidden-xs",browseIcon:'<i class="glyphicon glyphicon-folder-open"></i>&nbsp;',browseClass:"btn btn-primary",removeIcon:'<i class="glyphicon glyphicon-trash"></i>',removeClass:"btn btn-default btn-secondary",cancelIcon:'<i class="glyphicon glyphicon-ban-circle"></i>',cancelClass:"btn btn-default btn-secondary",pauseIcon:'<i class="glyphicon glyphicon-pause"></i>',pauseClass:"btn btn-default btn-secondary",uploadIcon:'<i class="glyphicon glyphicon-upload"></i>',uploadClass:"btn btn-default btn-secondary",uploadUrl:null,uploadUrlThumb:null,uploadAsync:!0,uploadParamNames:{chunkCount:"chunkCount",chunkIndex:"chunkIndex",chunkSize:"chunkSize",chunkSizeStart:"chunkSizeStart",chunksUploaded:"chunksUploaded",fileBlob:"fileBlob",fileId:"fileId",fileName:"fileName",fileRelativePath:"fileRelativePath",fileSize:"fileSize",retryCount:"retryCount"},maxAjaxThreads:5,fadeDelay:800,processDelay:100,queueDelay:10,progressDelay:0,enableResumableUpload:!1,resumableUploadOptions:{fallback:null,testUrl:null,chunkSize:2048,maxThreads:4,maxRetries:3,showErrorLog:!0},uploadExtraData:{},zoomModalHeight:480,minImageWidth:null,minImageHeight:null,maxImageWidth:null,maxImageHeight:null,resizeImage:!1,resizePreference:"width",resizeQuality:.92,resizeDefaultImageType:"image/jpeg",resizeIfSizeMoreThan:0,minFileSize:0,maxFileSize:0,maxFilePreviewSize:25600,minFileCount:0,maxFileCount:0,maxTotalFileCount:0,validateInitialCount:!1,msgValidationErrorClass:"text-danger",msgValidationErrorIcon:'<i class="glyphicon glyphicon-exclamation-sign"></i> ',msgErrorClass:"file-error-message",progressThumbClass:"progress-bar progress-bar-striped active",progressClass:"progress-bar bg-success progress-bar-success progress-bar-striped active",progressInfoClass:"progress-bar bg-info progress-bar-info progress-bar-striped active",progressCompleteClass:"progress-bar bg-success progress-bar-success",progressPauseClass:"progress-bar bg-primary progress-bar-primary progress-bar-striped active",progressErrorClass:"progress-bar bg-danger progress-bar-danger",progressUploadThreshold:99,previewFileType:"image",elCaptionContainer:null,elCaptionText:null,elPreviewContainer:null,elPreviewImage:null,elPreviewStatus:null,elErrorContainer:null,errorCloseButton:Y.closeButton("kv-error-close"),slugCallback:null,dropZoneEnabled:!0,dropZoneTitleClass:"file-drop-zone-title",fileActionSettings:{},otherActionButtons:"",textEncoding:"UTF-8",ajaxSettings:{},ajaxDeleteSettings:{},showAjaxErrorDetails:!0,mergeAjaxCallbacks:!1,mergeAjaxDeleteCallbacks:!1,retryErrorUploads:!0,reversePreviewOrder:!1,usePdfRenderer:function(){var e=!!window.MSInputMethodContext&&!!document.documentMode;return!!navigator.userAgent.match(/(iPod|iPhone|iPad|Android)/i)||e},pdfRendererUrl:"",pdfRendererTemplate:'<iframe class="kv-preview-data file-preview-pdf" src="{renderer}?file={data}" {style}></iframe>'},G.fn.fileinputLocales.en={fileSingle:"file",filePlural:"files",browseLabel:"Browse &hellip;",removeLabel:"Remove",removeTitle:"Clear all unprocessed files",cancelLabel:"Cancel",cancelTitle:"Abort ongoing upload",pauseLabel:"Pause",pauseTitle:"Pause ongoing upload",uploadLabel:"Upload",uploadTitle:"Upload selected files",msgNo:"No",msgNoFilesSelected:"No files selected",msgCancelled:"Cancelled",msgPaused:"Paused",msgPlaceholder:"Select {files} ...",msgZoomModalHeading:"Detailed Preview",msgFileRequired:"You must select a file to upload.",msgSizeTooSmall:'File "{name}" (<b>{size} KB</b>) is too small and must be larger than <b>{minSize} KB</b>.',msgSizeTooLarge:'File "{name}" (<b>{size} KB</b>) exceeds maximum allowed upload size of <b>{maxSize} KB</b>.',msgFilesTooLess:"You must select at least <b>{n}</b> {files} to upload.",msgFilesTooMany:"Number of files selected for upload <b>({n})</b> exceeds maximum allowed limit of <b>{m}</b>.",msgTotalFilesTooMany:"You can upload a maximum of <b>{m}</b> files (<b>{n}</b> files detected).",msgFileNotFound:'File "{name}" not found!',msgFileSecured:'Security restrictions prevent reading the file "{name}".',msgFileNotReadable:'File "{name}" is not readable.',msgFilePreviewAborted:'File preview aborted for "{name}".',msgFilePreviewError:'An error occurred while reading the file "{name}".',msgInvalidFileName:'Invalid or unsupported characters in file name "{name}".',msgInvalidFileType:'Invalid type for file "{name}". Only "{types}" files are supported.',msgInvalidFileExtension:'Invalid extension for file "{name}". Only "{extensions}" files are supported.',msgFileTypes:{image:"image",html:"HTML",text:"text",video:"video",audio:"audio",flash:"flash",pdf:"PDF",object:"object"},msgUploadAborted:"The file upload was aborted",msgUploadThreshold:"Processing &hellip;",msgUploadBegin:"Initializing &hellip;",msgUploadEnd:"Done",msgUploadResume:"Resuming upload &hellip;",msgUploadEmpty:"No valid data available for upload.",msgUploadError:"Upload Error",msgDeleteError:"Delete Error",msgProgressError:"Error",msgValidationError:"Validation Error",msgLoading:"Loading file {index} of {files} &hellip;",msgProgress:"Loading file {index} of {files} - {name} - {percent}% completed.",msgSelected:"{n} {files} selected",msgFoldersNotAllowed:"Drag & drop files only! {n} folder(s) dropped were skipped.",msgImageWidthSmall:'Width of image file "{name}" must be at least {size} px.',msgImageHeightSmall:'Height of image file "{name}" must be at least {size} px.',msgImageWidthLarge:'Width of image file "{name}" cannot exceed {size} px.',msgImageHeightLarge:'Height of image file "{name}" cannot exceed {size} px.',msgImageResizeError:"Could not get the image dimensions to resize.",msgImageResizeException:"Error while resizing the image.<pre>{errors}</pre>",msgAjaxError:"Something went wrong with the {operation} operation. Please try again later!",msgAjaxProgressError:"{operation} failed",msgDuplicateFile:'File "{name}" of same size "{size} KB" has already been selected earlier. Skipping duplicate selection.',msgResumableUploadRetriesExceeded:"Upload aborted beyond <b>{max}</b> retries for file <b>{file}</b>! Error Details: <pre>{error}</pre>",msgPendingTime:"{time} remaining",msgCalculatingTime:"calculating time remaining",ajaxOperations:{deleteThumb:"file delete",uploadThumb:"file upload",uploadBatch:"batch file upload",uploadExtra:"form data upload"},dropZoneTitle:"Drag & drop files here &hellip;",dropZoneClickTitle:"<br>(or click to select {files})",previewZoomButtonTitles:{prev:"View previous file",next:"View next file",toggleheader:"Toggle header",fullscreen:"Toggle full screen",borderless:"Toggle borderless mode",close:"Close detailed preview"}},G.fn.fileinput.Constructor=u,G(document).ready(function(){var e=G("input.file[type=file]");e.length&&e.fileinput()})});