function nextLocatorPage(n){let t=$("#pageNumber");t.val(parseInt(t.val(),10)+1);isMapAreaSearch?showMapAreaSearchResultsPage(t.val()):runLocatorSearch(n,getSearchParams())}function previousLocatorPage(n){let t=$("#pageNumber");t.val(parseInt(t.val(),10)-1);isMapAreaSearch?showMapAreaSearchResultsPage(t.val()):runLocatorSearch(n,getSearchParams())}function runLocatorSearch(n,t){try{isMapAreaSearch=!1;DisplayLoadingScreen();$.ajax({type:"GET",url:n,data:t}).done(function(n){showLocatorResults(n);HideLoadingScreen()})}catch(i){HideLoadingScreen()}}function showLocatorResults(n){n?n.RedirectUrl?window.location.href=n.RedirectUrl:($("#locatorSearchResults").html(n.View),$("#locatorSearchResults").trigger("create"),$("#locatorSearchResults").show()):$("#locatorSearchResults").html("");n.LocationMarkers&&cityviewmap&&cityviewmap.showSearchResults(n.LocationMarkers,n.UseMapPoint,n.IsShowNearMe,n.IsSpatial)}function AutoCompleteRequest(n,t,i,r,u,f,e,o,s,h,c){h||(h=$("#locationType").val());let a={term:n.term,returnInactiveAddresses:r===null||r===undefined?!1:r,module:u===null||u===undefined?"":u,returnParcelNumbers:e===undefined?null:e,appealPeriodStatusesOnly:f===null||f===undefined?!1:f,licenseCategory:o===null||o===undefined?null:o,returnParksRoadsAndTrails:s===null||s===undefined?!1:s,locationCodeToAutosuggest:h===null||h===undefined?"":h,isIntermentSearch:c===null||c===undefined?!1:c},l=autoSuggestCache[i];if(l){if(l.isBusy){l.response=t;l.request=a;return}let i=l.cache[n.term];if(i&&i.results&&i.module===a.module&&i.locationCodeToAutosuggest===a.locationCodeToAutosuggest){t(i.results);return}}DoAutoCompleteRequest(t,i,a)}function DoAutoCompleteRequest(n,t,i){let r=autoSuggestCache[t];r?r.isBusy||(r.isBusy=!0,r.response=null,r.request=null):(r={isBusy:!0,response:null,request:null,cache:{}},autoSuggestCache[t]=r);$.ajax({type:"POST",url:t,dataType:"json",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:i,success:function(t){try{let u=JSON.parse(t);if(u&&u.length>0){let f=u[0];f&&typeof f=="object"?(n(u),r.cache[i.term]={locationCodeToAutosuggest:i.locationCodeToAutosuggest,module:i.module,results:u}):(n(t),r.cache[i.term]={locationCodeToAutosuggest:i.locationCodeToAutosuggest,module:i.module,results:t})}else n(t),r.cache[i.term]={locationCodeToAutosuggest:i.locationCodeToAutosuggest,module:i.module,results:t}}catch(u){n(t);r.cache[i.term]={locationCodeToAutosuggest:i.locationCodeToAutosuggest,module:i.module,results:t}}},complete:function(){r.isBusy=!1;r.response&&r.request&&DoAutoCompleteRequest(r.response,t,r.request)}})}function AutoCompleteRequestForContacts(n,t,i,r,u,f){let e,o=$("#"+r);o&&(e=o.is("select")?$("#"+r).find(":selected").data("portallccategory"):$("#"+r).data("portallccategory"));$.ajax({type:"POST",url:i,dataType:"json",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{term:n.term,module:u===null||u===undefined?"":u,licenseCategory:f===null||f===undefined?null:f,lcCategoryRestriction:e===null||e===undefined?"":e},success:function(n){try{let i=JSON.parse(n);if(i&&i.length>0){let r=i[0];r&&typeof r=="object"?t(i):t(n)}else t(n)}catch(i){t(n)}}})}function ClearTableRow(n){n.find("input[type=text]").each(function(){$(this).val("")});n.find("input[type=checkbox]").each(function(){$(this).attr("checked","")});n.find("select").each(function(){$(this)[0].selectedIndex=0})}function SetTableFieldId(n,t){let i=n.attr("id"),r=i.substring(0,i.lastIndexOf("_")+1)+t;n.attr("id",r);n.attr("name",r)}function SetTableFieldIds(n){$("#"+n+" tbody>tr").each(function(n){$(this).find("input[type=text], input[type=checkbox], select, input[type=button]").each(function(){SetTableFieldId($(this),n)})})}function AddTableRow(n,t,i=-1){let r,f,u=$("#"+n+" >tbody>tr:last");if(t[0]===u[0]){r=u.clone(!0);r.find(":input").each(function(){$(this).removeAttr("required");$(this).attr("aria-required")&&$(this).attr("aria-required","false")});ClearTableRow(r);u.find("input[type=button]:last").show();r.find("input[type=button]:last").hide();let t=$("#"+n+" >tbody>tr").length-1;i!=-1&&i==t&&r.hide();$("#"+n+" >tbody").append(r);f=$("#"+n+" >tbody>tr").length-1;$(r).find("input[type=text], input[type=checkbox], select, input[type=button]").each(function(){if(SetTableFieldId($(this),f),$(this).data("datepicker")){let n=$(this).data("datepicker").settings;$(this).datepicker("destroy");$(this).datepicker(n)}});(n==="alternateAddresses"||n==="alternateContactNumbers")&&$(r).find(".required").hide()}else t.find(":input").each(function(){$(this).attr("aria-required")&&($(this).attr("aria-required","true"),$(this).attr("required","required"))})}function OnTableCellBlur(n,t,i,r=-1){i!==""&&AddTableRow(n,t,r)}function WireTableCell(n,t,i=-1){let r="#"+n+" tbody>tr";$(r).each(function(r){if(r>0){let u=$("#"+t+"_"+r);u.length>0&&($("#"+t+"_"+r).is("select")?u.change(function(){AddTableRow(n,$(this).closest("tr"),i)}):(u.keydown(function(){OnTableCellBlur(n,$(this).closest("tr"),$(this).val(),i)}),u.blur(function(){OnTableCellBlur(n,$(this).closest("tr"),$(this).val(),i)})))}})}function WireTableCellDelete(n,t){let r="#"+n+" tbody>tr";$(r).each(function(i){$("#"+t+"_"+i).click(function(){$(this).parent().parent().remove();let t=$("#"+n+" tbody>tr:last");t.show();SetTableFieldIds(n)});$("#"+t+"_"+i).show()});let i=$("#"+n+" tbody>tr:last");i.find("input[type=button]:last").hide();i.find(":input").each(function(){$(this).removeAttr("required");$(this).attr("aria-required")&&$(this).attr("aria-required","false")})}function stripeTable(n){n.find("tr:visible:odd").removeClass("cv-tr1");n.find("tr:visible:odd").addClass("cv-tr0");n.find("tr:visible:even").removeClass("cv-tr0");n.find("tr:visible:even").addClass("cv-tr1")}function FixAccordions(){let t=$(".accordion"),n;t.each(function(){let t=!1,i=$(this).hasClass("defaultCollapsed");$(this).children("h4").each(function(r){$(this).css("display")!=="none"&&t===!1&&(n=$(this).parent(),n.accordion("option","collapsible",!0),i||n.accordion("option","active",r),n.accordion("option","animate",{easing:"linear",duration:200}),t=!0)})})}function CallValueChanged(n,t,i,r,u,f){isHandlingValueChanged||$.ajax({type:"POST",url:"ValueChanged",dataType:"json",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{tableName:n,fieldName:t,childIndex:i,fieldValue:r,parentIndex:u,grandParentIndex:f},success:OnValueChanged})}function OnValueChanged(n){isHandlingValueChanged=!0;try{let t=!1,i,r;$.each(n,function(n,u){let f=$("#"+u.Id);if(!(f.length<=0)){if(u.ChangeType===0)f.attr("type")==="checkbox"?u.Value==="True"?f.prop("checked",!0):f.prop("checked",!1):f.is("select")?document.getElementById(u.Id).value=u.Value==="True"||u.Value==="False"?u.Value.toLowerCase():u.Value:f.val(u.Description);else if(u.ChangeType===1)u.Value==="True"?(f.parent().parent().css("display","flex"),f.attr("aria-required")&&(f.attr("required","required"),f.attr("aria-required","true"))):(f.parent().parent().css("display","none"),f.attr("aria-required")&&(f.removeAttr("required"),f.attr("aria-required","false")));else if(u.ChangeType===2)t=!0,u.Value==="True"?($("#h_"+u.Id).parent().css("display","block"),$("#h_"+u.Id).css("display","block"),$("#v_"+u.Id).val("true"),f.css("display","block")):($("#h_"+u.Id).parent().css("display","none"),$("#h_"+u.Id).css("display","none"),$("#v_"+u.Id).val("false"),f.css("display","none"));else if(u.ChangeType===3){let n="#"+u.Id;u.Id.startsWith("r_")&&(n="#"+u.Id.replace("r_",""));u.Value==="True"?($("#"+u.Id).css("visibility","visible"),$(n).attr("required","required"),$(n).attr("aria-required")&&$(n).attr("aria-required","true")):($("#"+u.Id).css("visibility","hidden"),$(n).removeAttr("required"),$(n).attr("aria-required")&&$(n).attr("aria-required","false"))}else u.ChangeType===4?(i=$("#"+u.Id).css("width"),r=$("#"+u.Id).val(),$("#"+u.Id).html(u.Value),$("#"+u.Id).val(r),$("#"+u.Id).width(i+"%")):u.ChangeType===5&&(f.prop("disabled",u.Value==="True"),f.hasClass("hasDatepicker")&&(u.Value==="True"?f.datepicker("disable"):f.datepicker("enable"),f.prop("disable",!1)),f.is("input:checkbox")&&(u.Value==="True"?f.attr("onclick","return false"):f.attr("onclick","")));f.trigger("change")}});$("#updated").val("true");t&&FixAccordions()}finally{isHandlingValueChanged=!1}}function EnablePanel(n,t){t?$("#"+n).find("*").each(function(){$(this).removeAttr("disabled")}):$("#"+n).find("*").each(function(){$(this).attr("disabled",!0)})}function CurrencyToNumber(n){return n?(n=n.replaceAll("$",""),n=n.replaceAll(",",""),n=n.replaceAll("\r",""),n=n.replaceAll("\n",""),n=n.replaceAll(" ",""),parseFloat(n)):0}function NumberToCurrency(n){let t=n.toFixed(2),i=/(\d+)(\d{3})/;while(i.test(t))t=t.replace(i,"$1,$2");return"$"+t}function CVPopup(n){let t=this;t.ctlid=n;t.popupHeight=-1;t.popupWidth=-1;t.scrollEventHandler=function(){t.center()}}function CollapseAll(){$(".collapsible").find("span.collapsibleTitle").removeClass("cv-icon-chevron-down");$(".collapsible").find("span.collapsibleTitle").addClass("cv-icon-chevron-right");$(".collapsible").attr("aria-expanded",!1);$(".collapsible").nextAll().each(function(){return $(this).is("tr")&&$(this).is(".collapsible")?!0:($(this).attr("aria-hidden",!0),$(this).hide(),!0)})}function ExpandAll(){$(".collapsible").find("span.collapsibleTitle").removeClass("cv-icon-chevron-right");$(".collapsible").find("span.collapsibleTitle").addClass("cv-icon-chevron-down");$(".collapsible").attr("aria-expanded",!0);$(".collapsible").nextAll().each(function(){return $(this).is(".cvpopup")||$(this).is("#backgroundPopup")||($(this).attr("aria-hidden",!1),$(this).show()),!0})}function renderLabelValueLinksAsLinks(n){$("."+n).each(function(){let n=$(this).html(),t=n.replace(/(https?:\/\/([-\w.]+)+(:\d+)?(\/([\w/_.]*(\?\S+)?)?)?)/ig,"<a class='cv-value-display-link' href='$1' target='_blank'>$1<\/a>");$(this).html(t)})}function FormatNumber(n,t,i,r,u,f,e,o,s,h){if(n===null||n===undefined||n==="")return"";let p,a,l,w,c,v,y;if(p=!1,a=0,l=0,w=0,c=0,v=0,h=h.toLowerCase()==="true",s=s.toLowerCase()==="true",n.indexOf("(")>=0&&n.indexOf(")")>0&&(y=!0,n="-"+n.toString().replaceAll("(","").replaceAll(")",""),n=n.toString().replaceAll("--","-")),y=o.indexOf("(")===0&&o.indexOf(")")>0&&y?!0:!1,n=n.toString().replaceAll(/\$|,/g,""),n=n.toString().replaceAll(/%|,/g,""),n.indexOf(".")===0&&(n="0"+n.toString()),(isNaN(n)||!n.trim())&&(n="0"),(t===undefined||t==="")&&(t="2"),(r===undefined||r==="")&&(r=","),(i===undefined||i==="")&&(i="."),(u===undefined||u==="")&&(u="-"),(f===undefined||f==="")&&(f="$"),(e===undefined||e==="")&&(e=s?"$n":h?"n%":"n"),(o===undefined||o==="")&&(o=s?"-$n":h?"-n%":"-n"),p=parseInt(n,10)===parseInt(Math.abs(n),10),y&&(p=!1),t>0){for(l=Math.pow(10,t),w=5/l+1e-30,n=Math.abs(n),n=Math.floor(n*l+w),a=n%l,n=Math.floor(n/l).toString(),c=1;c<t;c++)l=Math.pow(10,c),a<l&&(a="0"+a);for(c=0;c<Math.floor((n.length-(1+c))/3);c++)n=n.substring(0,n.length-(4*c+3))+r+n.substring(n.length-(4*c+3));t>0&&(n=n+i+a)}else for(n=Math.abs(n).toString(),n=Math.floor(n).toString(),c=0;c<Math.floor((n.length-(1+c))/3);c++)n=n.substring(0,n.length-(4*c+3))+r+n.substring(n.length-(4*c+3));return p?(e=e.toString().replace("$",f),v=e.toString().replace("n",n)):(o=o.toString().replace("$",f),o.indexOf("(")===0&&o.indexOf(")")>0&&y?v="($"+n+")":(o=o.toString().replace("-",u),v=o.toString().replace("n",n))),v}function SubscribeToAllEvents(n){let t=$("#"+n);$("tr td input:checkbox",t).prop("checked",!0)}function UnsubscribeFromAllEvents(n){let t=$("#"+n);$("tr td input:checkbox",t).prop("checked",!1)}function InitializeSessionTimeoutPrompt(n,t){if(n&&t){$("#backgroundPopup").length||$("#masterContent").append('<div id="backgroundPopup" style="display: none;"><\/div>');$("#sessionTimeoutPopup").length||$("body").append('<div id="sessionTimeoutPopup" class="cvpopup" style="display: none; max-width:475px; "><h2 id="sessionTimeoutPopupTitle" class="tabTitle">Inactivity Warning<\/h2><div class="cvpopup-contents"><p id="sessionTimeoutPopupText">Warning: Your session is about to expire. Click the button below to continue using the Portal.<\/p><br><div class="cv-clear"><div class="right1Button"><input type="submit" id="sessionTimeoutPopupButton" class="primaryButton" value="Click Here to Continue" formnovalidate /><\/div><div class="left1Button">&nbsp;<\/div><\/div><\/div><\/div>');let i;i=n>5?(n-5)*6e4:n*6e4*.5;sessionTimeoutHandle=window.setTimeout(function(){SessionExpirationWarning(n,t)},i);$("#sessionTimeoutPopupButton").click(function(){return ResetSessionTimer(n,t),!1})}}function SessionExpirationWarning(n,t){if(n&&t){clearTimeout(sessionTimeoutHandle);sessionTimeoutHandle=n>5?window.setTimeout(function(){SessionHasExpired(t)},3e5):window.setTimeout(function(){SessionHasExpired(t)},n*6e4*.5);let i=new CVPopup("sessionTimeoutPopup");i.load()}}function SessionHasExpired(n){$("#sessionTimeoutPopupTitle").html("Your Session Has Expired");$("#sessionTimeoutPopupText").html("<p>Your session has expired due to inactivity. Any data you were in the process of entering has been lost and you will need to start again. <br/><br/> You will be redirected to the homepage after clicking the button below.<\/p>");$("#sessionTimeoutPopupButton").click(function(){return window.location.href=n,!1});let t=new CVPopup("sessionTimeoutPopup");t.load()}function ResetSessionTimer(n,t){!n|!t||(clearTimeout(sessionTimeoutHandle),$.ajax({url:"/Home/Ping",dataType:"json",type:"GET",success:function(){let i;i=n>5?(n-5)*6e4:n*6e4*.5;sessionTimeoutHandle=window.setTimeout(function(){SessionExpirationWarning(n,t)},i)}}),$("#backgroundPopup").hide(),$("#sessionTimeoutPopup").hide(),$("body").removeClass("cv-popup-open"))}function DisplayLoadingScreen(){$("#backgroundPopup").length||$("#masterContent").append('<div id="backgroundPopup" style="display: none;"><\/div>');$(".cvpopup").hide();let n=new CVPopup("loadingPopup");n.load();$("#backgroundPopup").unbind("click");$("#backgroundPopup").fadeIn("fast")}function HideLoadingScreen(){let n=new CVPopup("loadingPopup");n.disable()}function DisplayConfirmCancelScreen(){$("#confirmCancelPopup").length||$("#masterContent").append("<div id='confirmCancelPopup' class='cvpopup' style='max-width:600px;'><h2 id='confirmCancelPopupTitle' class='tabTitle'>Discard Information?<\/h2><div id='confirmCancelPopupText' class='cvpopup-contents'><p>Are you sure you want to discard the information you have entered?<\/p><br/><div class='cv-clear'><br/><div class='right1Button customRight1ButtonWidth'><input type='button' class='primaryButton buttonSize1' id='cancelApplicationButton' value='Yes'/><\/div><div class='left1Button'><input type='button' class='secondaryButton buttonSize1' id='backOut' value='No'/><\/div><\/div><\/div><\/div>");$("#backgroundPopup").length||$("#masterContent").append('<div id="backgroundPopup" style="display: none;"><\/div>');let n=new CVPopup("confirmCancelPopup");n.load();$("#backgroundPopup").unbind("click");$("#cancelApplicationButton").click(function(){n.disable();document.getElementById("bcancel").click()});$("#backOut").click(function(){n.disable()})}function showWaterSewerPanels(n,t){if(n==="useMyInformationPersonCheckbox"){$("#useMyInformationPersonCheckbox"+t).is(":checked")?($("#personContactPanel"+t).hide(),$("#personContactPanel"+t).addClass("ignoreCollapse"),$("#personUseMyInfo"+t).show(),$("#personUseMyInfo"+t).removeClass("ignoreCollapse")):($("#personContactPanel"+t).show(),$("#personContactPanel"+t).removeClass("ignoreCollapse"),$("#personUseMyInfo"+t).hide(),$("#personUseMyInfo"+t).addClass("ignoreCollapse"));return}if(n==="useMyInformationBusinessCheckbox"){$("#useMyInformationBusinessCheckbox"+t).is(":checked")?($("#businessNewPersonContact"+t).hide(),$("#businessNewPersonContact"+t).addClass("ignoreCollapse"),$("#businessUseMyInfo"+t).show(),$("#businessUseMyInfo"+t).removeClass("ignoreCollapse")):($("#businessNewPersonContact"+t).show(),$("#businessNewPersonContact"+t).removeClass("ignoreCollapse"),$("#businessUseMyInfo"+t).hide(),$("#businessUseMyInfo"+t).addClass("ignoreCollapse"));return}if(n==="businessInfoEntryOptions"){$("#businessInfoEntryOptions"+t).val()==="ManuallyEnterBusiness"?($("#businessNewPanel"+t).show(),$("#businessNewPanel"+t).removeClass("ignoreCollapse"),$("#businessContactPersonPanel"+t).show(),$("#businessContactPersonPanel"+t).removeClass("ignoreCollapse"),$("#businessUseMyInfo"+t).hide(),$("#businessUseMyInfo"+t).addClass("ignoreCollapse"),$("#businessSearchPanel"+t).hide(),$("#businessSearchPanel"+t).addClass("ignoreCollapse")):$("#businessInfoEntryOptions"+t).val()==="SearchExistingBusiness"?($("#businessSearchPanel"+t).show(),$("#businessSearchPanel"+t).removeClass("ignoreCollapse"),$("#businessContactPersonPanel"+t).show(),$("#businessContactPersonPanel"+t).removeClass("ignoreCollapse"),$("#businessUseMyInfo"+t).hide(),$("#businessUseMyInfo"+t).addClass("ignoreCollapse"),$("#businessNewPanel"+t).hide(),$("#businessNewPanel"+t).addClass("ignoreCollapse")):($("#businessSearchPanel"+t).hide(),$("#businessSearchPanel"+t).removeClass("ignoreCollapse"),$("#businessContactPersonPanel"+t).hide(),$("#businessContactPersonPanel"+t).removeClass("ignoreCollapse"),$("#businessUseMyInfo"+t).hide(),$("#businessUseMyInfo"+t).addClass("ignoreCollapse"),$("#businessNewPanel"+t).hide(),$("#businessNewPanel"+t).addClass("ignoreCollapse"));return}if(n==="contactInfoType"){let n="input:radio[name=contactInfoType"+t+"]:checked";$(n).val()==="business"?($("#businessPanel"+t).show(),$("#businessPanel"+t).removeClass("ignoreCollapse"),$("#personPanel"+t).hide(),$("#personPanel"+t).addClass("ignoreCollapse")):$(n).val()==="person"&&($("#personPanel"+t).show(),$("#personPanel"+t).removeClass("ignoreCollapse"),$("#businessPanel"+t).hide(),$("#businessPanel"+t).addClass("ignoreCollapse"))}}function ScrollToElement(n){let t=document.getElementById(n);t&&t.scrollIntoView()}function toggleLegend(n,t,i,r){n||(n="mapDiv");t||(t="legendContainer");i||(i="legendDiv");r||(r="legendToggleSign");const u=$("#"+i);u.toggle();let f;const e=$("#"+r),o=$("#"+t);u.is(":visible")?f=e.attr("data-map-legend-height"):(e.attr("data-map-legend-height",o.height()),f=e.height());o.height(f);o.css("text-align",u.is(":visible")?"right":"center");$("#"+r).html(u.is(":visible")?"Legend&nbsp;&#45;":"Legend&nbsp;&#43;")}function AddFees(n,t,i,r){let f=0,u="#fees";n&&(u=u+n);t&&$("input:checkbox[data-msfeerefnum='"+t+"']").each(function(){this.checked=i;let n=$(this).attr("data-refnum");n&&AddFees(n)});$(u+" tbody tr td:last-child>input:checked").each(function(){$(this).parent().parent().find("td:nth-child(2)").each(function(){f+=CurrencyToNumber($(this).text())});$(this).parent().parent().find("td:nth-child(3)").each(function(){f-=CurrencyToNumber($(this).text())})});$(u+" tbody tr td:last-child>input:checkbox").each(function(){let t=$(this).closest("tr"),i=$(t).attr("class"),n=t.next("tr");n&&n.attr("class")===i&&(this.checked?$(n).show():$(n).hide())});n?(u="#feeSelectedPayableAmount_"+n+"__1",$(u).text(NumberToCurrency(f)),UpdateFeeTotals(r,n)):($("#feeSelectedPayableAmount_0_1").text(NumberToCurrency(f)),r&&r>0&&f>r?($("#bnext").prop("disabled",!0),$("#bnextdebit").prop("disabled",!0),$("#bnextecheck").prop("disabled",!0),$("#bsubmit").prop("disabled",!0)):($("#bnext").prop("disabled",!1),$("#bnextdebit").prop("disabled",!1),$("#bnextecheck").prop("disabled",!1),$("#bsubmit").prop("disabled",!1)))}function UpdateFeeTotals(n){let t=!1;if($("#totalAmount_0_1").length>0){let i=0;$("span[id^='feeTotalAmountPayableOnline_']").each(function(){let n=CurrencyToNumber($(this).text()),t=CurrencyToNumber($(this).closest("td").next("td").find("span[id^=feeTotalsAmountPaid_]").text());i+=n-t});$("#totalAmount_0_1").text(NumberToCurrency(i));n&&n>0&&i>n&&(t=!0)}if($("#totalAmountSelected_0_1").length>0){let i=0;$("span[id^='feeSelectedPayableAmount_']").each(function(){i+=CurrencyToNumber($(this).text())});$("#totalAmountSelected_0_1").text(NumberToCurrency(i));t=n&&n>0&&i>n?!0:!1}t?($("#bnext").prop("disabled",!0),$("#bnextdebit").prop("disabled",!0),$("#bnextecheck").prop("disabled",!0),$("#bsubmit").prop("disabled",!0)):($("#bnext").prop("disabled",!1),$("#bnextdebit").prop("disabled",!1),$("#bnextecheck").prop("disabled",!1),$("#bsubmit").prop("disabled",!1))}function SelectFees(n,t,i){let r="#fees";t&&(r=r+t);$(r+" tbody tr td:last-child input:checkbox").each(function(){$(this).is(":visible")&&(this.checked=n);let t=$(this).attr("data-msfeerefnum");t&&AddFees(t,t,n,i)});AddFees(t,"",null,i)}function AddRemoveShoppingCartFees(n,t,i,r,u,f,e,o){n.preventDefault();let h="",s=$(n.target);h=s.is("input")?s.val():s.text();h===i?AddFeesToCart(n,t,r,u,f,e):RemoveFeesFromCart(n,t,i,u,f,e,o)}function AddFeesToCart(n,t,i,r,u,f){if(!addingFees){addingFees=!0;DisplayLoadingScreen();let o=$("#cv-myShoppingCart"),e=$(n.target);if(e){let n=e.clone();n.prop("disabled",!0);let t=e.height()*1.5,i=e.width()*1.3;if(n.is("input"))n.prop("value",r);else{let t=parseInt(e.css("font-size"));n.css("font-size",t*1.5);n.text(r)}n.offset({top:e.offset().top,left:e.offset().left}).css({position:"absolute",width:i,height:t}).appendTo($("body")).animate({top:o.offset().top+10,left:o.offset().left+10},1100,"easeInOutExpo");n.animate({width:0,height:0},function(){$(this).detach()})}t&&t.charAt(t.length-1)!=="/"&&(t=t+"/");$.ajax({url:t+"Payment/AddFeesToCart",type:"POST",dataType:"html",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{referenceNumber:r,module:u},success:function(n){if(n&&$(".controlBar").replaceWith(n),e.is("input")?e.val(i):e.text(i),addingFees=!1,$("#cv-myitems").length===0){HideLoadingScreen();return}$.ajax({url:t+"/User/MyItemsForModule",type:"GET",dataType:"html",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{category:f,module:u},success:function(n){n&&e.closest("div[id^=my]").html(n);HideLoadingScreen()},error:function(){HideLoadingScreen()}})},error:function(){addingFees=!1;HideLoadingScreen()}})}}function RemoveFeesFromCart(n,t,i,r,u,f,e){DisplayLoadingScreen();let o=$(n.target);i&&(o.is("input")?o.val(i):o.text(i));t&&t.charAt(t.length-1)!=="/"&&(t=t+"/");$.ajax({url:t+"Payment/RemoveFeesFromCart",type:"POST",dataType:"html",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{referenceNumber:r},success:function(i){$(".controlBar").replaceWith(i);let r=$("#cv-shoppingcart-summary").length!==0,o=$("#cv-myitems").length!==0;if(!r&&!o){UpdateFeeTotals(e);HideLoadingScreen();return}let s;r?s="/Payment/ShoppingCartFeeSummary":o&&(s="/User/MyItemsForModule");$.ajax({url:t+s,type:"GET",dataType:"html",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{category:f,module:u},success:function(t){t&&(r?($("#cv-shoppingcart-summary").html(t),UpdateFeeTotals(e),$(".cv-removeFeesFromCart:visible").length===0&&($("#feeTotalContainer").hide(),$("#noFeesContainer").show())):o&&$(n.target).closest("div[id^=my]").html(t));HideLoadingScreen()},error:function(){HideLoadingScreen()}})},error:function(){HideLoadingScreen()}})}function ApplySelectedDeposit(n,t,i,r){let f=$("input[name="+t+"]:checked").val();if(!f){$("#"+t+"Error").show();return}$("#"+t+"Error").hide();DisplayLoadingScreen();n&&n.charAt(n.length-1)!=="/"&&(n=n+"/");let e=[],u="";$("#fees").length?u="#fees":$("#fees"+i).length&&(u="#fees"+i);u&&$(u+" tbody tr td:last-child>input:checked").each(function(){this.id&&e.push(this.id)});$.ajax({url:n+"Payment/ApplyDepositToFeePayment",type:"POST",dataType:"json",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{depositId:f,module:r,referenceNumber:i,selectedFeeIds:e},success:function(t){window.location=t&&(t===!0||t==="True")?n+"Payment/Complete?clearShoppingCart=false":n+"Payment/PaymentError"},error:function(){window.location=n+"Payment/PaymentError"}})}function SortDocuments(n,t,i,r,u){if(!sortingInProgress&&i&&u){if(t.type==="keydown"){if(t.which!==13&&t.which!==32)return;t.which===32&&t.preventDefault()}sortingInProgress=!0;let e=!1;const f=$(n).children("span:first-child");f&&(f.hasClass("cv-icon-sort-default")?(f.removeClass("cv-icon-sort-default"),f.addClass("cv-icon-sort-descending"),e=!0):f.hasClass("cv-icon-sort-ascending")?(f.removeClass("cv-icon-sort-ascending"),f.addClass("cv-icon-sort-descending"),e=!0):f.hasClass("cv-icon-sort-descending")&&(f.removeClass("cv-icon-sort-descending"),f.addClass("cv-icon-sort-ascending"),e=!1));$.ajax({url:i,type:"GET",dataType:"html",data:{sortField:u,sortDescending:e,applicationId:r},success:function(t){if(t){$("#documentsContainer").html(t);sortingInProgress=!1;const i=$("#documentsContainer #documents th."+n.className);i&&i.length&&i[0].focus()}sortingInProgress=!1},error:function(){sortingInProgress=!1}})}}function SortMyItems(n,t,i,r,u,f){if(!sortingInProgress&&i&&r&&f&&u){if(t.type==="keydown"){if(t.which!==13&&t.which!==32)return;t.which===32&&t.preventDefault()}sortingInProgress=!0;let s=$("#"+u).val(),o=!1;const e=$(n).children("span:first-child");e&&(e.hasClass("cv-icon-sort-default")?(e.removeClass("cv-icon-sort-default"),e.addClass("cv-icon-sort-descending"),o=!0):e.hasClass("cv-icon-sort-ascending")?(e.removeClass("cv-icon-sort-ascending"),e.addClass("cv-icon-sort-descending"),o=!0):e.hasClass("cv-icon-sort-descending")&&(e.removeClass("cv-icon-sort-descending"),e.addClass("cv-icon-sort-ascending"),o=!1));$.ajax({url:i,type:"GET",dataType:"html",data:{sortField:f,descendingOrder:o,filter:s},success:function(t){if(t){$("#"+r).html(t);let i=$("#"+r+" th."+n.className);i&&i.length&&i[0].focus()}sortingInProgress=!1},error:function(){sortingInProgress=!1}})}}function FilterMyItems(n,t,i){if(!filteringInProgress&&t&&i){filteringInProgress=!0;let r=$(n).val();$.ajax({url:t,type:"GET",dataType:"html",data:{filter:r},success:function(t){t&&($("#"+i).html(t),$("#"+n.id).focus());filteringInProgress=!1},error:function(){filteringInProgress=!1}})}}function FilterMyInspections(n,t,i){if(!filteringInProgress&&t&&i){filteringInProgress=!0;let r=$(n).val();$.ajax({url:t,type:"GET",dataType:"html",data:{filter:r},success:function(t){t&&($("#"+i).html(t),$("#"+n.id).focus());filteringInProgress=!1},error:function(){filteringInProgress=!1}})}}function InitializeInspectionCalendar(n,t,i,r,u,f,e,o,s){let y=[],h;for(h=0;h<i.length;h++)y.push({title:"Holiday",start:i[h],allDay:!0,editable:!1,color:"green"});let p=[],l=JSON.parse(r);for(h=0;h<l.length;h++){let n=new Date(l[h].Key);if(u||n.getDay()!==0&&n.getDay()!==6){if(!f){let t=$.grep(i,function(t){return t.valueOf()===n.valueOf()}).length>0;if(t)continue}p.push({title:l[h].Value+" slots",start:n,allDay:!0,editable:!1,color:l[h].Value===0?"red":"",preventScheduling:l[h].Value===0})}}p=p.concat(y);let a=moment().startOf("day").add(n,"days"),v;v=t?moment(t,"MM/DD/YYYY"):a.clone();let c;c=o>0?moment().startOf("day").add(o,"days"):null;$("#inspectionCalendar").fullCalendar({editable:!1,selectable:!0,unselectAuto:!1,selectLongPressDelay:0,eventLongPressDelay:1e4,events:p,header:{left:"prev,next",center:"title",right:"cvPrevBtn,cvNextBtn"},select:function(n){CanSelectInspectionCalendarDate(n,u,f,i)?$("#inspectionDate").val(n.format("MM/DD/YYYY")):($("#inspectionCalendar").fullCalendar("unselect"),$("#inspectionDate").val(""))},selectAllow:function(n){return CanSelectInspectionCalendarDate(n.start,u,f,i)&&$("#inspectionCalendar").fullCalendar("select",n.start.startOf("day"),n.start.startOf("day")),!1},selectConstraint:{start:"00:00",end:"24:00"},visibleRange:{start:v.clone(),end:v.clone().add(e,"days")},validRange:{start:moment().startOf("day"),end:o&&o>0?moment().startOf("day").add(o,"days"):null},viewRender:function(){u||($("#inspectionCalendar .fc-sat:not(.fc-day-header)").addClass("fc-disabled-day"),$("#inspectionCalendar .fc-sun:not(.fc-day-header)").addClass("fc-disabled-day"));let t=$("#inspectionCalendar").fullCalendar("option","visibleRange"),i=moment(t.start).startOf("day"),r=moment(t.end).startOf("day");$("td.fc-day.fc-widget-content").each(function(){let n=$(this).data("date");if(n){let t=moment(n);(t.isBefore(i)||t.isAfter(r))&&$(this).addClass("fc-disabled-day")}});let n=$("#inspectionCalendar").fullCalendar("clientEvents");if(n&&n.length>0)for(let i=0;i<n.length;i++)n[i].preventScheduling&&t.start.isSame(n[i].start)&&$(this).addClass("fc-disabled-day")},eventAfterRender:function(n,t,i){if(n&&i&&i.dayGrid){let t;if(t=u?n.title.startsWith("0"):n.title==="Holiday"||n.title.startsWith("0"),t){let t=$(i.dayGrid.el).find(".fc-day[data-date='"+n.start.format("YYYY-MM-DD")+"']");t&&t.length>0&&t.first().addClass("fc-disabled-day")}}},eventClick:function(n){$("#inspectionCalendar").fullCalendar("select",n.start.startOf("day"),n.start.startOf("day"))},customButtons:{cvNextBtn:{text:"Next "+e+" Days",click:function(){let r=!1,o=$("#inspectionCalendar").fullCalendar("option","visibleRange"),t=moment(o.end).startOf("day"),n=moment(o.end).startOf("day").add(e,"day");c&&n.isSameOrAfter(c)&&(n=c.clone(),r=!0);$.ajax({type:"GET",url:s,data:{startDate:t.toJSON(),endDate:n.toJSON()},success:function(e){if(e){let r=JSON.parse(e),o=[];for(let n=0;n<r.length;n++){let t=new Date(r[n].Key);if(u||t.getDay()!==0&&t.getDay()!==6){if(!f){let n=$.grep(i,function(n){return n.valueOf()===t.valueOf()}).length>0;if(n)continue}o.push({title:r[n].Value+" slots",start:t,allDay:!0,editable:!1,color:r[n].Value===0?"red":"",preventScheduling:r[n].Value===0})}}$("#inspectionCalendar").fullCalendar("removeEvents");$("#inspectionCalendar").fullCalendar("renderEvents",y,!0);$("#inspectionCalendar").fullCalendar("renderEvents",o,!0);$("#inspectionCalendar").fullCalendar("option","visibleRange",{start:t,end:n});$("#inspectionCalendar").fullCalendar("gotoDate",t)}$(".fc-cvPrevBtn-button").removeClass("fc-state-disabled");r&&$(".fc-cvNextBtn-button").addClass("fc-state-disabled")}})}},cvPrevBtn:{text:"Prev "+e+" Days",click:function(){let t=!1,r=$("#inspectionCalendar").fullCalendar("option","visibleRange"),n=moment(r.start).startOf("day").subtract(e,"day"),o=moment(r.start).startOf("day");a&&n.isSameOrBefore(a)&&(n=a.clone(),t=!0);$.ajax({type:"GET",url:s,data:{startDate:n.toJSON(),endDate:o.toJSON()},success:function(r){if(r){let t=JSON.parse(r),e=[];for(let n=0;n<t.length;n++){let r=new Date(t[n].Key);if(u||r.getDay()!==0&&r.getDay()!==6){if(!f){let n=$.grep(i,function(n){return n.valueOf()===r.valueOf()}).length>0;if(n)continue}e.push({title:t[n].Value+" slots",start:r,allDay:!0,editable:!1,color:t[n].Value===0?"red":"",preventScheduling:t[n].Value===0})}}$("#inspectionCalendar").fullCalendar("removeEvents");$("#inspectionCalendar").fullCalendar("renderEvents",y,!0);$("#inspectionCalendar").fullCalendar("renderEvents",e,!0);$("#inspectionCalendar").fullCalendar("option","visibleRange",{start:n,end:o});$("#inspectionCalendar").fullCalendar("gotoDate",n)}$(".fc-cvNextBtn-button").removeClass("fc-state-disabled");t&&$(".fc-cvPrevBtn-button").addClass("fc-state-disabled")}})}}}});a.isSame(v)&&$(".fc-cvPrevBtn-button").addClass("fc-state-disabled");c&&v.startOf("day").add(e,"day").isSameOrAfter(c)&&$(".fc-cvNextBtn-button").addClass("fc-state-disabled")}function CanSelectInspectionCalendarDate(n,t,i,r){let u=new Date(n.format("LL"));if(!t&&(u.getDay()===0||u.getDay()===6))return!1;if(!i){let n=$.grep(r,function(n){return n.valueOf()===u.valueOf()}).length>0;if(n)return!1}let f=$("#inspectionCalendar").fullCalendar("clientEvents");if(f&&f.length>0)for(let n=0;n<f.length;n++)if(f[n].preventScheduling){let t=new Date(f[n].start.format("LL"));if(t.valueOf()===u.valueOf())return!1}let e=$("#inspectionCalendar").fullCalendar("option","visibleRange"),s=moment(e.start).startOf("day"),h=moment(e.end).startOf("day"),o=moment(u);return o.isBefore(s)||o.isAfter(h)?!1:!0}function filterCheckboxList(n,t){if(n&&t){let f=document.getElementById(t);if(f){let i=f.getElementsByClassName("checkboxListEntry");if(i&&i.length){let r,u,e=$(n.target).val()?$(n.target).val().toUpperCase():"";for(let n=0;n<i.length;n++){if(!e){i[n].style.display="";continue}r=i[n].getElementsByTagName("label")[0];r&&(u=r.textContent||r.innerText,u&&(i[n].style.display=u.toUpperCase().indexOf(e)!==-1?"":"none"))}}}}}function FocusOnCVElement(){let n=$("#masterContent input,#masterContent textarea,#masterContent select,#masterContent button").filter(":visible:enabled:first");if(n&&n.length){n.hasClass("datefield")&&(n=n.next(".ui-datepicker-trigger"));let i=$(n).offset().top,u=i+$(n).outerHeight(),r=$(window).scrollTop(),f=r+$(window).height();if(u>r&&i<f){n.is(":checkbox")||n.focus();return}let t=$("#masterContent legend.collapsible").filter(":visible:first");t&&t.length&&t.focus()}}function ProcessSubmittals(n,t,i){if($("#processSubmittalsForm").length>0){let r=$("#processSubmittalsForm").attr("action");r&&$.ajax({url:r,type:"POST",dataType:"json",headers:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()},data:{applicationId:n,module:t,category:i},success:function(){document.getElementById("uploadErrorPopupText").innerHTML="All documents were uploaded successfully.";document.getElementById("uploadErrorPopupTitle").innerHTML="Uploads Complete";$("#uploadErrorPopupOk").off("click");$("#uploadErrorPopupOk").click(function(){clickNext()});$("#uploadErrorPopupOk").show();$("#uploadErrorPopupCancel").hide();$("#uploadErrorPopupOk").focus();$("#backgroundPopup").unbind("click")},error:function(){document.getElementById("uploadErrorPopupText").innerHTML="All documents were uploaded successfully.";document.getElementById("uploadErrorPopupTitle").innerHTML="Uploads Complete";$("#uploadErrorPopupOk").off("click");$("#uploadErrorPopupOk").click(function(){clickNext()});$("#uploadErrorPopupOk").show();$("#uploadErrorPopupCancel").hide();$("#uploadErrorPopupOk").focus();$("#backgroundPopup").unbind("click")}})}}function clickNext(){if($("#bnext").length>0){$("#bnext").click();return}$("#dummyUploadCompleteThenRedirect").length>0&&$("#dummyUploadCompleteThenRedirect").show();window.location.href=window.location.search}function InitializeUploadControl(n,t,i,r,u,f,e,o){let s=r,h=!1;return r>=1&&(totalRequirementWithUploads++,h=!0),new qq.FineUploader({cvId:n,element:$("#file-uploader-"+n)[0],autoUpload:!1,maxConnections:1,multiple:!i,request:{forceMultipart:!0,endpoint:u,customHeaders:{__RequestVerificationToken:$("#contentPanel input[name=__RequestVerificationToken]").val()}},validation:{allowedExtensions:f,sizeLimit:e},showMessage:function(n){$("#uploadErrorPopupOk").show();$("#uploadErrorPopupOk").focus();$("#uploadErrorPopupCancel").hide();uploadErrorPopup(n,"An Error Has Occurred",!0)},failedUploadTextDisplay:{mode:"custom",maxChars:50,responseProperty:"message",enableTooltip:!0},callbacks:{onSubmit:function(){filesLeftToUpload++;s++;(n!=="otherUploads"||$(".currentSubmittalSection").length===0)&&(s>=1&&!h&&(totalRequirementWithUploads++,h=!0),$("#upload-reason-row-"+n).removeClass("ignoreCollapse"),$("#upload-reason-row-"+n).attr("aria-hidden",!1),$("#upload-reason-row-"+n).show(),i&&s>=fileUploadLimit&&$("#file-uploader-"+n+" .qq-upload-button").hide())},onCancel:function(){filesLeftToUpload>0?filesLeftToUpload--:filesLeftToUpload=0;s>0?s--:s=0;(n!=="otherUploads"||$(".currentSubmittalSection").length===0)&&(s<=0&&(totalRequirementWithUploads>0?totalRequirementWithUploads--:totalRequirementWithUploads=0,h=!1),s<=0&&($("#upload-reason-row-"+n).addClass("ignoreCollapse"),$("#upload-reason-row-"+n).attr("aria-hidden",!0),$("#upload-reason-row-"+n).hide()),i&&s<fileUploadLimit&&$("#file-uploader-"+n+" .qq-upload-button").show())},onError:function(){uploadHasErrors=!0},onUpload:function(){$("#upload-reason-text-"+this._options.cvId+" .qq-total-progress-bar-container").show();this.setParams({reasonForUpload:$("#upload-reason-text-"+this._options.cvId).val()})},onAllComplete:function(){if(allUploadControls&&allUploadControls.length>0){let t,i=!1;do{t=allUploadControls.pop();let n=t.getUploads();if(n&&n.length)for(let t=0;t<n.length;t++)if(n[t].status&&n[t].status.toLowerCase()!=="rejected"){i=!0;break}}while(allUploadControls.length>0&&!i);t&&i&&($("#upload-reason-text-"+n+" .qq-total-progress-bar-container").show(),t.setParams({reasonForUpload:$("#upload-reason-text-"+n).val()}),t.uploadStoredFiles())}},onComplete:function(n,i,r){if(filesLeftToUpload>0?filesLeftToUpload--:filesLeftToUpload=0,s>0?s--:s=0,filesLeftToUpload<=0){if($("#loadingGifBeforeRedirect").hide(),t)r&&!r.success||uploadHasErrors?(uploadHasErrors=!0,document.getElementById("uploadErrorPopupText").innerHTML="Not all documents were uploaded successfully. Please try again.",document.getElementById("uploadErrorPopupTitle").innerHTML="An Error Has Occurred"):$(".currentSubmittalSection").length>0&&numberOfRequirementItems>totalRequirementWithUploads?(document.getElementById("uploadErrorPopupText").innerHTML="All documents were uploaded successfully. <br/><br/> <span class='cv-bold'>Reminder: <\/span>If you have not uploaded documents to all of the submittal requirements then those documents can be provided at a later date by using the Upload Submittals link from the main page.<br/><br/>"+o,document.getElementById("uploadErrorPopupTitle").innerHTML="Uploads Complete"):(document.getElementById("uploadErrorPopupText").innerHTML="All documents were uploaded successfully. <br/><br/>"+o,document.getElementById("uploadErrorPopupTitle").innerHTML="Uploads Complete");else if(r&&!r.success||uploadHasErrors)uploadHasErrors=!0,document.getElementById("uploadErrorPopupText").innerHTML="Not all documents were uploaded successfully. Please try again.",document.getElementById("uploadErrorPopupTitle").innerHTML="An Error Has Occurred",$("#uploadErrorPopupOk").click(function(){window.location.href=window.location.search});else{if($("#processSubmittalsForm").length>0){$("#processSubmittalsForm").off("submit");$("#processSubmittalsForm").submit();return}document.getElementById("uploadErrorPopupText").innerHTML="All documents were uploaded successfully.";document.getElementById("uploadErrorPopupTitle").innerHTML="Uploads Complete";$("#uploadErrorPopupOk").click(function(){clickNext()})}$("#uploadErrorPopupOk").show();$("#uploadErrorPopupCancel").hide();$("#uploadErrorPopupOk").focus();$("#backgroundPopup").unbind("click")}}}})}var DateFormatter,datetimepickerFactory;!function(){"use strict";var t,n,i,r,u;t=function(n,t){return"string"==typeof n&&"string"==typeof t&&n.toLowerCase()===t.toLowerCase()};n=function(t,i,r){var f=r||"0",u=t.toString();return u.length<i?n(f+u,i):u};i=function(n){var u,r,t;for(n=n||{},u=1;u<arguments.length;u++)if(r=arguments[u])for(t in r)r.hasOwnProperty(t)&&("object"==typeof r[t]?i(n[t],r[t]):n[t]=r[t]);return n};r=function(n,t){for(var i=0;i<t.length;i++)if(t[i].toLowerCase()===n.toLowerCase())return i;return-1};u={dateSettings:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["AM","PM"],ordinal:function(n){var t=n%10,i={1:"st",2:"nd",3:"rd"};return 1!==Math.floor(n%100/10)&&i[t]?i[t]:"th"}},separators:/[ \-+\/\.T:@]/g,validParts:/[dDjlNSwzWFmMntLoYyaABgGhHisueTIOPZcrU]/g,intParts:/[djwNzmnyYhHgGis]/g,tzParts:/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,tzClip:/[^-+\dA-Z]/g};(DateFormatter=function(n){var t=this,r=i(u,n);t.dateSettings=r.dateSettings;t.separators=r.separators;t.validParts=r.validParts;t.intParts=r.intParts;t.tzParts=r.tzParts;t.tzClip=r.tzClip}).prototype={constructor:DateFormatter,getMonth:function(n){var t;return 0===(t=r(n,this.dateSettings.monthsShort)+1)&&(t=r(n,this.dateSettings.months)+1),t},parseDate:function(n,i){var f,h,e,o,r,y,p,a,w,v,c=this,l=!1,s=!1,b=c.dateSettings,u={date:null,year:null,month:null,day:null,hour:0,min:0,sec:0};if(!n)return null;if(n instanceof Date)return n;if("U"===i)return(e=parseInt(n))?new Date(1e3*e):n;switch(typeof n){case"number":return new Date(n);case"string":break;default:return null}if(!(f=i.match(c.validParts))||0===f.length)throw new Error("Invalid date format definition.");for(h=n.replace(c.separators,"\0").split("\0"),e=0;e<h.length;e++)switch(o=h[e],r=parseInt(o),f[e]){case"y":case"Y":if(!r)return null;w=o.length;u.year=2===w?parseInt((r<70?"20":"19")+o):r;l=!0;break;case"m":case"n":case"M":case"F":if(isNaN(r)){if(!(0<(y=c.getMonth(o))))return null;u.month=y}else{if(!(1<=r&&r<=12))return null;u.month=r}l=!0;break;case"d":case"j":if(!(1<=r&&r<=31))return null;u.day=r;l=!0;break;case"g":case"h":if(v=h[p=-1<f.indexOf("a")?f.indexOf("a"):-1<f.indexOf("A")?f.indexOf("A"):-1],-1<p)a=t(v,b.meridiem[0])?0:t(v,b.meridiem[1])?12:-1,1<=r&&r<=12&&-1<a?u.hour=r+a-1:0<=r&&r<=23&&(u.hour=r);else{if(!(0<=r&&r<=23))return null;u.hour=r}s=!0;break;case"G":case"H":if(!(0<=r&&r<=23))return null;u.hour=r;s=!0;break;case"i":if(!(0<=r&&r<=59))return null;u.min=r;s=!0;break;case"s":if(!(0<=r&&r<=59))return null;u.sec=r;s=!0}if(!0===l&&u.year&&u.month&&u.day)u.date=new Date(u.year,u.month-1,u.day,u.hour,u.min,u.sec,0);else{if(!0!==s)return null;u.date=new Date(0,0,0,u.hour,u.min,u.sec,0)}return u.date},guessDate:function(n,t){if("string"!=typeof n)return n;var o,s,u,l,f,r,h=n.replace(this.separators,"\0").split("\0"),e=t.match(this.validParts),i=new Date,c=0;if(!/^[djmn]/g.test(e[0]))return n;for(u=0;u<h.length;u++){if(c=2,f=h[u],r=parseInt(f.substr(0,2)),isNaN(r))return null;switch(u){case 0:"m"===e[0]||"n"===e[0]?i.setMonth(r-1):i.setDate(r);break;case 1:"m"===e[0]||"n"===e[0]?i.setDate(r):i.setMonth(r-1);break;case 2:if(s=i.getFullYear(),c=(o=f.length)<4?o:4,!(s=parseInt(o<4?s.toString().substr(0,4-o)+f:f.substr(0,4))))return null;i.setFullYear(s);break;case 3:i.setHours(r);break;case 4:i.setMinutes(r);break;case 5:i.setSeconds(r)}0<(l=f.substr(c)).length&&h.splice(u+1,0,l)}return i},parseFormat:function(t,i){var r,f=this,u=f.dateSettings,o=/\\?(.?)/gi,e=function(n,t){return r[n]?r[n]():t};return r={d:function(){return n(r.j(),2)},D:function(){return u.daysShort[r.w()]},j:function(){return i.getDate()},l:function(){return u.days[r.w()]},N:function(){return r.w()||7},w:function(){return i.getDay()},z:function(){var n=new Date(r.Y(),r.n()-1,r.j()),t=new Date(r.Y(),0,1);return Math.round((n-t)/864e5)},W:function(){var t=new Date(r.Y(),r.n()-1,r.j()-r.N()+3),i=new Date(t.getFullYear(),0,4);return n(1+Math.round((t-i)/6048e5),2)},F:function(){return u.months[i.getMonth()]},m:function(){return n(r.n(),2)},M:function(){return u.monthsShort[i.getMonth()]},n:function(){return i.getMonth()+1},t:function(){return new Date(r.Y(),r.n(),0).getDate()},L:function(){var n=r.Y();return n%4==0&&n%100!=0||n%400==0?1:0},o:function(){var n=r.n(),t=r.W();return r.Y()+(12===n&&t<9?1:1===n&&9<t?-1:0)},Y:function(){return i.getFullYear()},y:function(){return r.Y().toString().slice(-2)},a:function(){return r.A().toLowerCase()},A:function(){var n=r.G()<12?0:1;return u.meridiem[n]},B:function(){var t=3600*i.getUTCHours(),r=60*i.getUTCMinutes(),u=i.getUTCSeconds();return n(Math.floor((t+r+u+3600)/86.4)%1e3,3)},g:function(){return r.G()%12||12},G:function(){return i.getHours()},h:function(){return n(r.g(),2)},H:function(){return n(r.G(),2)},i:function(){return n(i.getMinutes(),2)},s:function(){return n(i.getSeconds(),2)},u:function(){return n(1e3*i.getMilliseconds(),6)},e:function(){return/\((.*)\)/.exec(String(i))[1]||"Coordinated Universal Time"},I:function(){return new Date(r.Y(),0)-Date.UTC(r.Y(),0)!=new Date(r.Y(),6)-Date.UTC(r.Y(),6)?1:0},O:function(){var t=i.getTimezoneOffset(),r=Math.abs(t);return(0<t?"-":"+")+n(100*Math.floor(r/60)+r%60,4)},P:function(){var n=r.O();return n.substr(0,3)+":"+n.substr(3,2)},T:function(){return(String(i).match(f.tzParts)||[""]).pop().replace(f.tzClip,"")||"UTC"},Z:function(){return 60*-i.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(o,e)},r:function(){return"D, d M Y H:i:s O".replace(o,e)},U:function(){return i.getTime()/1e3||0}},e(t,t)},formatDate:function(n,t){var i,o,f,u,r,e="";if("string"==typeof n&&!(n=this.parseDate(n,t)))return null;if(n instanceof Date){for(f=t.length,i=0;i<f;i++)"S"!==(r=t.charAt(i))&&"\\"!==r&&(0<i&&"\\"===t.charAt(i-1)?e+=r:(u=this.parseFormat(r,n),i!==f-1&&this.intParts.test(r)&&"S"===t.charAt(i+1)&&(o=parseInt(u)||0,u+=this.dateSettings.ordinal(o)),e+=u));return e}return""}}}();datetimepickerFactory=function(n){"use strict";function h(n,t,i){this.date=n;this.desc=t;this.style=i}var i={i18n:{ar:{months:["كانون الثاني","شباط","آذار","نيسان","مايو","حزيران","تموز","آب","أيلول","تشرين الأول","تشرين الثاني","كانون الأول"],dayOfWeekShort:["ن","ث","ع","خ","ج","س","ح"],dayOfWeek:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت","الأحد"]},ro:{months:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],dayOfWeekShort:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],dayOfWeek:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"]},id:{months:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember"],dayOfWeekShort:["Min","Sen","Sel","Rab","Kam","Jum","Sab"],dayOfWeek:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"]},is:{months:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],dayOfWeekShort:["Sun","Mán","Þrið","Mið","Fim","Fös","Lau"],dayOfWeek:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"]},bg:{months:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"]},fa:{months:["فروردین","اردیبهشت","خرداد","تیر","مرداد","شهریور","مهر","آبان","آذر","دی","بهمن","اسفند"],dayOfWeekShort:["یکشنبه","دوشنبه","سه شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayOfWeek:["یک‌شنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه","یک‌شنبه"]},ru:{months:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],dayOfWeekShort:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Воскресенье","Понедельник","Вторник","Среда","Четверг","Пятница","Суббота"]},uk:{months:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],dayOfWeekShort:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],dayOfWeek:["Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятниця","Субота"]},en:{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},el:{months:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],dayOfWeekShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayOfWeek:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"]},de:{months:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],dayOfWeekShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayOfWeek:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"]},nl:{months:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],dayOfWeekShort:["zo","ma","di","wo","do","vr","za"],dayOfWeek:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"]},tr:{months:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],dayOfWeekShort:["Paz","Pts","Sal","Çar","Per","Cum","Cts"],dayOfWeek:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"]},fr:{months:["Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre"],dayOfWeekShort:["Dim","Lun","Mar","Mer","Jeu","Ven","Sam"],dayOfWeek:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"]},es:{months:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],dayOfWeekShort:["Dom","Lun","Mar","Mié","Jue","Vie","Sáb"],dayOfWeek:["Domingo","Lunes","Martes","Miércoles","Jueves","Viernes","Sábado"]},th:{months:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],dayOfWeekShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayOfWeek:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัส","ศุกร์","เสาร์","อาทิตย์"]},pl:{months:["styczeń","luty","marzec","kwiecień","maj","czerwiec","lipiec","sierpień","wrzesień","październik","listopad","grudzień"],dayOfWeekShort:["nd","pn","wt","śr","cz","pt","sb"],dayOfWeek:["niedziela","poniedziałek","wtorek","środa","czwartek","piątek","sobota"]},pt:{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sab"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},ch:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"]},se:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"]},km:{months:["មករា​","កុម្ភៈ","មិនា​","មេសា​","ឧសភា​","មិថុនា​","កក្កដា​","សីហា​","កញ្ញា​","តុលា​","វិច្ឆិកា","ធ្នូ​"],dayOfWeekShort:["អាទិ​","ច័ន្ទ​","អង្គារ​","ពុធ​","ព្រហ​​","សុក្រ​","សៅរ៍"],dayOfWeek:["អាទិត្យ​","ច័ន្ទ​","អង្គារ​","ពុធ​","ព្រហស្បតិ៍​","សុក្រ​","សៅរ៍"]},kr:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},it:{months:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayOfWeek:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"]},da:{months:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"]},no:{months:["Januar","Februar","Mars","April","Mai","Juni","Juli","August","September","Oktober","November","Desember"],dayOfWeekShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayOfWeek:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"]},ja:{months:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayOfWeekShort:["日","月","火","水","木","金","土"],dayOfWeek:["日曜","月曜","火曜","水曜","木曜","金曜","土曜"]},vi:{months:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayOfWeekShort:["CN","T2","T3","T4","T5","T6","T7"],dayOfWeek:["Chủ nhật","Thứ hai","Thứ ba","Thứ tư","Thứ năm","Thứ sáu","Thứ bảy"]},sl:{months:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],dayOfWeekShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayOfWeek:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"]},cs:{months:["Leden","Únor","Březen","Duben","Květen","Červen","Červenec","Srpen","Září","Říjen","Listopad","Prosinec"],dayOfWeekShort:["Ne","Po","Út","St","Čt","Pá","So"]},hu:{months:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],dayOfWeekShort:["Va","Hé","Ke","Sze","Cs","Pé","Szo"],dayOfWeek:["vasárnap","hétfő","kedd","szerda","csütörtök","péntek","szombat"]},az:{months:["Yanvar","Fevral","Mart","Aprel","May","Iyun","Iyul","Avqust","Sentyabr","Oktyabr","Noyabr","Dekabr"],dayOfWeekShort:["B","Be","Ça","Ç","Ca","C","Ş"],dayOfWeek:["Bazar","Bazar ertəsi","Çərşənbə axşamı","Çərşənbə","Cümə axşamı","Cümə","Şənbə"]},bs:{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ca:{months:["Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost","Setembre","Octubre","Novembre","Desembre"],dayOfWeekShort:["Dg","Dl","Dt","Dc","Dj","Dv","Ds"],dayOfWeek:["Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Dissabte"]},"en-GB":{months:["January","February","March","April","May","June","July","August","September","October","November","December"],dayOfWeekShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayOfWeek:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},et:{months:["Jaanuar","Veebruar","Märts","Aprill","Mai","Juuni","Juuli","August","September","Oktoober","November","Detsember"],dayOfWeekShort:["P","E","T","K","N","R","L"],dayOfWeek:["Pühapäev","Esmaspäev","Teisipäev","Kolmapäev","Neljapäev","Reede","Laupäev"]},eu:{months:["Urtarrila","Otsaila","Martxoa","Apirila","Maiatza","Ekaina","Uztaila","Abuztua","Iraila","Urria","Azaroa","Abendua"],dayOfWeekShort:["Ig.","Al.","Ar.","Az.","Og.","Or.","La."],dayOfWeek:["Igandea","Astelehena","Asteartea","Asteazkena","Osteguna","Ostirala","Larunbata"]},fi:{months:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],dayOfWeekShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayOfWeek:["sunnuntai","maanantai","tiistai","keskiviikko","torstai","perjantai","lauantai"]},gl:{months:["Xan","Feb","Maz","Abr","Mai","Xun","Xul","Ago","Set","Out","Nov","Dec"],dayOfWeekShort:["Dom","Lun","Mar","Mer","Xov","Ven","Sab"],dayOfWeek:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"]},hr:{months:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],dayOfWeekShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayOfWeek:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"]},ko:{months:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayOfWeekShort:["일","월","화","수","목","금","토"],dayOfWeek:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"]},lt:{months:["Sausio","Vasario","Kovo","Balandžio","Gegužės","Birželio","Liepos","Rugpjūčio","Rugsėjo","Spalio","Lapkričio","Gruodžio"],dayOfWeekShort:["Sek","Pir","Ant","Tre","Ket","Pen","Šeš"],dayOfWeek:["Sekmadienis","Pirmadienis","Antradienis","Trečiadienis","Ketvirtadienis","Penktadienis","Šeštadienis"]},lv:{months:["Janvāris","Februāris","Marts","Aprīlis ","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],dayOfWeekShort:["Sv","Pr","Ot","Tr","Ct","Pk","St"],dayOfWeek:["Svētdiena","Pirmdiena","Otrdiena","Trešdiena","Ceturtdiena","Piektdiena","Sestdiena"]},mk:{months:["јануари","февруари","март","април","мај","јуни","јули","август","септември","октомври","ноември","декември"],dayOfWeekShort:["нед","пон","вто","сре","чет","пет","саб"],dayOfWeek:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"]},mn:{months:["1-р сар","2-р сар","3-р сар","4-р сар","5-р сар","6-р сар","7-р сар","8-р сар","9-р сар","10-р сар","11-р сар","12-р сар"],dayOfWeekShort:["Дав","Мяг","Лха","Пүр","Бсн","Бям","Ням"],dayOfWeek:["Даваа","Мягмар","Лхагва","Пүрэв","Баасан","Бямба","Ням"]},"pt-BR":{months:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],dayOfWeekShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayOfWeek:["Domingo","Segunda","Terça","Quarta","Quinta","Sexta","Sábado"]},sk:{months:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],dayOfWeekShort:["Ne","Po","Ut","St","Št","Pi","So"],dayOfWeek:["Nedeľa","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"]},sq:{months:["Janar","Shkurt","Mars","Prill","Maj","Qershor","Korrik","Gusht","Shtator","Tetor","Nëntor","Dhjetor"],dayOfWeekShort:["Die","Hën","Mar","Mër","Enj","Pre","Shtu"],dayOfWeek:["E Diel","E Hënë","E Martē","E Mërkurë","E Enjte","E Premte","E Shtunë"]},"sr-YU":{months:["Januar","Februar","Mart","April","Maj","Jun","Jul","Avgust","Septembar","Oktobar","Novembar","Decembar"],dayOfWeekShort:["Ned","Pon","Uto","Sre","čet","Pet","Sub"],dayOfWeek:["Nedelja","Ponedeljak","Utorak","Sreda","Četvrtak","Petak","Subota"]},sr:{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],dayOfWeekShort:["нед","пон","уто","сре","чет","пет","суб"],dayOfWeek:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"]},sv:{months:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],dayOfWeekShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayOfWeek:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"]},"zh-TW":{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},zh:{months:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayOfWeekShort:["日","一","二","三","四","五","六"],dayOfWeek:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]},ug:{months:["1-ئاي","2-ئاي","3-ئاي","4-ئاي","5-ئاي","6-ئاي","7-ئاي","8-ئاي","9-ئاي","10-ئاي","11-ئاي","12-ئاي"],dayOfWeek:["يەكشەنبە","دۈشەنبە","سەيشەنبە","چارشەنبە","پەيشەنبە","جۈمە","شەنبە"]},he:{months:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],dayOfWeekShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayOfWeek:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת","ראשון"]},hy:{months:["Հունվար","Փետրվար","Մարտ","Ապրիլ","Մայիս","Հունիս","Հուլիս","Օգոստոս","Սեպտեմբեր","Հոկտեմբեր","Նոյեմբեր","Դեկտեմբեր"],dayOfWeekShort:["Կի","Երկ","Երք","Չոր","Հնգ","Ուրբ","Շբթ"],dayOfWeek:["Կիրակի","Երկուշաբթի","Երեքշաբթի","Չորեքշաբթի","Հինգշաբթի","Ուրբաթ","Շաբաթ"]},kg:{months:["Үчтүн айы","Бирдин айы","Жалган Куран","Чын Куран","Бугу","Кулжа","Теке","Баш Оона","Аяк Оона","Тогуздун айы","Жетинин айы","Бештин айы"],dayOfWeekShort:["Жек","Дүй","Шей","Шар","Бей","Жум","Ише"],dayOfWeek:["Жекшемб","Дүйшөмб","Шейшемб","Шаршемб","Бейшемби","Жума","Ишенб"]},rm:{months:["Schaner","Favrer","Mars","Avrigl","Matg","Zercladur","Fanadur","Avust","Settember","October","November","December"],dayOfWeekShort:["Du","Gli","Ma","Me","Gie","Ve","So"],dayOfWeek:["Dumengia","Glindesdi","Mardi","Mesemna","Gievgia","Venderdi","Sonda"]},ka:{months:["იანვარი","თებერვალი","მარტი","აპრილი","მაისი","ივნისი","ივლისი","აგვისტო","სექტემბერი","ოქტომბერი","ნოემბერი","დეკემბერი"],dayOfWeekShort:["კვ","ორშ","სამშ","ოთხ","ხუთ","პარ","შაბ"],dayOfWeek:["კვირა","ორშაბათი","სამშაბათი","ოთხშაბათი","ხუთშაბათი","პარასკევი","შაბათი"]},kk:{months:["Қаңтар","Ақпан","Наурыз","Сәуір","Мамыр","Маусым","Шілде","Тамыз","Қыркүйек","Қазан","Қараша","Желтоқсан"],dayOfWeekShort:["Жк","Дс","Сс","Ср","Бс","Жм","Сб"],dayOfWeek:["Жексенбі","Дүйсенбі","Сейсенбі","Сәрсенбі","Бейсенбі","Жұма","Сенбі"]}},ownerDocument:document,contentWindow:window,value:"",rtl:!1,format:"Y/m/d H:i",formatTime:"H:i",formatDate:"Y/m/d",startDate:!1,step:60,monthChangeSpinner:!0,closeOnDateSelect:!1,closeOnTimeSelect:!0,closeOnWithoutClick:!0,closeOnInputClick:!0,openOnFocus:!0,timepicker:!0,datepicker:!0,weeks:!1,defaultTime:!1,defaultDate:!1,minDate:!1,maxDate:!1,minTime:!1,maxTime:!1,minDateTime:!1,maxDateTime:!1,allowTimes:[],opened:!1,initTime:!0,inline:!1,theme:"",touchMovedThreshold:5,onSelectDate:function(){},onSelectTime:function(){},onChangeMonth:function(){},onGetWeekOfYear:function(){},onChangeYear:function(){},onChangeDateTime:function(){},onShow:function(){},onClose:function(){},onGenerate:function(){},withoutCopyright:!0,inverseButton:!1,hours12:!1,next:"xdsoft_next",prev:"xdsoft_prev",dayOfWeekStart:0,parentID:"body",timeHeightInTimePicker:25,timepickerScrollbar:!0,todayButton:!0,prevButton:!0,nextButton:!0,defaultSelect:!0,scrollMonth:!0,scrollTime:!0,scrollInput:!0,lazyInit:!1,mask:!1,validateOnBlur:!0,allowBlank:!0,yearStart:1950,yearEnd:2050,monthStart:0,monthEnd:11,style:"",id:"",fixed:!1,roundTime:"round",className:"",weekends:[],highlightedDates:[],highlightedPeriods:[],allowDates:[],allowDateRe:null,disabledDates:[],disabledWeekDays:[],yearOffset:0,beforeShowDay:null,enterLikeTab:!0,showApplyButton:!1,insideParent:!1},t=null,u=null,r="en",c={meridiem:["AM","PM"]},o=function(){var f=i.i18n[r],e={days:f.dayOfWeek,daysShort:f.dayOfWeekShort,months:f.months,monthsShort:n.map(f.months,function(n){return n.substring(0,3)})};"function"==typeof DateFormatter&&(t=u=new DateFormatter({dateSettings:n.extend({},c,e)}))},s={moment:{default_options:{format:"YYYY/MM/DD HH:mm",formatDate:"YYYY/MM/DD",formatTime:"HH:mm"},formatter:{parseDate:function(n,t){if(e(t))return u.parseDate(n,t);var i=moment(n,t);return!!i.isValid()&&i.toDate()},formatDate:function(n,t){return e(t)?u.formatDate(n,t):moment(n).format(t)},formatMask:function(n){return n.replace(/Y{4}/g,"9999").replace(/Y{2}/g,"99").replace(/M{2}/g,"19").replace(/D{2}/g,"39").replace(/H{2}/g,"29").replace(/m{2}/g,"59").replace(/s{2}/g,"59")}}}},f,e;n.datetimepicker={setLocale:function(n){var t=i.i18n[n]?n:"en";r!==t&&(r=t,o())},setDateFormatter:function(r){if("string"==typeof r&&s.hasOwnProperty(r)){var u=s[r];n.extend(i,u.default_options);t=u.formatter}else t=r}};f={RFC_2822:"D, d M Y H:i:s O",ATOM:"Y-m-dTH:i:sP",ISO_8601:"Y-m-dTH:i:sO",RFC_822:"D, d M y H:i:s O",RFC_850:"l, d-M-y H:i:s T",RFC_1036:"D, d M y H:i:s O",RFC_1123:"D, d M Y H:i:s O",RSS:"D, d M Y H:i:s O",W3C:"Y-m-dTH:i:sP"};e=function(n){return-1!==Object.values(f).indexOf(n)};n.extend(n.datetimepicker,f);o();window.getComputedStyle||(window.getComputedStyle=function(n){return this.el=n,this.getPropertyValue=function(t){var i=/(-([a-z]))/g;return"float"===t&&(t="styleFloat"),i.test(t)&&(t=t.replace(i,function(n,t,i){return i.toUpperCase()})),n.currentStyle[t]||null},this});Array.prototype.indexOf||(Array.prototype.indexOf=function(n,t){for(var i=t||0,r=this.length;i<r;i+=1)if(this[i]===n)return i;return-1});Date.prototype.countDaysInMonth=function(){return new Date(this.getFullYear(),this.getMonth()+1,0).getDate()};n.fn.xdsoftScroller=function(t,i){return this.each(function(){var e,f,o,s,u,r=n(this),c=function(n){var i,t={x:0,y:0};return"touchstart"===n.type||"touchmove"===n.type||"touchend"===n.type||"touchcancel"===n.type?(i=n.originalEvent.touches[0]||n.originalEvent.changedTouches[0],t.x=i.clientX,t.y=i.clientY):"mousedown"!==n.type&&"mouseup"!==n.type&&"mousemove"!==n.type&&"mouseover"!==n.type&&"mouseout"!==n.type&&"mouseenter"!==n.type&&"mouseleave"!==n.type||(t.x=n.clientX,t.y=n.clientY),t},h=0,l=100,a=!1,k=0,y=0,p=0,w=!1,b=0,v=function(){};"hide"!==i?(n(this).hasClass("xdsoft_scroller_box")||(e=r.children().eq(0),h=Math.abs(parseInt(e.css("marginTop"),10)),f=r[0].clientHeight,o=e[0].offsetHeight,s=n('<div class="xdsoft_scrollbar"><\/div>'),u=n('<div class="xdsoft_scroller"><\/div>'),s.append(u),r.addClass("xdsoft_scroller_box").append(s),v=function(n){var t=c(n).y-k+b;t<0&&(t=0);t+u[0].offsetHeight>p&&(t=p-u[0].offsetHeight);r.trigger("scroll_element.xdsoft_scroller",[l?t/l:0])},u.on("touchstart.xdsoft_scroller mousedown.xdsoft_scroller",function(e){f||r.trigger("resize_scroll.xdsoft_scroller",[i]);k=c(e).y;b=parseInt(u.css("marginTop"),10);p=s[0].offsetHeight;"mousedown"===e.type||"touchstart"===e.type?(t.ownerDocument&&n(t.ownerDocument.body).addClass("xdsoft_noselect"),n([t.ownerDocument.body,t.contentWindow]).on("touchend mouseup.xdsoft_scroller",function e(){n([t.ownerDocument.body,t.contentWindow]).off("touchend mouseup.xdsoft_scroller",e).off("mousemove.xdsoft_scroller",v).removeClass("xdsoft_noselect")}),n(t.ownerDocument.body).on("mousemove.xdsoft_scroller",v)):(w=!0,e.stopPropagation(),e.preventDefault())}).on("touchmove",function(n){w&&(n.preventDefault(),v(n))}).on("touchend touchcancel",function(){w=!1;b=0}),r.on("scroll_element.xdsoft_scroller",function(n,t){f||r.trigger("resize_scroll.xdsoft_scroller",[t,!0]);t=1<t?1:t<0||isNaN(t)?0:t;h=parseFloat(Math.abs((e[0].offsetHeight-f)*t).toFixed(4));u.css("marginTop",l*t);e.css("marginTop",-h)}).on("resize_scroll.xdsoft_scroller",function(n,t,i){var a,c;f=r[0].clientHeight;o=e[0].offsetHeight;c=(a=f/o)*s[0].offsetHeight;1<a?u.hide():(u.show(),u.css("height",parseInt(10<c?c:10,10)),l=s[0].offsetHeight-u[0].offsetHeight,!0!==i&&r.trigger("scroll_element.xdsoft_scroller",[t||h/(o-f)]))}),r.on("mousewheel",function(n){var t,i,u=(t=n.originalEvent,i=0,"detail"in t&&(i=t.detail),"wheelDelta"in t&&(i=-t.wheelDelta/120),"wheelDeltaY"in t&&(i=-t.wheelDeltaY/120),"axis"in t&&t.axis===t.HORIZONTAL_AXIS&&(i=0),i*=10,"deltaY"in t&&(i=-t.deltaY),i&&t.deltaMode&&(i*=1===t.deltaMode?40:800),i),e=Math.max(0,h-u);return r.trigger("scroll_element.xdsoft_scroller",[e/(o-f)]),n.stopPropagation(),!1}),r.on("touchstart",function(n){a=c(n);y=h}),r.on("touchmove",function(n){if(a){n.preventDefault();var t=c(n);r.trigger("scroll_element.xdsoft_scroller",[(y-(t.y-a.y))/(o-f)])}}),r.on("touchend touchcancel",function(){a=!1;y=0})),r.trigger("resize_scroll.xdsoft_scroller",[i])):r.find(".xdsoft_scrollbar").hide()})};n.fn.datetimepicker=function(u,f){var o,l,a=this,s=17,v=13,w=27,b=37,k=38,d=39,g=40,y=9,nt=116,tt=65,it=67,rt=86,ut=90,ft=89,c=!1,e=n.isPlainObject(u)||!u?n.extend(!0,{},i,u):n.extend(!0,{},i),p=0;return o=function(i){function gt(){var t,n=!1;return e.startDate?n=o.strToDate(e.startDate):(n=e.value||(i&&i.val&&i.val()?i.val():""))?(n=o.strToDateTime(n),e.yearOffset&&(n=new Date(n.getFullYear()-e.yearOffset,n.getMonth(),n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),n.getMilliseconds()))):e.defaultDate&&(n=o.strToDateTime(e.defaultDate),e.defaultTime&&(t=o.strtotime(e.defaultTime),n.setHours(t.getHours()),n.setMinutes(t.getMinutes()))),n&&o.isValidDate(n)?f.data("changed",!0):n="",n||0}function ni(r){var u=function(n,t){var i=n.replace(/([\[\]\/\{\}\(\)\-\.\+]{1})/g,"\\$1").replace(/_/g,"{digit+}").replace(/([0-9]{1})/g,"{digit$1}").replace(/\{digit([0-9]{1})\}/g,"[0-$1_]{1}").replace(/\{digit[\+]\}/g,"[0-9_]{1}");return new RegExp(i).test(t)},f=function(n,t){if(!(n="string"==typeof n||n instanceof String?r.ownerDocument.getElementById(n):n))return!1;if(n.createTextRange){var i=n.createTextRange();return i.collapse(!0),i.moveEnd("character",t),i.moveStart("character",t),i.select(),!0}return!!n.setSelectionRange&&(n.setSelectionRange(t,t),!0)};r.mask&&i.off("keydown.xdsoft");!0===r.mask&&(r.mask=t.formatMask?t.formatMask(r.format):r.format.replace(/Y/g,"9999").replace(/F/g,"9999").replace(/m/g,"19").replace(/d/g,"39").replace(/H/g,"29").replace(/i/g,"59").replace(/s/g,"59"));"string"===n.type(r.mask)&&(u(r.mask,i.val())||(i.val(r.mask.replace(/[0-9]/g,"_")),f(i[0],0)),i.on("paste.xdsoft",function(t){var s=(t.clipboardData||t.originalEvent.clipboardData||window.clipboardData).getData("text"),e=this.value,o=this.selectionStart;return e=e.substr(0,o)+s+e.substr(o+s.length),o+=s.length,u(r.mask,e)?(this.value=e,f(this,o)):""===n.trim(e)?this.value=r.mask.replace(/[0-9]/g,"_"):i.trigger("error_input.xdsoft"),t.preventDefault(),!1}),i.on("keydown.xdsoft",function(t){var a,h=this.value,o=t.which,e=this.selectionStart,p=this.selectionEnd,l=e!==p;if(48<=o&&o<=57||96<=o&&o<=105||8===o||46===o){for(a=8===o||46===o?"_":String.fromCharCode(96<=o&&o<=105?o-48:o),8===o&&e&&!l&&(e-=1);;){var st=r.mask.substr(e,1),ht=e<r.mask.length,ct=0<e;if(!(/[^0-9_]/.test(st)&&ht&&ct))break;e+=8!==o||l?1:-1}if(t.metaKey&&(l=!(e=0)),l){var et=p-e,ot=r.mask.replace(/[0-9]/g,"_"),lt=ot.substr(e,et).substr(1);h=h.substr(0,e)+(a+lt)+h.substr(e+et)}else h=h.substr(0,e)+a+h.substr(e+1);if(""===n.trim(h))h=ot;else if(e===r.mask.length)return t.preventDefault(),!1;for(e+=8===o?0:1;/[^0-9_]/.test(r.mask.substr(e,1))&&e<r.mask.length&&0<e;)e+=8===o?0:1;u(r.mask,h)?(this.value=h,f(this,e)):""===n.trim(h)?this.value=r.mask.replace(/[0-9]/g,"_"):i.trigger("error_input.xdsoft")}else if(-1!==[tt,it,rt,ut,ft].indexOf(o)&&c||-1!==[w,k,g,b,d,nt,s,y,v].indexOf(o))return!0;return t.preventDefault(),!1}))}var at,ht,ot,ct,o,vt,f=n('<div class="xdsoft_datetimepicker xdsoft_noselect"><\/div>'),ti=n('<div class="xdsoft_copyright"><a target="_blank" href="http://xdsoft.net/jqplugins/datetimepicker/">xdsoft.net<\/a><\/div>'),et=n('<div class="xdsoft_datepicker active"><\/div>'),a=n('<div class="xdsoft_monthpicker"><button type="button" class="xdsoft_prev"><\/button><button type="button" class="xdsoft_today_button"><\/button><div class="xdsoft_label xdsoft_month"><span><\/span><i><\/i><\/div><div class="xdsoft_label xdsoft_year"><span><\/span><i><\/i><\/div><button type="button" class="xdsoft_next"><\/button><\/div>'),yt=n('<div class="xdsoft_calendar"><\/div>'),st=n('<div class="xdsoft_timepicker active"><button type="button" class="xdsoft_prev"><\/button><div class="xdsoft_time_box"><\/div><button type="button" class="xdsoft_next"><\/button><\/div>'),p=st.find(".xdsoft_time_box").eq(0),l=n('<div class="xdsoft_time_variant"><\/div>'),pt=n('<button type="button" class="xdsoft_save_selected blue-gradient-button">Save Selected<\/button>'),wt=n('<div class="xdsoft_select xdsoft_monthselect"><div><\/div><\/div>'),bt=n('<div class="xdsoft_select xdsoft_yearselect"><div><\/div><\/div>'),lt=!1,kt=0,dt;e.id&&f.attr("id",e.id);e.style&&f.attr("style",e.style);e.weeks&&f.addClass("xdsoft_showweeks");e.rtl&&f.addClass("xdsoft_rtl");f.addClass("xdsoft_"+e.theme);f.addClass(e.className);a.find(".xdsoft_month span").after(wt);a.find(".xdsoft_year span").after(bt);a.find(".xdsoft_month,.xdsoft_year").on("touchstart mousedown.xdsoft",function(t){var r,u,i=n(this).find(".xdsoft_select").eq(0),f=0,s=0,h=i.is(":visible");for(a.find(".xdsoft_select").hide(),o.currentTime&&(f=o.currentTime[n(this).hasClass("xdsoft_month")?"getMonth":"getFullYear"]()),i[h?"hide":"show"](),r=i.find("div.xdsoft_option"),u=0;u<r.length&&r.eq(u).data("value")!==f;u+=1)s+=r[0].offsetHeight;return i.xdsoftScroller(e,s/(i.children()[0].offsetHeight-i[0].clientHeight)),t.stopPropagation(),!1});dt=function(n){var t=n.originalEvent,i=t.touches?t.touches[0]:t,r,u;this.touchStartPosition=this.touchStartPosition||i;r=Math.abs(this.touchStartPosition.clientX-i.clientX);u=Math.abs(this.touchStartPosition.clientY-i.clientY);Math.sqrt(r*r+u*u)>e.touchMovedThreshold&&(this.touchMoved=!0)};a.find(".xdsoft_select").xdsoftScroller(e).on("touchstart mousedown.xdsoft",function(n){var t=n.originalEvent;this.touchMoved=!1;this.touchStartPosition=t.touches?t.touches[0]:t;n.stopPropagation();n.preventDefault()}).on("touchmove",".xdsoft_option",dt).on("touchend mousedown.xdsoft",".xdsoft_option",function(){if(!this.touchMoved){void 0!==o.currentTime&&null!==o.currentTime||(o.currentTime=o.now());var t=o.currentTime.getFullYear();o&&o.currentTime&&o.currentTime[n(this).parent().parent().hasClass("xdsoft_monthselect")?"setMonth":"setFullYear"](n(this).data("value"));n(this).parent().parent().hide();f.trigger("xchange.xdsoft");e.onChangeMonth&&n.isFunction(e.onChangeMonth)&&e.onChangeMonth.call(f,o.currentTime,f.data("input"));t!==o.currentTime.getFullYear()&&n.isFunction(e.onChangeYear)&&e.onChangeYear.call(f,o.currentTime,f.data("input"))}});f.getValue=function(){return o.getCurrentTime()};f.setOptions=function(r){var u={};e=n.extend(!0,{},e,r);r.allowTimes&&n.isArray(r.allowTimes)&&r.allowTimes.length&&(e.allowTimes=n.extend(!0,[],r.allowTimes));r.weekends&&n.isArray(r.weekends)&&r.weekends.length&&(e.weekends=n.extend(!0,[],r.weekends));r.allowDates&&n.isArray(r.allowDates)&&r.allowDates.length&&(e.allowDates=n.extend(!0,[],r.allowDates));r.allowDateRe&&"[object String]"===Object.prototype.toString.call(r.allowDateRe)&&(e.allowDateRe=new RegExp(r.allowDateRe));r.highlightedDates&&n.isArray(r.highlightedDates)&&r.highlightedDates.length&&(n.each(r.highlightedDates,function(i,r){var s,c=n.map(r.split(","),n.trim),f=new h(t.parseDate(c[0],e.formatDate),c[1],c[2]),o=t.formatDate(f.date,e.formatDate);void 0!==u[o]?(s=u[o].desc)&&s.length&&f.desc&&f.desc.length&&(u[o].desc=s+"\n"+f.desc):u[o]=f}),e.highlightedDates=n.extend(!0,[],u));r.highlightedPeriods&&n.isArray(r.highlightedPeriods)&&r.highlightedPeriods.length&&(u=n.extend(!0,[],e.highlightedDates),n.each(r.highlightedPeriods,function(i,r){var f,l,a,o,s,v,y,c;for(n.isArray(r)?(f=r[0],l=r[1],a=r[2],y=r[3]):(c=n.map(r.split(","),n.trim),f=t.parseDate(c[0],e.formatDate),l=t.parseDate(c[1],e.formatDate),a=c[2],y=c[3]);f<=l;)o=new h(f,a,y),s=t.formatDate(f,e.formatDate),f.setDate(f.getDate()+1),void 0!==u[s]?(v=u[s].desc)&&v.length&&o.desc&&o.desc.length&&(u[s].desc=v+"\n"+o.desc):u[s]=o}),e.highlightedDates=n.extend(!0,[],u));r.disabledDates&&n.isArray(r.disabledDates)&&r.disabledDates.length&&(e.disabledDates=n.extend(!0,[],r.disabledDates));r.disabledWeekDays&&n.isArray(r.disabledWeekDays)&&r.disabledWeekDays.length&&(e.disabledWeekDays=n.extend(!0,[],r.disabledWeekDays));!e.open&&!e.opened||e.inline||i.trigger("open.xdsoft");e.inline&&(lt=!0,f.addClass("xdsoft_inline"),i.after(f).hide());e.inverseButton&&(e.next="xdsoft_prev",e.prev="xdsoft_next");e.datepicker?et.addClass("active"):et.removeClass("active");e.timepicker?st.addClass("active"):st.removeClass("active");e.value&&(o.setCurrentTime(e.value),i&&i.val&&i.val(o.str));e.dayOfWeekStart=isNaN(e.dayOfWeekStart)?0:parseInt(e.dayOfWeekStart,10)%7;e.timepickerScrollbar||p.xdsoftScroller(e,"hide");e.minDate&&/^[\+\-](.*)$/.test(e.minDate)&&(e.minDate=t.formatDate(o.strToDateTime(e.minDate),e.formatDate));e.maxDate&&/^[\+\-](.*)$/.test(e.maxDate)&&(e.maxDate=t.formatDate(o.strToDateTime(e.maxDate),e.formatDate));e.minDateTime&&/^\+(.*)$/.test(e.minDateTime)&&(e.minDateTime=o.strToDateTime(e.minDateTime).dateFormat(e.formatDate));e.maxDateTime&&/^\+(.*)$/.test(e.maxDateTime)&&(e.maxDateTime=o.strToDateTime(e.maxDateTime).dateFormat(e.formatDate));pt.toggle(e.showApplyButton);a.find(".xdsoft_today_button").css("visibility",e.todayButton?"visible":"hidden");a.find("."+e.prev).css("visibility",e.prevButton?"visible":"hidden");a.find("."+e.next).css("visibility",e.nextButton?"visible":"hidden");ni(e);e.validateOnBlur&&i.off("blur.xdsoft").on("blur.xdsoft",function(){var u,i,r;e.allowBlank&&(!n.trim(n(this).val()).length||"string"==typeof e.mask&&n.trim(n(this).val())===e.mask.replace(/[0-9]/g,"_"))?(n(this).val(null),f.data("xdsoft_datetime").empty()):(u=t.parseDate(n(this).val(),e.format),u?n(this).val(t.formatDate(u,e.format)):(i=+[n(this).val()[0],n(this).val()[1]].join(""),r=+[n(this).val()[2],n(this).val()[3]].join(""),!e.datepicker&&e.timepicker&&0<=i&&i<24&&0<=r&&r<60?n(this).val([i,r].map(function(n){return 9<n?n:"0"+n}).join(":")):n(this).val(t.formatDate(o.now(),e.format))),f.data("xdsoft_datetime").setCurrentTime(n(this).val()));f.trigger("changedatetime.xdsoft");f.trigger("close.xdsoft")});e.dayOfWeekStartPrev=0===e.dayOfWeekStart?6:e.dayOfWeekStart-1;f.trigger("xchange.xdsoft").trigger("afterOpen.xdsoft")};f.data("options",e).on("touchstart mousedown.xdsoft",function(n){return n.stopPropagation(),n.preventDefault(),bt.hide(),wt.hide(),!1});p.append(l);p.xdsoftScroller(e);f.on("afterOpen.xdsoft",function(){p.xdsoftScroller(e)});f.append(et).append(st);!0!==e.withoutCopyright&&f.append(ti);et.append(a).append(yt).append(pt);e.insideParent?n(i).parent().append(f):n(e.parentID).append(f);o=new function(){var i=this;i.now=function(n){var u,r,t=new Date;return!n&&e.defaultDate&&(u=i.strToDateTime(e.defaultDate),t.setFullYear(u.getFullYear()),t.setMonth(u.getMonth()),t.setDate(u.getDate())),t.setFullYear(t.getFullYear()),!n&&e.defaultTime&&(r=i.strtotime(e.defaultTime),t.setHours(r.getHours()),t.setMinutes(r.getMinutes()),t.setSeconds(r.getSeconds()),t.setMilliseconds(r.getMilliseconds())),t};i.isValidDate=function(n){return"[object Date]"===Object.prototype.toString.call(n)&&!isNaN(n.getTime())};i.setCurrentTime=function(n,t){i.currentTime="string"==typeof n?i.strToDateTime(n):i.isValidDate(n)?n:n||t||!e.allowBlank||e.inline?i.now():null;f.trigger("xchange.xdsoft")};i.empty=function(){i.currentTime=null};i.getCurrentTime=function(){return i.currentTime};i.nextMonth=function(){void 0!==i.currentTime&&null!==i.currentTime||(i.currentTime=i.now());var r,t=i.currentTime.getMonth()+1;return 12===t&&(i.currentTime.setFullYear(i.currentTime.getFullYear()+1),t=0),r=i.currentTime.getFullYear(),i.currentTime.setDate(Math.min(new Date(i.currentTime.getFullYear(),t+1,0).getDate(),i.currentTime.getDate())),i.currentTime.setMonth(t),e.onChangeMonth&&n.isFunction(e.onChangeMonth)&&e.onChangeMonth.call(f,o.currentTime,f.data("input")),r!==i.currentTime.getFullYear()&&n.isFunction(e.onChangeYear)&&e.onChangeYear.call(f,o.currentTime,f.data("input")),f.trigger("xchange.xdsoft"),t};i.prevMonth=function(){void 0!==i.currentTime&&null!==i.currentTime||(i.currentTime=i.now());var t=i.currentTime.getMonth()-1;return-1===t&&(i.currentTime.setFullYear(i.currentTime.getFullYear()-1),t=11),i.currentTime.setDate(Math.min(new Date(i.currentTime.getFullYear(),t+1,0).getDate(),i.currentTime.getDate())),i.currentTime.setMonth(t),e.onChangeMonth&&n.isFunction(e.onChangeMonth)&&e.onChangeMonth.call(f,o.currentTime,f.data("input")),f.trigger("xchange.xdsoft"),t};i.getWeekOfYear=function(t){var r,i;return e.onGetWeekOfYear&&n.isFunction(e.onGetWeekOfYear)&&(r=e.onGetWeekOfYear.call(f,t),void 0!==r)?r:(i=new Date(t.getFullYear(),0,1),4!==i.getDay()&&i.setMonth(0,1+(11-i.getDay())%7),Math.ceil(((t-i)/864e5+i.getDay()+1)/7))};i.strToDateTime=function(n){var f,u,r=[];return n&&n instanceof Date&&i.isValidDate(n)?n:((r=/^([+-]{1})(.*)$/.exec(n))&&(r[2]=t.parseDate(r[2],e.formatDate)),u=r&&r[2]?(f=r[2].getTime()-6e4*r[2].getTimezoneOffset(),new Date(i.now(!0).getTime()+parseInt(r[1]+"1",10)*f)):n?t.parseDate(n,e.format):i.now(),i.isValidDate(u)||(u=i.now()),u)};i.strToDate=function(n){if(n&&n instanceof Date&&i.isValidDate(n))return n;var r=n?t.parseDate(n,e.formatDate):i.now(!0);return i.isValidDate(r)||(r=i.now(!0)),r};i.strtotime=function(n){if(n&&n instanceof Date&&i.isValidDate(n))return n;var r=n?t.parseDate(n,e.formatTime):i.now(!0);return i.isValidDate(r)||(r=i.now(!0)),r};i.str=function(){var n=e.format;return e.yearOffset&&(n=(n=n.replace("Y",i.currentTime.getFullYear()+e.yearOffset)).replace("y",String(i.currentTime.getFullYear()+e.yearOffset).substring(2,4))),t.formatDate(i.currentTime,n)};i.currentTime=this.now()};pt.on("touchend click",function(n){n.preventDefault();f.data("changed",!0);o.setCurrentTime(gt());i.val(o.str());f.trigger("close.xdsoft")});a.find(".xdsoft_today_button").on("touchend mousedown.xdsoft",function(){f.data("changed",!0);o.setCurrentTime(0,!0);f.trigger("afterOpen.xdsoft")}).on("dblclick.xdsoft",function(){var t,r,n=o.getCurrentTime();n=new Date(n.getFullYear(),n.getMonth(),n.getDate());t=o.strToDate(e.minDate);n<(t=new Date(t.getFullYear(),t.getMonth(),t.getDate()))||(r=o.strToDate(e.maxDate),(r=new Date(r.getFullYear(),r.getMonth(),r.getDate()))<n||(i.val(o.str()),i.trigger("change"),f.trigger("close.xdsoft")))});a.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var t=n(this),i=0,r=!1;!function u(n){t.hasClass(e.next)?o.nextMonth():t.hasClass(e.prev)&&o.prevMonth();e.monthChangeSpinner&&(r||(i=setTimeout(u,n||100)))}(500);n([e.ownerDocument.body,e.contentWindow]).on("touchend mouseup.xdsoft",function u(){clearTimeout(i);r=!0;n([e.ownerDocument.body,e.contentWindow]).off("touchend mouseup.xdsoft",u)})});st.find(".xdsoft_prev,.xdsoft_next").on("touchend mousedown.xdsoft",function(){var i=n(this),r=0,u=!1,t=110;!function f(n){var h=p[0].clientHeight,s=l[0].offsetHeight,o=Math.abs(parseInt(l.css("marginTop"),10));o<e.timeHeightInTimePicker?o=e.timeHeightInTimePicker:i.hasClass(e.next)&&s-h<o&&l.css("marginTop","-"+s+"px");i.hasClass(e.next)&&o<s-h?l.css("marginTop","-"+(o+e.timeHeightInTimePicker)+"px"):i.hasClass(e.prev)&&0<=o-e.timeHeightInTimePicker&&l.css("marginTop","-"+(o-e.timeHeightInTimePicker)+"px");p.trigger("scroll_element.xdsoft_scroller",[Math.abs(parseInt(l[0].style.marginTop,10)/(s-h))]);t=10<t?10:t-10;u||(r=setTimeout(f,n||t))}(500);n([e.ownerDocument.body,e.contentWindow]).on("touchend mouseup.xdsoft",function f(){clearTimeout(r);u=!0;n([e.ownerDocument.body,e.contentWindow]).off("touchend mouseup.xdsoft",f)})});at=0;f.on("xchange.xdsoft",function(s){clearTimeout(at);at=setTimeout(function(){var kt,tt,v,it,b,ct;(void 0===o.currentTime||null===o.currentTime||isNaN(o.currentTime.getTime()))&&(o.currentTime=o.now());for(var p,rt,lt,ut,at,vt,nt,ft,et,pt,w="",s=new Date(o.currentTime.getFullYear(),o.currentTime.getMonth(),1,12,0,0),h=0,ot=o.now(),d=!1,g=!1,k=!1,y=!1,c=[],st=!0,ht="";s.getDay()!==e.dayOfWeekStart;)s.setDate(s.getDate()-1);for(w+="<table><thead><tr>",e.weeks&&(w+="<th><\/th>"),p=0;p<7;p+=1)w+="<th>"+e.i18n[r].dayOfWeekShort[(p+e.dayOfWeekStart)%7]+"<\/th>";for(w+="<\/tr><\/thead>",w+="<tbody>",!1!==e.maxDate&&(d=o.strToDate(e.maxDate),d=new Date(d.getFullYear(),d.getMonth(),d.getDate(),23,59,59,999)),!1!==e.minDate&&(g=o.strToDate(e.minDate),g=new Date(g.getFullYear(),g.getMonth(),g.getDate())),!1!==e.minDateTime&&(k=o.strToDate(e.minDateTime),k=new Date(k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds())),!1!==e.maxDateTime&&(y=o.strToDate(e.maxDateTime),y=new Date(y.getFullYear(),y.getMonth(),y.getDate(),y.getHours(),y.getMinutes(),y.getSeconds())),!1!==y&&(pt=31*(12*y.getFullYear()+y.getMonth())+y.getDate());h<o.currentTime.countDaysInMonth()||s.getDay()!==e.dayOfWeekStart||o.currentTime.getMonth()===s.getMonth();)c=[],h+=1,lt=s.getDay(),ut=s.getDate(),at=s.getFullYear(),b=s.getMonth(),vt=o.getWeekOfYear(s),et="",c.push("xdsoft_date"),nt=e.beforeShowDay&&n.isFunction(e.beforeShowDay.call)?e.beforeShowDay.call(f,s):null,e.allowDateRe&&"[object RegExp]"===Object.prototype.toString.call(e.allowDateRe)&&(e.allowDateRe.test(t.formatDate(s,e.formatDate))||c.push("xdsoft_disabled")),e.allowDates&&0<e.allowDates.length&&-1===e.allowDates.indexOf(t.formatDate(s,e.formatDate))&&c.push("xdsoft_disabled"),kt=31*(12*s.getFullYear()+s.getMonth())+s.getDate(),(!1!==d&&d<s||!1!==k&&s<k||!1!==g&&s<g||!1!==y&&pt<kt||nt&&!1===nt[0])&&c.push("xdsoft_disabled"),-1!==e.disabledDates.indexOf(t.formatDate(s,e.formatDate))&&c.push("xdsoft_disabled"),-1!==e.disabledWeekDays.indexOf(lt)&&c.push("xdsoft_disabled"),i.is("[disabled]")&&c.push("xdsoft_disabled"),nt&&""!==nt[1]&&c.push(nt[1]),o.currentTime.getMonth()!==b&&c.push("xdsoft_other_month"),(e.defaultSelect||f.data("changed"))&&t.formatDate(o.currentTime,e.formatDate)===t.formatDate(s,e.formatDate)&&c.push("xdsoft_current"),t.formatDate(ot,e.formatDate)===t.formatDate(s,e.formatDate)&&c.push("xdsoft_today"),0!==s.getDay()&&6!==s.getDay()&&-1===e.weekends.indexOf(t.formatDate(s,e.formatDate))||c.push("xdsoft_weekend"),void 0!==e.highlightedDates[t.formatDate(s,e.formatDate)]&&(rt=e.highlightedDates[t.formatDate(s,e.formatDate)],c.push(void 0===rt.style?"xdsoft_highlighted_default":rt.style),et=void 0===rt.desc?"":rt.desc),e.beforeShowDay&&n.isFunction(e.beforeShowDay)&&c.push(e.beforeShowDay(s)),st&&(w+="<tr>",st=!1,e.weeks&&(w+="<th>"+vt+"<\/th>")),w+='<td data-date="'+ut+'" data-month="'+b+'" data-year="'+at+'" class="xdsoft_date xdsoft_day_of_week'+s.getDay()+" "+c.join(" ")+'" title="'+et+'"><div>'+ut+"<\/div><\/td>",s.getDay()===e.dayOfWeekStartPrev&&(w+="<\/tr>",st=!0),s.setDate(ut+1);if(w+="<\/tbody><\/table>",yt.html(w),a.find(".xdsoft_label span").eq(0).text(e.i18n[r].months[o.currentTime.getMonth()]),a.find(".xdsoft_label span").eq(1).text(o.currentTime.getFullYear()+e.yearOffset),b=ht="",tt=0,!1!==e.minTime&&(v=o.strtotime(e.minTime),tt=60*v.getHours()+v.getMinutes()),it=1440,!1!==e.maxTime&&(v=o.strtotime(e.maxTime),it=60*v.getHours()+v.getMinutes()),!1!==e.minDateTime&&(v=o.strToDateTime(e.minDateTime),t.formatDate(o.currentTime,e.formatDate)===t.formatDate(v,e.formatDate)&&(b=60*v.getHours()+v.getMinutes(),tt<b&&(tt=b))),!1!==e.maxDateTime&&(v=o.strToDateTime(e.maxDateTime),t.formatDate(o.currentTime,e.formatDate)===t.formatDate(v,e.formatDate)&&(b=60*v.getHours()+v.getMinutes())<it&&(it=b)),ft=function(r,u){var h,s=o.now(),a=e.allowTimes&&n.isArray(e.allowTimes)&&e.allowTimes.length,l;s.setHours(r);r=parseInt(s.getHours(),10);s.setMinutes(u);u=parseInt(s.getMinutes(),10);c=[];l=60*r+u;(i.is("[disabled]")||it<=l||l<tt)&&c.push("xdsoft_disabled");(h=new Date(o.currentTime)).setHours(parseInt(o.currentTime.getHours(),10));a||h.setMinutes(Math[e.roundTime](o.currentTime.getMinutes()/e.step)*e.step);(e.initTime||e.defaultSelect||f.data("changed"))&&h.getHours()===parseInt(r,10)&&(!a&&59<e.step||h.getMinutes()===parseInt(u,10))&&(e.defaultSelect||f.data("changed")?c.push("xdsoft_current"):e.initTime&&c.push("xdsoft_init_time"));parseInt(ot.getHours(),10)===parseInt(r,10)&&parseInt(ot.getMinutes(),10)===parseInt(u,10)&&c.push("xdsoft_today");ht+='<div class="xdsoft_time '+c.join(" ")+'" data-hour="'+r+'" data-minute="'+u+'">'+t.formatDate(s,e.formatTime)+"<\/div>"},e.allowTimes&&n.isArray(e.allowTimes)&&e.allowTimes.length)for(h=0;h<e.allowTimes.length;h+=1)ft(o.strtotime(e.allowTimes[h]).getHours(),b=o.strtotime(e.allowTimes[h]).getMinutes());else for(p=h=0;h<(e.hours12?12:24);h+=1)for(p=0;p<60;p+=e.step)ct=60*h+p,ct<tt||it<=ct||ft((h<10?"0":"")+h,b=(p<10?"0":"")+p);for(l.html(ht),u="",h=parseInt(e.yearStart,10);h<=parseInt(e.yearEnd,10);h+=1)u+='<div class="xdsoft_option '+(o.currentTime.getFullYear()===h?"xdsoft_current":"")+'" data-value="'+h+'">'+(h+e.yearOffset)+"<\/div>";for(bt.children().eq(0).html(u),h=parseInt(e.monthStart,10),u="";h<=parseInt(e.monthEnd,10);h+=1)u+='<div class="xdsoft_option '+(o.currentTime.getMonth()===h?"xdsoft_current":"")+'" data-value="'+h+'">'+e.i18n[r].months[h]+"<\/div>";wt.children().eq(0).html(u);n(f).trigger("generate.xdsoft")},10);s.stopPropagation()}).on("afterOpen.xdsoft",function(){var n,t,i,r;e.timepicker&&(l.find(".xdsoft_current").length?n=".xdsoft_current":l.find(".xdsoft_init_time").length&&(n=".xdsoft_init_time"),n?(t=p[0].clientHeight,(i=l[0].offsetHeight)-t<(r=l.find(n).index()*e.timeHeightInTimePicker+1)&&(r=i-t),p.trigger("scroll_element.xdsoft_scroller",[parseInt(r,10)/(i-t)])):p.trigger("scroll_element.xdsoft_scroller",[0]))});ht=0;yt.on("touchend click.xdsoft","td",function(t){t.stopPropagation();ht+=1;var u=n(this),r=o.currentTime;if(null==r&&(o.currentTime=o.now(),r=o.currentTime),u.hasClass("xdsoft_disabled"))return!1;r.setDate(1);r.setFullYear(u.data("year"));r.setMonth(u.data("month"));r.setDate(u.data("date"));f.trigger("select.xdsoft",[r]);i.val(o.str());e.onSelectDate&&n.isFunction(e.onSelectDate)&&e.onSelectDate.call(f,o.currentTime,f.data("input"),t);f.data("changed",!0);f.trigger("xchange.xdsoft");f.trigger("changedatetime.xdsoft");(1<ht||!0===e.closeOnDateSelect||!1===e.closeOnDateSelect&&!e.timepicker)&&!e.inline&&f.trigger("close.xdsoft");setTimeout(function(){ht=0},200)});l.on("touchstart","div",function(){this.touchMoved=!1}).on("touchmove","div",dt).on("touchend click.xdsoft","div",function(t){if(!this.touchMoved){t.stopPropagation();var r=n(this),i=o.currentTime;if(null==i&&(o.currentTime=o.now(),i=o.currentTime),r.hasClass("xdsoft_disabled"))return!1;i.setHours(r.data("hour"));i.setMinutes(r.data("minute"));f.trigger("select.xdsoft",[i]);f.data("input").val(o.str());e.onSelectTime&&n.isFunction(e.onSelectTime)&&e.onSelectTime.call(f,o.currentTime,f.data("input"),t);f.data("changed",!0);f.trigger("xchange.xdsoft");f.trigger("changedatetime.xdsoft");!0!==e.inline&&!0===e.closeOnTimeSelect&&f.trigger("close.xdsoft")}});et.on("mousewheel.xdsoft",function(n){return!e.scrollMonth||(n.deltaY<0?o.nextMonth():o.prevMonth(),!1)});i.on("mousewheel.xdsoft",function(n){return!e.scrollInput||(!e.datepicker&&e.timepicker?(0<=(ot=l.find(".xdsoft_current").length?l.find(".xdsoft_current").eq(0).index():0)+n.deltaY&&ot+n.deltaY<l.children().length&&(ot+=n.deltaY),l.children().eq(ot).length&&l.children().eq(ot).trigger("mousedown"),!1):e.datepicker&&!e.timepicker?(et.trigger(n,[n.deltaY,n.deltaX,n.deltaY]),i.val&&i.val(o.str()),f.trigger("changedatetime.xdsoft"),!1):void 0)});f.on("changedatetime.xdsoft",function(t){if(e.onChangeDateTime&&n.isFunction(e.onChangeDateTime)){var i=f.data("input");e.onChangeDateTime.call(f,o.currentTime,i,t);delete e.value;i.trigger("change")}}).on("generate.xdsoft",function(){e.onGenerate&&n.isFunction(e.onGenerate)&&e.onGenerate.call(f,o.currentTime,f.data("input"));lt&&(f.trigger("afterOpen.xdsoft"),lt=!1)}).on("click.xdsoft",function(n){n.stopPropagation()});ot=0;vt=function(n,t){do if(!(n=n.parentNode)||!1===t(n))break;while("HTML"!==n.nodeName)};ct=function(){var u,i,t,r,h,p,a,c,s,v,y,l,o,w;(u=(c=f.data("input")).offset(),i=c[0],v="top",t=u.top+i.offsetHeight-1,r=u.left,h="absolute",s=n(e.contentWindow).width(),l=n(e.contentWindow).height(),o=n(e.contentWindow).scrollTop(),e.ownerDocument.documentElement.clientWidth-u.left<et.parent().outerWidth(!0))&&(w=et.parent().outerWidth(!0)-i.offsetWidth,r-=w);"rtl"===c.parent().css("direction")&&(r-=f.outerWidth()-c.outerWidth());e.fixed?(t-=o,r-=n(e.contentWindow).scrollLeft(),h="fixed"):(a=!1,vt(i,function(n){return null!==n&&("fixed"===e.contentWindow.getComputedStyle(n).getPropertyValue("position")?!(a=!0):void 0)}),a&&!e.insideParent?(h="fixed",t+f.outerHeight()>l+o?(v="bottom",t=l+o-u.top):t-=o):t+f[0].offsetHeight>l+o&&(t=u.top-f[0].offsetHeight+1),t<0&&(t=0),r+i.offsetWidth>s&&(r=s-i.offsetWidth));p=f[0];vt(p,function(n){if("relative"===e.contentWindow.getComputedStyle(n).getPropertyValue("position")&&s>=n.offsetWidth)return r-=(s-n.offsetWidth)/2,!1});y={position:h,left:e.insideParent?i.offsetLeft:r,top:"",bottom:""};y[v]=e.insideParent?i.offsetTop+i.offsetHeight:t;f.css(y)};f.on("open.xdsoft",function(t){var i=!0;e.onShow&&n.isFunction(e.onShow)&&(i=e.onShow.call(f,o.currentTime,f.data("input"),t));!1!==i&&(f.show(),ct(),n(e.contentWindow).off("resize.xdsoft",ct).on("resize.xdsoft",ct),e.closeOnWithoutClick&&n([e.ownerDocument.body,e.contentWindow]).on("touchstart mousedown.xdsoft",function t(){f.trigger("close.xdsoft");n([e.ownerDocument.body,e.contentWindow]).off("touchstart mousedown.xdsoft",t)}))}).on("close.xdsoft",function(t){var i=!0;a.find(".xdsoft_month,.xdsoft_year").find(".xdsoft_select").hide();e.onClose&&n.isFunction(e.onClose)&&(i=e.onClose.call(f,o.currentTime,f.data("input"),t));!1===i||e.opened||e.inline||f.hide();t.stopPropagation()}).on("toggle.xdsoft",function(){f.is(":visible")?f.trigger("close.xdsoft"):f.trigger("open.xdsoft")}).data("input",i);kt=0;f.data("xdsoft_datetime",o);f.setOptions(e);o.setCurrentTime(gt());i.data("xdsoft_datetimepicker",f).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function(){i.is(":disabled")||i.data("xdsoft_datetimepicker").is(":visible")&&e.closeOnInputClick||e.openOnFocus&&(clearTimeout(kt),kt=setTimeout(function(){i.is(":disabled")||(lt=!0,o.setCurrentTime(gt(),!0),e.mask&&ni(e),f.trigger("open.xdsoft"))},100))}).on("keydown.xdsoft",function(t){var i,r=t.which;return-1!==[v].indexOf(r)&&e.enterLikeTab?(i=n("input:visible,textarea:visible,button:visible,a:visible"),f.trigger("close.xdsoft"),i.eq(i.index(this)+1).focus(),!1):-1!==[y].indexOf(r)?(f.trigger("close.xdsoft"),!0):void 0}).on("blur.xdsoft",function(){f.trigger("close.xdsoft")})},l=function(t){var i=t.data("xdsoft_datetimepicker");i&&(i.data("xdsoft_datetime",null),i.remove(),t.data("xdsoft_datetimepicker",null).off(".xdsoft"),n(e.contentWindow).off("resize.xdsoft"),n([e.contentWindow,e.ownerDocument.body]).off("mousedown.xdsoft touchstart"),t.unmousewheel&&t.unmousewheel())},n(e.ownerDocument).off("keydown.xdsoftctrl keyup.xdsoftctrl").off("keydown.xdsoftcmd keyup.xdsoftcmd").on("keydown.xdsoftctrl",function(n){n.keyCode===s&&(c=!0)}).on("keyup.xdsoftctrl",function(n){n.keyCode===s&&(c=!1)}).on("keydown.xdsoftcmd",function(n){91===n.keyCode&&!0}).on("keyup.xdsoftcmd",function(n){91===n.keyCode&&!1}),this.each(function(){var r,i=n(this).data("xdsoft_datetimepicker");if(i){if("string"===n.type(u))switch(u){case"show":n(this).select().focus();i.trigger("open.xdsoft");break;case"hide":i.trigger("close.xdsoft");break;case"toggle":i.trigger("toggle.xdsoft");break;case"destroy":l(n(this));break;case"reset":this.value=this.defaultValue;this.value&&i.data("xdsoft_datetime").isValidDate(t.parseDate(this.value,e.format))||i.data("changed",!1);i.data("xdsoft_datetime").setCurrentTime(this.value);break;case"validate":i.data("input").trigger("blur.xdsoft");break;default:i[u]&&n.isFunction(i[u])&&(a=i[u](f))}else i.setOptions(u);return 0}"string"!==n.type(u)&&(!e.lazyInit||e.open||e.inline?o(n(this)):(r=n(this)).on("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",function i(){r.is(":disabled")||r.data("xdsoft_datetimepicker")||(clearTimeout(p),p=setTimeout(function(){r.data("xdsoft_datetimepicker")||o(r);r.off("open.xdsoft focusin.xdsoft mousedown.xdsoft touchstart",i).trigger("open.xdsoft")},100))}))}),a};n.fn.datetimepicker.defaults=i};!function(n){"function"==typeof define&&define.amd?define(["jquery","jquery-mousewheel"],n):"object"==typeof exports?module.exports=n(require("jquery")):n(jQuery)}(datetimepickerFactory),function(n){"function"==typeof define&&define.amd?define(["jquery"],n):"object"==typeof exports?module.exports=n:n(jQuery)}(function(n){function e(r){var a,f=r||window.event,w=h.call(arguments,1),l=0,o=0,e=0,b=0,k=0,v,y,p;if((r=n.event.fix(f)).type="mousewheel","detail"in f&&(e=-1*f.detail),"wheelDelta"in f&&(e=f.wheelDelta),"wheelDeltaY"in f&&(e=f.wheelDeltaY),"wheelDeltaX"in f&&(o=-1*f.wheelDeltaX),"axis"in f&&f.axis===f.HORIZONTAL_AXIS&&(o=-1*e,e=0),l=0===e?o:e,"deltaY"in f&&(l=e=-1*f.deltaY),"deltaX"in f&&(o=f.deltaX,0===e&&(l=-1*o)),0!==e||0!==o)return 1===f.deltaMode?(v=n.data(this,"mousewheel-line-height"),l*=v,e*=v,o*=v):2===f.deltaMode&&(y=n.data(this,"mousewheel-page-height"),l*=y,e*=y,o*=y),(a=Math.max(Math.abs(e),Math.abs(o)),(!t||a<t)&&s(f,t=a)&&(t/=40),s(f,a)&&(l/=40,o/=40,e/=40),l=Math[1<=l?"floor":"ceil"](l/t),o=Math[1<=o?"floor":"ceil"](o/t),e=Math[1<=e?"floor":"ceil"](e/t),i.settings.normalizeOffset&&this.getBoundingClientRect)&&(p=this.getBoundingClientRect(),b=r.clientX-p.left,k=r.clientY-p.top),r.deltaX=o,r.deltaY=e,r.deltaFactor=t,r.offsetX=b,r.offsetY=k,r.deltaMode=0,w.unshift(r,l,o,e),u&&clearTimeout(u),u=setTimeout(c,200),(n.event.dispatch||n.event.handle).apply(this,w)}function c(){t=null}function s(n,t){return i.settings.adjustOldDeltas&&"mousewheel"===n.type&&t%120==0}var u,t,o=["wheel","mousewheel","DOMMouseScroll","MozMousePixelScroll"],r="onwheel"in document||9<=document.documentMode?["wheel"]:["mousewheel","DomMouseScroll","MozMousePixelScroll"],h=Array.prototype.slice,f,i;if(n.event.fixHooks)for(f=o.length;f;)n.event.fixHooks[o[--f]]=n.event.mouseHooks;i=n.event.special.mousewheel={version:"3.1.12",setup:function(){if(this.addEventListener)for(var t=r.length;t;)this.addEventListener(r[--t],e,!1);else this.onmousewheel=e;n.data(this,"mousewheel-line-height",i.getLineHeight(this));n.data(this,"mousewheel-page-height",i.getPageHeight(this))},teardown:function(){if(this.removeEventListener)for(var t=r.length;t;)this.removeEventListener(r[--t],e,!1);else this.onmousewheel=null;n.removeData(this,"mousewheel-line-height");n.removeData(this,"mousewheel-page-height")},getLineHeight:function(t){var r=n(t),i=r["offsetParent"in n.fn?"offsetParent":"parent"]();return i.length||(i=n("body")),parseInt(i.css("fontSize"),10)||parseInt(r.css("fontSize"),10)||16},getPageHeight:function(t){return n(t).height()},settings:{adjustOldDeltas:!0,normalizeOffset:!0}};n.fn.extend({mousewheel:function(n){return n?this.bind("mousewheel",n):this.trigger("mousewheel")},unmousewheel:function(n){return this.unbind("mousewheel",n)}})});let isMapAreaSearch=!1;let autoSuggestCache={};$.ui.autocomplete.prototype._renderItem=function(n,t){return t.label=$("<div/>").text(t.label).html(),t.value="<pre>"+$("<div/>").text(t.value).html()+"<pre>",t.label=t.label.replace(new RegExp("(?![^&;]+;)(?!<[^<>]*)("+$.ui.autocomplete.escapeRegex(this.term)+")(?![^<>]*>)(?![^&;]+;)","gi"),"<strong>$1<\/strong>"),$("<li><\/li>").data("item.autocomplete",t).append("<div>"+t.label+"<\/div>").appendTo(n)};$(document).ready(function(){let n=$(".accordion").accordion({heightStyle:"content",collapsible:!0,animate:{easing:"linear",duration:200},active:!1});n.bind("accordionchange",function(n,t){t.newContent.find("input:first").focus()});n.each(function(n){let t=$(this).children("h4");n=0;$(this).children("div").each(function(n){let i=$(this).parent();$(this).find("input:last").keydown(function(r){r.shiftKey===!1&&r.ctrlKey===!1&&r.which===9&&t.each(function(t){if(t>n&&$(this).css("display")!=="none")return i.accordion("options","active",t),!1})})})});FixAccordions()});let isHandlingValueChanged=!1;CVPopup.prototype.load=function(){$("#isnewcontact").val("y");$("#backgroundPopup").length||$("#masterContent").append("<div id='backgroundPopup'>&nbsp;<\/div>");$("#backgroundPopup").is(":visible")||(window.addEventListener("scroll",this.scrollEventHandler),$("#backgroundPopup").css({opacity:"0.5"}),$("#backgroundPopup").fadeIn("fast"));let n="#"+this.ctlid;$(n).fadeIn("fast",function(){let t=$(n).find("input").filter(":visible:first");t&&t.length&&!t.hasClass("datefield")||(t=$(n).find("button").filter(":visible:first"));t&&t.length&&(t.show(),t.focus())});$("body").addClass("cv-popup-open");this.center()};CVPopup.prototype.disable=function(){window.removeEventListener("scroll",this.scrollEventHandler);this.popupHeight=-1;this.popupWidth=-1;$("#isnewcontact").val("n");$("#backgroundPopup").fadeOut("fast");$("#"+this.ctlid).fadeOut("fast");$("body").removeClass("cv-popup-open");$("body").removeClass("cv-disable-scroll")};CVPopup.prototype.center=function(){if(!(this.popupHeight>0)||!(this.popupWidth>0)){const i=document.documentElement.clientHeight,r=document.documentElement.clientWidth;this.popupHeight=$("#"+this.ctlid).height();this.popupWidth=$("#"+this.ctlid).width();let t=(i-this.popupHeight)/2;t<0&&(t=200);let n=(r-this.popupWidth)/2;n<0&&(n=20);$("#"+this.ctlid).css({position:"fixed",top:t,left:n,right:n})}};$(document).ready(function(){$("#masterContent form").on("keypress",function(n){(n.keyCode?n.keyCode:n.which)==13&&(n.target.type==="checkbox"||n.target.type==="radio")&&($(n.target).trigger("click"),n.preventDefault())});$("#masterContent form").submit(function(){DisplayLoadingScreen();$("#bcancel").data("submitted",!0);$("#bback").data("submitted",!0);$("#bnext").data("submitted",!0);$("#bsubmit").data("submitted",!0);$("#baddcontact").data("submitted",!0);$("#baddnewcontact").data("submitted",!0);$("#bunschedule").data("submitted",!0);$("#bsearch").data("submitted",!0);$("#dummyUploadCompleteThenRedirect").data("submitted",!0);$("#dummyFinishLaterThenRedirect").data("submitted",!0);$("#dummybsaveapplicationinprogress").data("submitted",!0);$("#openSaveApplicationConfirmDialog").data("submitted",!0);$("#brepeatlocation").data("submitted",!0);$("#bGpsLocation").data("submitted",!0)});renderLabelValueLinksAsLinks("inputText")});let sessionTimeoutHandle;let addingFees=!1;let sortingInProgress=!1;let filteringInProgress=!1;let uploadHasErrors=!1,totalRequirementWithUploads=0,allUploadControls=[],filesLeftToUpload=0,fileUploadLimit=1,numberOfRequirementItems=0,uploadErrorPopupInfo=null;!function(n){!function(n){"use strict";function s(n){var t=u(n||{}),f=h(t);return r(f),c(t,f),i}function h(n){var i=f("uploaderType"),r=f("endpointType");return i?(i=i.charAt(0).toUpperCase()+i.slice(1).toLowerCase(),r?new t[r]["FineUploader"+i](n):new t["FineUploader"+i](n)):r?new t[r].FineUploader(n):new t.FineUploader(n)}function e(n,t){var r=i.data("fineuploader");if(!t)return void 0===r?null:r[n];void 0===r&&(r={});r[n]=t;i.data("fineuploader",r)}function r(n){return e("uploader",n)}function f(n,t){return e(n,t)}function c(r,u){var f=r.callbacks={};n.each(u._options.callbacks,function(r,u){var e,s;e=/^on(\w+)/.exec(r)[1];e=e.substring(0,1).toLowerCase()+e.substring(1);s=i;f[r]=function(){var i,r,f=Array.prototype.slice.call(arguments),h=[];n.each(f,function(n,t){h.push(o(t))});i=u.apply(this,f);try{r=s.triggerHandler(e,h)}catch(n){t.log("Caught error in Fine Uploader jQuery event handler: "+n.message,"error")}return null!=i?i:r}});u._options.callbacks=f}function u(t,r){var e,o;if(e=void 0===r?"basic"!==t.uploaderType?{element:i[0]}:{}:r,n.each(t,function(t,i){n.inArray(t,v)>=0?f(t,i):i instanceof n?e[t]=i[0]:n.isPlainObject(i)?(e[t]={},u(i,e[t])):n.isArray(i)?(o=[],n.each(i,function(t,i){var r={};i instanceof n?n.merge(o,i):n.isPlainObject(i)?(u(i,r),o.push(r)):o.push(i)}),e[t]=o):e[t]=i}),void 0===r)return e}function l(t){return"string"===n.type(t)&&!t.match(/^_/)&&void 0!==r()[t]}function a(n){var t,i=[],f=Array.prototype.slice.call(arguments,1);return u(f,i),t=r()[n].apply(r(),i),o(t)}function o(t){var i=t;return null==t||"object"!=typeof t||1!==t.nodeType&&9!==t.nodeType||!t.cloneNode||(i=n(t)),i}var i,v=["uploaderType","endpointType"];n.fn.fineUploader=function(t){var f=this,e=arguments,u=[];return this.each(function(o,h){if(i=n(h),r()&&l(t)){if(u.push(a.apply(f,e)),1===f.length)return!1}else"object"!=typeof t&&t?n.error("Method "+t+" does not exist on jQuery.fineUploader"):s.apply(f,e)}),1===u.length?u[0]:u.length>1?u:this}}(jQuery),function(n){"use strict";function f(n){n||(n={});n.dropZoneElements=[i];var f=u(n);return o(f),r(new t.DragAndDrop(f)),i}function e(n,t){var r=i.data("fineUploaderDnd");if(!t)return void 0===r?null:r[n];void 0===r&&(r={});r[n]=t;i.data("fineUploaderDnd",r)}function r(n){return e("dndInstance",n)}function o(r){var u=r.callbacks={};n.each(new t.DragAndDrop.callbacks,function(n){var t,r=n;t=i;u[n]=function(){var n=Array.prototype.slice.call(arguments);return t.triggerHandler(r,n)}})}function u(t,i){var r,f;if(r=void 0===i?{}:i,n.each(t,function(t,i){i instanceof n?r[t]=i[0]:n.isPlainObject(i)?(r[t]={},u(i,r[t])):n.isArray(i)?(f=[],n.each(i,function(t,i){i instanceof n?n.merge(f,i):f.push(i)}),r[t]=f):r[t]=i}),void 0===i)return r}function s(t){return"string"===n.type(t)&&"dispose"===t&&void 0!==r()[t]}function h(n){var t=[];return u(Array.prototype.slice.call(arguments,1),t),r()[n].apply(r(),t)}var i;n.fn.fineUploaderDnd=function(t){var e=this,o=arguments,u=[];return this.each(function(c,l){if(i=n(l),r()&&s(t)){if(u.push(h.apply(e,o)),1===e.length)return!1}else"object"!=typeof t&&t?n.error("Method "+t+" does not exist in Fine Uploader's DnD module."):f.apply(e,o)}),1===u.length?u[0]:u.length>1?u:this}}(jQuery);var t=function(n){"use strict";return{hide:function(){return n.style.display="none",this},attach:function(i,r){return n.addEventListener?n.addEventListener(i,r,!1):n.attachEvent&&n.attachEvent("on"+i,r),function(){t(n).detach(i,r)}},detach:function(t,i){return n.removeEventListener?n.removeEventListener(t,i,!1):n.attachEvent&&n.detachEvent("on"+t,i),this},contains:function(t){return!!t&&(n===t||(n.contains?n.contains(t):!!(8&t.compareDocumentPosition(n))))},insertBefore:function(t){return t.parentNode.insertBefore(n,t),this},remove:function(){return n.parentNode.removeChild(n),this},css:function(i){if(null==n.style)throw new t.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=i.opacity&&"string"!=typeof n.style.opacity&&void 0!==n.filters&&(i.filter="alpha(opacity="+Math.round(100*i.opacity)+")"),t.extend(n.style,i),this},hasClass:function(t,i){var r=new RegExp("(^| )"+t+"( |$)");return r.test(n.className)||!(!i||!r.test(n.parentNode.className))},addClass:function(i){return t(n).hasClass(i)||(n.className+=" "+i),this},removeClass:function(t){var i=new RegExp("(^| )"+t+"( |$)");return n.className=n.className.replace(i," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(i,r){var f,u=[];return r&&n.querySelector?n.querySelector("."+i):n.querySelectorAll?n.querySelectorAll("."+i):(f=n.getElementsByTagName("*"),t.each(f,function(n,r){t(r).hasClass(i)&&u.push(r)}),r?u[0]:u)},getFirstByClass:function(i){return t(n).getByClass(i,!0)},children:function(){for(var i=[],t=n.firstChild;t;)1===t.nodeType&&i.push(t),t=t.nextSibling;return i},setText:function(t){return n.innerText=t,n.textContent=t,this},clearText:function(){return t(n).setText("")},hasAttribute:function(t){var i;return n.hasAttribute?!!n.hasAttribute(t)&&null==/^false$/i.exec(n.getAttribute(t)):(i=n[t],void 0!==i&&null==/^false$/i.exec(i))}}};!function(){"use strict";t.canvasToBlob=function(n,i,r){return t.dataUriToBlob(n.toDataURL(i,r))};t.dataUriToBlob=function(n){var i,r,u,f,e=function(n,t){var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=r&&new r;return i?(i.append(n),i.getBlob(t)):new Blob([n],{type:t})};return r=n.split(",")[0].indexOf("base64")>=0?atob(n.split(",")[1]):decodeURI(n.split(",")[1]),f=n.split(",")[0].split(":")[1].split(";")[0],i=new ArrayBuffer(r.length),u=new Uint8Array(i),t.each(r,function(n,t){u[n]=t.charCodeAt(0)}),e(i,f)};t.log=function(n,t){window.console&&(t&&"info"!==t?window.console[t]?window.console[t](n):window.console.log("<"+t+"> "+n):window.console.log(n))};t.isObject=function(n){return n&&!n.nodeType&&"[object Object]"===Object.prototype.toString.call(n)};t.isFunction=function(n){return"function"==typeof n};t.isArray=function(n){return"[object Array]"===Object.prototype.toString.call(n)||n&&window.ArrayBuffer&&n.buffer&&n.buffer.constructor===ArrayBuffer};t.isItemList=function(n){return"[object DataTransferItemList]"===Object.prototype.toString.call(n)};t.isNodeList=function(n){return"[object NodeList]"===Object.prototype.toString.call(n)||n.item&&n.namedItem};t.isString=function(n){return"[object String]"===Object.prototype.toString.call(n)};t.trimStr=function(n){return String.prototype.trim?n.trim():n.replace(/^\s+|\s+$/g,"")};t.format=function(n){var u=Array.prototype.slice.call(arguments,1),i=n,r=i.indexOf("{}");return t.each(u,function(n,t){if(i=i.substring(0,r)+t+i.substring(r+2),r=i.indexOf("{}",r+t.length),r<0)return!1}),i};t.isFile=function(n){return window.File&&"[object File]"===Object.prototype.toString.call(n)};t.isFileList=function(n){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(n)};t.isFileOrInput=function(n){return t.isFile(n)||t.isInput(n)};t.isInput=function(n,t){var i=function(n){var i=n.toLowerCase();return t?"file"!==i:"file"===i};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(n)&&n.type&&i(n.type))||!!(n.tagName&&"input"===n.tagName.toLowerCase()&&n.type&&i(n.type))};t.isBlob=function(n){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(n))return!0};t.isXhrUploadSupported=function(){var n=document.createElement("input");return n.type="file",void 0!==n.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&void 0!==t.createXhrInstance().upload};t.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(n){return t.log("Neither XHR or ActiveX are supported!","error"),null}};t.isFolderDropSupported=function(n){return n.items&&n.items.length>0&&n.items[0].webkitGetAsEntry};t.isFileChunkingSupported=function(){return!t.androidStock()&&t.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)};t.sliceBlob=function(n,t,i){return(n.slice||n.mozSlice||n.webkitSlice).call(n,t,i)};t.arrayBufferToHex=function(n){var i="",r=new Uint8Array(n);return t.each(r,function(n,t){var r=t.toString(16);r.length<2&&(r="0"+r);i+=r}),i};t.readBlobToHex=function(n,i,r){var e=t.sliceBlob(n,i,i+r),u=new FileReader,f=new t.Promise;return u.onload=function(){f.success(t.arrayBufferToHex(u.result))},u.onerror=f.failure,u.readAsArrayBuffer(e),f};t.extend=function(n,i,r){return t.each(i,function(i,u){r&&t.isObject(u)?(void 0===n[i]&&(n[i]={}),t.extend(n[i],u,!0)):n[i]=u}),n};t.override=function(n,i){var r={},u=i(r);return t.each(u,function(t,i){void 0!==n[t]&&(r[t]=n[t]);n[t]=i}),n};t.indexOf=function(n,t,i){if(n.indexOf)return n.indexOf(t,i);i=i||0;var r=n.length;for(i<0&&(i+=r);i<r;i+=1)if(n.hasOwnProperty(i)&&n[i]===t)return i;return-1};t.getUniqueId=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(n){var t=16*Math.random()|0;return("x"==n?t:3&t|8).toString(16)})};t.ie=function(){return navigator.userAgent.indexOf("MSIE")!==-1||navigator.userAgent.indexOf("Trident")!==-1};t.ie7=function(){return navigator.userAgent.indexOf("MSIE 7")!==-1};t.ie8=function(){return navigator.userAgent.indexOf("MSIE 8")!==-1};t.ie10=function(){return navigator.userAgent.indexOf("MSIE 10")!==-1};t.ie11=function(){return t.ie()&&navigator.userAgent.indexOf("rv:11")!==-1};t.edge=function(){return navigator.userAgent.indexOf("Edge")>=0};t.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1};t.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1};t.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1};t.firefox=function(){return!t.edge()&&!t.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor};t.windows=function(){return"Win32"===navigator.platform};t.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1};t.androidStock=function(){return t.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0};t.ios6=function(){return t.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1};t.ios7=function(){return t.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1};t.ios8=function(){return t.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1};t.ios800=function(){return t.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1};t.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1};t.iosChrome=function(){return t.ios()&&navigator.userAgent.indexOf("CriOS")!==-1};t.iosSafari=function(){return t.ios()&&!t.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1};t.iosSafariWebView=function(){return t.ios()&&!t.iosChrome()&&!t.iosSafari()};t.preventDefault=function(n){n.preventDefault?n.preventDefault():n.returnValue=!1};t.toElement=function(){var n=document.createElement("div");return function(t){n.innerHTML=t;var i=n.firstChild;return n.removeChild(i),i}}();t.each=function(n,i){var r,u;if(n)if(window.Storage&&n.constructor===window.Storage)for(r=0;r<n.length&&(u=i(n.key(r),n.getItem(n.key(r))),u!==!1);r++);else if(t.isArray(n)||t.isItemList(n)||t.isNodeList(n))for(r=0;r<n.length&&(u=i(r,n[r]),u!==!1);r++);else if(t.isString(n))for(r=0;r<n.length&&(u=i(r,n.charAt(r)),u!==!1);r++);else for(r in n)if(Object.prototype.hasOwnProperty.call(n,r)&&(u=i(r,n[r]),u===!1))break};t.bind=function(n,i){if(t.isFunction(n)){var r=Array.prototype.slice.call(arguments,2);return function(){var u=t.extend([],r);return arguments.length&&(u=u.concat(Array.prototype.slice.call(arguments))),n.apply(i,u)}}throw new Error("first parameter must be a function!");};t.obj2url=function(n,i,r){var u=[],f="&",e=function(n,r){var f=i?/\[\]$/.test(i)?i:i+"["+r+"]":r;"undefined"!==f&&"undefined"!==r&&u.push("object"==typeof n?t.obj2url(n,f,!0):"[object Function]"===Object.prototype.toString.call(n)?encodeURIComponent(f)+"="+encodeURIComponent(n()):encodeURIComponent(f)+"="+encodeURIComponent(n))};return!r&&i?(f=/\?/.test(i)?/\?$/.test(i)?"":"&":"?",u.push(i),u.push(t.obj2url(n))):"[object Array]"===Object.prototype.toString.call(n)&&void 0!==n?t.each(n,function(n,t){e(t,n)}):void 0!==n&&null!==n&&"object"==typeof n?t.each(n,function(n,t){e(t,n)}):u.push(encodeURIComponent(i)+"="+encodeURIComponent(n)),i?u.join(f):u.join(f).replace(/^&/,"").replace(/%20/g,"+")};t.obj2FormData=function(n,i,r){return i||(i=new FormData),t.each(n,function(n,u){n=r?r+"["+n+"]":n;t.isObject(u)?t.obj2FormData(u,i,n):t.isFunction(u)?i.append(n,u()):i.append(n,u)}),i};t.obj2Inputs=function(n,i){var r;return i||(i=document.createElement("form")),t.obj2FormData(n,{append:function(n,t){r=document.createElement("input");r.setAttribute("name",n);r.setAttribute("value",t);i.appendChild(r)}}),i};t.parseJson=function(json){return window.JSON&&t.isFunction(JSON.parse)?JSON.parse(json):eval("("+json+")")};t.getExtension=function(n){var t=n.lastIndexOf(".")+1;if(t>0)return n.substr(t,n.length-t)};t.getFilename=function(n){return t.isInput(n)?n.value.replace(/.*(\/|\\)/,""):t.isFile(n)&&null!==n.fileName&&void 0!==n.fileName?n.fileName:n.name};t.DisposeSupport=function(){var n=[];return{dispose:function(){var t;do t=n.shift(),t&&t();while(t)},attach:function(){var n=arguments;this.addDisposer(t(n[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(t){n.push(t)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return t}):"undefined"!=typeof module&&module.exports?module.exports=t:n.qq=t}(),function(){"use strict";t.Error=function(n){this.message="[Fine Uploader "+t.version+"] "+n};t.Error.prototype=new Error}();t.version="5.16.2";t.supportedFeatures=function(){"use strict";function k(){var n,i=!0;try{n=document.createElement("input");n.type="file";t(n).hide();n.disabled&&(i=!1)}catch(n){i=!1}return i}function d(){return(t.chrome()||t.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function o(){return window.XMLHttpRequest?void 0!==t.createXhrInstance().withCredentials:!1}function s(){return void 0!==window.XDomainRequest}function g(){return!!o()||s()}function nt(){return void 0!==document.createElement("input").webkitdirectory}function tt(){try{return!!window.localStorage&&t.isFunction(window.localStorage.setItem)}catch(n){return!1}}function it(){var n=document.createElement("span");return("draggable"in n||"ondragstart"in n&&"ondrop"in n)&&!t.android()&&!t.ios()}var i,f,e,n,h,r,c,l,a,v,y,p,w,u,b;return i=k(),n=i&&t.isXhrUploadSupported(),f=n&&!t.androidStock(),e=n&&it(),h=e&&function(){var n=document.createElement("input");return n.type="file",!!("webkitdirectory"in(n||document.querySelectorAll("input[type=file]")[0]))}(),r=n&&t.isFileChunkingSupported(),c=n&&r&&tt(),l=n&&d(),a=i&&(void 0!==window.postMessage||n),y=o(),v=s(),p=g(),w=nt(),u=n&&void 0!==window.FileReader,b=function(){return!!n&&!t.androidStock()&&!t.iosChrome()}(),{ajaxUploading:n,blobUploading:f,canDetermineSize:n,chunking:r,deleteFileCors:p,deleteFileCorsXdr:v,deleteFileCorsXhr:y,dialogElement:!!window.HTMLDialogElement,fileDrop:e,folderDrop:h,folderSelection:w,imagePreviews:u,imageValidation:u,itemSizeValidation:n,pause:r,progressBar:b,resume:c,scaling:u&&f,tiffPreviews:t.safari(),unlimitedScaledImageSize:!t.ios(),uploading:i,uploadCors:a,uploadCustomHeaders:n,uploadNonMultipart:n,uploadViaPaste:l}}();t.isGenericPromise=function(n){"use strict";return!!(n&&n.then&&t.isFunction(n.then))};t.Promise=function(){"use strict";var i,n,f=[],e=[],r=[],u=0;t.extend(this,{then:function(t,r){return 0===u?(t&&f.push(t),r&&e.push(r)):u===-1?r&&r.apply(null,n):t&&t.apply(null,i),this},done:function(t){return 0===u?r.push(t):t.apply(null,void 0===n?i:n),this},success:function(){return u=1,i=arguments,f.length&&t.each(f,function(n,t){t.apply(null,i)}),r.length&&t.each(r,function(n,t){t.apply(null,i)}),this},failure:function(){return u=-1,n=arguments,e.length&&t.each(e,function(t,i){i.apply(null,n)}),r.length&&t.each(r,function(t,i){i.apply(null,n)}),this}})};t.BlobProxy=function(n,i){"use strict";t.extend(this,{referenceBlob:n,create:function(){return i(n)}})};t.UploadButton=function(n){"use strict";function e(){var n=document.createElement("input");return n.setAttribute(t.UploadButton.BUTTON_ID_ATTR_NAME,f),n.setAttribute("title",i.title),o.setMultiple(i.multiple,n),i.folders&&t.supportedFeatures.folderSelection&&n.setAttribute("webkitdirectory",""),i.acceptFiles&&n.setAttribute("accept",i.acceptFiles),n.setAttribute("type","file"),n.setAttribute("name",i.name),t(n).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:t.ie()&&!t.ie8()?"3500px":"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),!t.ie7()&&t(n).css({height:"100%"}),i.element.appendChild(n),u.attach(n,"change",function(){i.onChange(n)}),u.attach(n,"mouseover",function(){t(i.element).addClass(i.hoverClass)}),u.attach(n,"mouseout",function(){t(i.element).removeClass(i.hoverClass)}),u.attach(n,"focus",function(){t(i.element).addClass(i.focusClass)}),u.attach(n,"blur",function(){t(i.element).removeClass(i.focusClass)}),n}var r,f,o=this,u=new t.DisposeSupport,i={acceptFiles:null,element:null,focusClass:"qq-upload-button-focus",folders:!1,hoverClass:"qq-upload-button-hover",ios8BrowserCrashWorkaround:!1,multiple:!1,name:"qqfile",onChange:function(){},title:null};t.extend(i,n);f=t.getUniqueId();t(i.element).css({position:"relative",overflow:"hidden",direction:"ltr"});t.extend(this,{getInput:function(){return r},getButtonId:function(){return f},setMultiple:function(n,r){var u=r||this.getInput();i.ios8BrowserCrashWorkaround&&t.ios8()&&(t.iosChrome()||t.iosSafariWebView())?u.setAttribute("multiple",""):n?u.setAttribute("multiple",""):u.removeAttribute("multiple")},setAcceptFiles:function(n){n!==i.acceptFiles&&r.setAttribute("accept",n)},reset:function(){r.parentNode&&t(r).remove();t(i.element).removeClass(i.focusClass);r=null;r=e()}});r=e()};t.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id";t.UploadData=function(n){"use strict";function o(n){if(t.isArray(n)){var r=[];return t.each(n,function(n,t){r.push(i[t])}),r}return i[n]}function s(n){if(t.isArray(n)){var r=[];return t.each(n,function(n,t){r.push(i[u[t]])}),r}return i[u[n]]}function h(n){var u=[],f=[].concat(n);return t.each(f,function(n,f){var e=r[f];void 0!==e&&t.each(e,function(n,t){u.push(i[t])})}),u}var i=[],u={},r={},e={},f={};t.extend(this,{addFile:function(o){var h=o.status||t.status.SUBMITTING,s=i.push({name:o.name,originalName:o.name,uuid:o.uuid,size:null==o.size?-1:o.size,status:h,file:o.file})-1;return o.batchId&&(i[s].batchId=o.batchId,void 0===f[o.batchId]&&(f[o.batchId]=[]),f[o.batchId].push(s)),o.proxyGroupId&&(i[s].proxyGroupId=o.proxyGroupId,void 0===e[o.proxyGroupId]&&(e[o.proxyGroupId]=[]),e[o.proxyGroupId].push(s)),i[s].id=s,u[o.uuid]=s,void 0===r[h]&&(r[h]=[]),r[h].push(s),o.onBeforeStatusChange&&o.onBeforeStatusChange(s),n.onStatusChange(s,null,h),s},retrieve:function(n){return t.isObject(n)&&i.length?void 0!==n.id?o(n.id):void 0!==n.uuid?s(n.uuid):n.status?h(n.status):void 0:t.extend([],i,!0)},removeFileRef:function(n){var t=o(n);t&&delete t.file},reset:function(){i=[];u={};r={};f={}},setStatus:function(u,f){var e=i[u].status,o=t.indexOf(r[e],u);r[e].splice(o,1);i[u].status=f;void 0===r[f]&&(r[f]=[]);r[f].push(u);n.onStatusChange(u,e,f)},uuidChanged:function(n,t){var r=i[n].uuid;i[n].uuid=t;u[t]=n;delete u[r]},updateName:function(n,t){i[n].name=t},updateSize:function(n,t){i[n].size=t},setParentId:function(n,t){i[n].parentId=t},getIdsInProxyGroup:function(n){var t=i[n].proxyGroupId;return t?e[t]:[]},getIdsInBatch:function(n){return f[i[n].batchId]}})};t.status={SUBMITTING:"submitting",SUBMITTED:"submitted",REJECTED:"rejected",QUEUED:"queued",CANCELED:"canceled",PAUSED:"paused",UPLOADING:"uploading",UPLOAD_FINALIZING:"upload finalizing",UPLOAD_RETRYING:"retrying upload",UPLOAD_SUCCESSFUL:"upload successful",UPLOAD_FAILED:"upload failed",DELETE_FAILED:"delete failed",DELETING:"deleting",DELETED:"deleted"},function(){"use strict";t.basePublicApi={addBlobs:function(n,t,i){this.addFiles(n,t,i)},addInitialFiles:function(n){var i=this;t.each(n,function(n,t){i._addCannedFile(t)})},addFiles:function(n,i,r){this._maybeHandleIos8SafariWorkaround();var f=0===this._storedIds.length?t.getUniqueId():this._currentBatchId,e=t.bind(function(n){this._handleNewFile({blob:n,name:this._options.blobs.defaultName},f,u)},this),o=t.bind(function(n){this._handleNewFile(n,f,u)},this),s=t.bind(function(n){var i=t.canvasToBlob(n);this._handleNewFile({blob:i,name:this._options.blobs.defaultName+".png"},f,u)},this),h=t.bind(function(n){var i=n.quality&&n.quality/100,r=t.canvasToBlob(n.canvas,n.type,i);this._handleNewFile({blob:r,name:n.name},f,u)},this),c=t.bind(function(n){if(t.isInput(n)&&t.supportedFeatures.ajaxUploading){var i=Array.prototype.slice.call(n.files),r=this;t.each(i,function(n,t){r._handleNewFile(t,f,u)})}else this._handleNewFile(n,f,u)},this),l=function(){t.isFileList(n)&&(n=Array.prototype.slice.call(n));n=[].concat(n)},a=this,u=[];this._currentBatchId=f;n&&(l(),t.each(n,function(n,i){t.isFileOrInput(i)?c(i):t.isBlob(i)?e(i):t.isObject(i)?i.blob&&i.name?o(i):i.canvas&&i.name&&h(i):i.tagName&&"canvas"===i.tagName.toLowerCase()?s(i):a.log(i+" is not a valid file container!  Ignoring!","warn")}),this.log("Received "+u.length+" files."),this._prepareItemsForUpload(u,i,r))},cancel:function(n){var i=this._uploadData.retrieve({id:n});i&&i.status===t.status.UPLOAD_FINALIZING?this.log(t.format("Ignoring cancel for file ID {} ({}).  Finalizing upload.",n,this.getName(n)),"error"):this._handler.cancel(n)},cancelAll:function(){var n=[],i=this;t.extend(n,this._storedIds);t.each(n,function(n,t){i.cancel(t)});this._handler.cancelAll()},clearStoredFiles:function(){this._storedIds=[]},continueUpload:function(n){var i=this._uploadData.retrieve({id:n});return!(!t.supportedFeatures.pause||!this._options.chunking.enabled)&&(i.status===t.status.PAUSED?(this.log(t.format("Paused file ID {} ({}) will be continued.  Not paused.",n,this.getName(n))),this._uploadFile(n),!0):(this.log(t.format("Ignoring continue for file ID {} ({}).  Not paused.",n,this.getName(n)),"error"),!1))},deleteFile:function(n){return this._onSubmitDelete(n)},doesExist:function(n){return this._handler.isValid(n)},drawThumbnail:function(n,i,r,u,f){var o,s,e=new t.Promise;return this._imageGenerator?(o=this._thumbnailUrls[n],s={customResizeFunction:f,maxSize:r>0?r:null,scale:r>0},!u&&t.supportedFeatures.imagePreviews&&(o=this.getFile(n)),null==o?e.failure({container:i,error:"File or URL not found."}):this._imageGenerator.generate(o,i,s).then(function(n){e.success(n)},function(n,t){e.failure({container:n,error:t||"Problem generating thumbnail"})})):e.failure({container:i,error:"Missing image generator module"}),e},getButton:function(n){return this._getButton(this._buttonIdsForFileIds[n])},getEndpoint:function(n){return this._endpointStore.get(n)},getFile:function(n){var t,i=this._handler.getFile(n);return i||(t=this._uploadData.retrieve({id:n}),t&&(i=t.file)),i||null},getInProgress:function(){return this._uploadData.retrieve({status:[t.status.UPLOADING,t.status.UPLOAD_RETRYING,t.status.QUEUED]}).length},getName:function(n){return this._uploadData.retrieve({id:n}).name},getParentId:function(n){var t=this.getUploads({id:n}),i=null;return t&&void 0!==t.parentId&&(i=t.parentId),i},getResumableFilesData:function(){return this._handler.getResumableFilesData()},getSize:function(n){return this._uploadData.retrieve({id:n}).size},getNetUploads:function(){return this._netUploaded},getRemainingAllowedItems:function(){var n=this._currentItemLimit;return n>0?n-this._netUploadedOrQueued:null},getUploads:function(n){return this._uploadData.retrieve(n)},getUuid:function(n){return this._uploadData.retrieve({id:n}).uuid},isResumable:function(n){return this._handler.hasResumeRecord(n)},log:function(n,i){!this._options.debug||i&&"info"!==i?i&&"info"!==i&&t.log("[Fine Uploader "+t.version+"] "+n,i):t.log("[Fine Uploader "+t.version+"] "+n)},pauseUpload:function(n){var i=this._uploadData.retrieve({id:n});if(!t.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(t.indexOf([t.status.UPLOADING,t.status.UPLOAD_RETRYING],i.status)>=0){if(this._handler.pause(n))return this._uploadData.setStatus(n,t.status.PAUSED),!0;this.log(t.format("Unable to pause file ID {} ({}).",n,this.getName(n)),"error")}else this.log(t.format("Ignoring pause for file ID {} ({}).  Not in progress.",n,this.getName(n)),"error");return!1},removeFileRef:function(n){this._handler.expunge(n);this._uploadData.removeFileRef(n)},reset:function(){this.log("Resetting uploader...");this._handler.reset();this._storedIds=[];this._autoRetries=[];this._retryTimeouts=[];this._preventRetries=[];this._thumbnailUrls=[];t.each(this._buttons,function(n,t){t.reset()});this._paramsStore.reset();this._endpointStore.reset();this._netUploadedOrQueued=0;this._netUploaded=0;this._uploadData.reset();this._buttonIdsForFileIds=[];this._pasteHandler&&this._pasteHandler.reset();this._options.session.refreshOnReset&&this._refreshSessionData();this._succeededSinceLastAllComplete=[];this._failedSinceLastAllComplete=[];this._totalProgress&&this._totalProgress.reset();this._customResumeDataStore.reset()},retry:function(n){return this._manualRetry(n)},scaleImage:function(n,i){var r=this;return t.Scaler.prototype.scaleImage(n,i,{log:t.bind(r.log,r),getFile:t.bind(r.getFile,r),uploadData:r._uploadData})},setCustomHeaders:function(n,t){this._customHeadersStore.set(n,t)},setCustomResumeData:function(n,t){this._customResumeDataStore.set(t,n)},setDeleteFileCustomHeaders:function(n,t){this._deleteFileCustomHeadersStore.set(n,t)},setDeleteFileEndpoint:function(n,t){this._deleteFileEndpointStore.set(n,t)},setDeleteFileParams:function(n,t){this._deleteFileParamsStore.set(n,t)},setEndpoint:function(n,t){this._endpointStore.set(n,t)},setForm:function(n){this._updateFormSupportAndParams(n)},setItemLimit:function(n){this._currentItemLimit=n},setName:function(n,t){this._uploadData.updateName(n,t)},setParams:function(n,t){this._paramsStore.set(n,t)},setUuid:function(n,t){return this._uploadData.uuidChanged(n,t)},setStatus:function(n,i){if(!this.getUploads({id:n}))throw new t.Error(n+" is not a valid file ID.");switch(i){case t.status.DELETED:this._onDeleteComplete(n,null,!1);break;case t.status.DELETE_FAILED:this._onDeleteComplete(n,null,!0);break;default:var r="Method setStatus called on '"+name+"' not implemented yet for "+i;throw this.log(r),new t.Error(r);}},uploadStoredFiles:function(){0===this._storedIds.length?this._itemError("noFilesError"):this._uploadStoredFiles()}};t.basePrivateApi={_addCannedFile:function(n){var i=this;return this._uploadData.addFile({uuid:n.uuid,name:n.name,size:n.size,status:t.status.UPLOAD_SUCCESSFUL,onBeforeStatusChange:function(t){n.deleteFileEndpoint&&i.setDeleteFileEndpoint(n.deleteFileEndpoint,t);n.deleteFileParams&&i.setDeleteFileParams(n.deleteFileParams,t);n.thumbnailUrl&&(i._thumbnailUrls[t]=n.thumbnailUrl);i._netUploaded++;i._netUploadedOrQueued++}})},_annotateWithButtonId:function(n,i){t.isFile(n)&&(n.qqButtonId=this._getButtonId(i))},_batchError:function(n){this._options.callbacks.onError(null,null,n,void 0)},_createDeleteHandler:function(){var n=this;return new t.DeleteFileAjaxRequester({method:this._options.deleteFile.method.toUpperCase(),maxConnections:this._options.maxConnections,uuidParamName:this._options.request.uuidName,customHeaders:this._deleteFileCustomHeadersStore,paramsStore:this._deleteFileParamsStore,endpointStore:this._deleteFileEndpointStore,cors:this._options.cors,log:t.bind(n.log,n),onDelete:function(t){n._onDelete(t);n._options.callbacks.onDelete(t)},onDeleteComplete:function(t,i,r){n._onDeleteComplete(t,i,r);n._options.callbacks.onDeleteComplete(t,i,r)}})},_createPasteHandler:function(){var n=this;return new t.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:t.bind(n.log,n),pasteReceived:function(i){n._handleCheckedCallback({name:"onPasteReceived",callback:t.bind(n._options.callbacks.onPasteReceived,n,i),onSuccess:t.bind(n._handlePasteSuccess,n,i),identifier:"pasted image"})}}})},_createStore:function(n,i){var u={},o=n,f={},r=i,e=function(n){return t.isObject(n)?t.extend({},n):n},s=function(){return t.isFunction(r)?r():r},h=function(n,i){r&&t.isObject(i)&&t.extend(i,s());f[n]&&t.extend(i,f[n])};return{set:function(n,t){null==t?(u={},o=e(n)):u[t]=e(n)},get:function(n){var t;return t=null!=n&&u[n]?u[n]:e(o),h(n,t),e(t)},addReadOnly:function(n,i){t.isObject(u)&&(null===n?t.isFunction(i)?r=i:(r=r||{},t.extend(r,i)):(f[n]=f[n]||{},t.extend(f[n],i)))},remove:function(n){return delete u[n]},reset:function(){u={};f={};o=n}}},_createUploadDataTracker:function(){var n=this;return new t.UploadData({getName:function(t){return n.getName(t)},getUuid:function(t){return n.getUuid(t)},getSize:function(t){return n.getSize(t)},onStatusChange:function(t,i,r){n._onUploadStatusChange(t,i,r);n._options.callbacks.onStatusChange(t,i,r);n._maybeAllComplete(t,r);n._totalProgress&&setTimeout(function(){n._totalProgress.onStatusChange(t,i,r)},0)}})},_createUploadButton:function(n){function u(){return!!t.supportedFeatures.ajaxUploading&&!(i._options.workarounds.iosEmptyVideos&&t.ios()&&!t.ios6()&&i._isAllowedExtension(e,".mov"))&&(void 0===n.multiple?i._options.multiple:n.multiple)}var r,i=this,f=n.accept||this._options.validation.acceptFiles,e=n.allowedExtensions||this._options.validation.allowedExtensions;return r=new t.UploadButton({acceptFiles:f,element:n.element,focusClass:this._options.classes.buttonFocus,folders:n.folders,hoverClass:this._options.classes.buttonHover,ios8BrowserCrashWorkaround:this._options.workarounds.ios8BrowserCrash,multiple:u(),name:this._options.request.inputName,onChange:function(n){i._onInputChange(n)},title:null==n.title?this._options.text.fileInputTitle:n.title}),this._disposeSupport.addDisposer(function(){r.dispose()}),i._buttons.push(r),r},_createUploadHandler:function(n,i){var r=this,u={},f={debug:this._options.debug,maxConnections:this._options.maxConnections,cors:this._options.cors,paramsStore:this._paramsStore,endpointStore:this._endpointStore,chunking:this._options.chunking,resume:this._options.resume,blobs:this._options.blobs,log:t.bind(r.log,r),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(n,t,i,f){i<0||f<0||(u[n]?u[n].loaded===i&&u[n].total===f||(r._onProgress(n,t,i,f),r._options.callbacks.onProgress(n,t,i,f)):(r._onProgress(n,t,i,f),r._options.callbacks.onProgress(n,t,i,f)),u[n]={loaded:i,total:f})},onComplete:function(n,i,f,e){delete u[n];var o,s=r.getUploads({id:n}).status;s!==t.status.UPLOAD_SUCCESSFUL&&s!==t.status.UPLOAD_FAILED&&(o=r._onComplete(n,i,f,e),o instanceof t.Promise?o.done(function(){r._options.callbacks.onComplete(n,i,f,e)}):r._options.callbacks.onComplete(n,i,f,e))},onCancel:function(n,i,u){var f=new t.Promise;return r._handleCheckedCallback({name:"onCancel",callback:t.bind(r._options.callbacks.onCancel,r,n,i),onFailure:f.failure,onSuccess:function(){u.then(function(){r._onCancel(n,i)});f.success()},identifier:n}),f},onUploadPrep:t.bind(this._onUploadPrep,this),onUpload:function(n,i){r._onUpload(n,i);var u=r._options.callbacks.onUpload(n,i);return t.isGenericPromise(u)?(r.log(t.format("onUpload for {} returned a Promise - waiting for resolution.",n)),u):(new t.Promise).success()},onUploadChunk:function(n,i,u){r._onUploadChunk(n,u);var f=r._options.callbacks.onUploadChunk(n,i,u);return t.isGenericPromise(f)?(r.log(t.format("onUploadChunk for {}.{} returned a Promise - waiting for resolution.",n,u.partIndex)),f):(new t.Promise).success()},onUploadChunkSuccess:function(n,t){r._onUploadChunkSuccess(n,t);r._options.callbacks.onUploadChunkSuccess.apply(r,arguments)},onResume:function(n,t,i,u){return r._options.callbacks.onResume(n,t,i,u)},onAutoRetry:function(){return r._onAutoRetry.apply(r,arguments)},onUuidChanged:function(n,t){r.log("Server requested UUID change from '"+r.getUuid(n)+"' to '"+t+"'");r.setUuid(n,t)},getName:t.bind(r.getName,r),getUuid:t.bind(r.getUuid,r),getSize:t.bind(r.getSize,r),setSize:t.bind(r._setSize,r),getDataByUuid:function(n){return r.getUploads({uuid:n})},isQueued:function(n){var i=r.getUploads({id:n}).status;return i===t.status.QUEUED||i===t.status.SUBMITTED||i===t.status.UPLOAD_RETRYING||i===t.status.PAUSED},getIdsInProxyGroup:r._uploadData.getIdsInProxyGroup,getIdsInBatch:r._uploadData.getIdsInBatch,isInProgress:function(n){return r.getUploads({id:n}).status===t.status.UPLOADING},getCustomResumeData:t.bind(r._getCustomResumeData,r),setStatus:function(n,t){r._uploadData.setStatus(n,t)}};return t.each(this._options.request,function(n,t){f[n]=t}),f.customHeaders=this._customHeadersStore,n&&t.each(n,function(n,t){f[n]=t}),new t.UploadHandlerController(f,i)},_fileOrBlobRejected:function(n){this._netUploadedOrQueued--;this._uploadData.setStatus(n,t.status.REJECTED)},_formatSize:function(n){if(0===n)return n+this._options.text.sizeSymbols[0];var t=-1;do n/=1e3,t++;while(n>999);return Math.max(n,.1).toFixed(1)+this._options.text.sizeSymbols[t]},_generateExtraButtonSpecs:function(){var n=this;this._extraButtonSpecs={};t.each(this._options.extraButtons,function(i,r){var u=r.multiple,e=t.extend({},n._options.validation,!0),f=t.extend({},r);void 0===u&&(u=n._options.multiple);f.validation&&t.extend(e,r.validation,!0);t.extend(f,{multiple:u,validation:e},!0);n._initExtraButton(f)})},_getButton:function(n){var t=this._extraButtonSpecs[n];return t?t.element:n===this._defaultButtonId?this._options.button:void 0},_getButtonId:function(n){var u,r,i=n;if(i instanceof t.BlobProxy&&(i=i.referenceBlob),i&&!t.isBlob(i)){if(t.isFile(i))return i.qqButtonId;if("input"===i.tagName.toLowerCase()&&"file"===i.type.toLowerCase())return i.getAttribute(t.UploadButton.BUTTON_ID_ATTR_NAME);if(u=i.getElementsByTagName("input"),t.each(u,function(n,t){if("file"===t.getAttribute("type"))return r=t,!1}),r)return r.getAttribute(t.UploadButton.BUTTON_ID_ATTR_NAME)}},_getCustomResumeData:function(n){return this._customResumeDataStore.get(n)},_getNotFinished:function(){return this._uploadData.retrieve({status:[t.status.UPLOADING,t.status.UPLOAD_RETRYING,t.status.QUEUED,t.status.SUBMITTING,t.status.SUBMITTED,t.status.PAUSED]}).length},_getValidationBase:function(n){var t=this._extraButtonSpecs[n];return t?t.validation:this._options.validation},_getValidationDescriptor:function(n){return n.file instanceof t.BlobProxy?{name:t.getFilename(n.file.referenceBlob),size:n.file.referenceBlob.size}:{name:this.getUploads({id:n.id}).name,size:this.getUploads({id:n.id}).size}},_getValidationDescriptors:function(n){var r=this,i=[];return t.each(n,function(n,t){i.push(r._getValidationDescriptor(t))}),i},_handleCameraAccess:function(){if(this._options.camera.ios&&t.ios()){var r=this._options.camera.button,i=r?this._getButtonId(r):this._defaultButtonId,n=this._options;i&&i!==this._defaultButtonId&&(n=this._extraButtonSpecs[i]);n.multiple=!1;null===n.validation.acceptFiles?n.validation.acceptFiles="image/*;capture=camera":n.validation.acceptFiles+=",image/*;capture=camera";t.each(this._buttons,function(t,r){if(r.getButtonId()===i)return r.setMultiple(n.multiple),r.setAcceptFiles(n.acceptFiles),!1})}},_handleCheckedCallback:function(n){var r=this,i=n.callback();return t.isGenericPromise(i)?(this.log(n.name+" - waiting for "+n.name+" promise to be fulfilled for "+n.identifier),i.then(function(t){r.log(n.name+" promise success for "+n.identifier);n.onSuccess(t)},function(){n.onFailure?(r.log(n.name+" promise failure for "+n.identifier),n.onFailure()):r.log(n.name+" promise failure for "+n.identifier)})):(i!==!1?n.onSuccess(i):n.onFailure?(this.log(n.name+" - return value was 'false' for "+n.identifier+".  Invoking failure callback."),n.onFailure()):this.log(n.name+" - return value was 'false' for "+n.identifier+".  Will not proceed."),i)},_handleNewFile:function(n,i,r){var u=this,o=t.getUniqueId(),e=-1,s=t.getFilename(n),f=n.blob||n,h=this._customNewFileHandler?this._customNewFileHandler:t.bind(u._handleNewFileGeneric,u);!t.isInput(f)&&f.size>=0&&(e=f.size);h(f,s,o,e,r,i,this._options.request.uuidName,{uploadData:u._uploadData,paramsStore:u._paramsStore,addFileToHandler:function(n,t){u._handler.add(n,t);u._netUploadedOrQueued++;u._trackButton(n)}})},_handleNewFileGeneric:function(n,t,i,r,u,f){var e=this._uploadData.addFile({uuid:i,name:t,size:r,batchId:f,file:n});this._handler.add(e,n);this._trackButton(e);this._netUploadedOrQueued++;u.push({id:e,file:n})},_handlePasteSuccess:function(n,t){var r=n.type.split("/")[1],i=t;null==i&&(i=this._options.paste.defaultName);i+="."+r;this.addFiles({name:i,blob:n})},_handleDeleteSuccess:function(n){if(this.getUploads({id:n}).status!==t.status.DELETED){var i=this.getName(n);this._netUploadedOrQueued--;this._netUploaded--;this._handler.expunge(n);this._uploadData.setStatus(n,t.status.DELETED);this.log("Delete request for '"+i+"' has succeeded.")}},_handleDeleteFailed:function(n,i){var r=this.getName(n);this._uploadData.setStatus(n,t.status.DELETE_FAILED);this.log("Delete request for '"+r+"' has failed.","error");i&&void 0!==i.withCredentials?this._options.callbacks.onError(n,r,"Delete request failed with response code "+i.status,i):this._options.callbacks.onError(n,r,"Delete request failed",i)},_initExtraButton:function(n){var t=this._createUploadButton({accept:n.validation.acceptFiles,allowedExtensions:n.validation.allowedExtensions,element:n.element,folders:n.folders,multiple:n.multiple,title:n.fileInputTitle});this._extraButtonSpecs[t.getButtonId()]=n},_initFormSupportAndParams:function(){this._formSupport=t.FormSupport&&new t.FormSupport(this._options.form,t.bind(this.uploadStoredFiles,this),t.bind(this.log,this));this._formSupport&&this._formSupport.attachedToForm?(this._paramsStore=this._createStore(this._options.request.params,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&(this._options.request.endpoint=this._formSupport.newEndpoint)):this._paramsStore=this._createStore(this._options.request.params)},_isDeletePossible:function(){return!(!t.DeleteFileAjaxRequester||!this._options.deleteFile.enabled)&&(!this._options.cors.expected||!!t.supportedFeatures.deleteFileCorsXhr||!(!t.supportedFeatures.deleteFileCorsXdr||!this._options.cors.allowXdr))},_isAllowedExtension:function(n,i){var r=!1;return!n.length||(t.each(n,function(n,u){if(t.isString(u)){var f=new RegExp("\\."+u+"$","i");if(null!=i.match(f))return r=!0,!1}}),r)},_itemError:function(n,i,r){function u(n,t){f=f.replace(n,t)}var s,e,f=this._options.messages[n],h=[],c=[].concat(i),l=c[0],a=this._getButtonId(r),o=this._getValidationBase(a);return t.each(o.allowedExtensions,function(n,i){t.isString(i)&&h.push(i)}),s=h.join(", ").toLowerCase(),u("{file}",this._options.formatFileName(l)),u("{extensions}",s),u("{sizeLimit}",this._formatSize(o.sizeLimit)),u("{minSizeLimit}",this._formatSize(o.minSizeLimit)),e=f.match(/(\{\w+\})/g),null!==e&&t.each(e,function(n,t){u(t,c[n])}),this._options.callbacks.onError(null,l,f,void 0),f},_manualRetry:function(n,i){if(this._onBeforeManualRetry(n))return this._netUploadedOrQueued++,this._uploadData.setStatus(n,t.status.UPLOAD_RETRYING),i?i(n):this._handler.retry(n),!0},_maybeAllComplete:function(n,i){var r=this,u=this._getNotFinished();i===t.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(n):i===t.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(n);0===u&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){r._onAllComplete(r._succeededSinceLastAllComplete,r._failedSinceLastAllComplete)},0)},_maybeHandleIos8SafariWorkaround:function(){var n=this;if(this._options.workarounds.ios8SafariUploads&&t.ios800()&&t.iosSafari())throw setTimeout(function(){window.alert(n._options.messages.unsupportedBrowserIos8Safari)},0),new t.Error(this._options.messages.unsupportedBrowserIos8Safari);},_maybeParseAndSendUploadError:function(n,t,i,r){if(!i.success)if(r&&200!==r.status&&!i.error)this._options.callbacks.onError(n,t,"XHR returned response code "+r.status,r);else{var u=i.error?i.error:this._options.text.defaultResponseError;this._options.callbacks.onError(n,t,u,r)}},_maybeProcessNextItemAfterOnValidateCallback:function(n,i,r,u,f){var e=this;if(i.length>r)if(n||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var n=e._getValidationDescriptor(i[r]),o=e._getButtonId(i[r].file),s=e._getButton(o);e._handleCheckedCallback({name:"onValidate",callback:t.bind(e._options.callbacks.onValidate,e,n,s),onSuccess:t.bind(e._onValidateCallbackSuccess,e,i,r,u,f),onFailure:t.bind(e._onValidateCallbackFailure,e,i,r,u,f),identifier:"Item '"+n.name+"', size: "+n.size})},0);else if(!n)for(;r<i.length;r++)e._fileOrBlobRejected(i[r].id)},_onAllComplete:function(n,i){this._totalProgress&&this._totalProgress.onAllComplete(n,i,this._preventRetries);this._options.callbacks.onAllComplete(t.extend([],n),t.extend([],i));this._succeededSinceLastAllComplete=[];this._failedSinceLastAllComplete=[]},_onAutoRetry:function(n,i,r,u,f){var e=this,o;if(e._preventRetries[n]=r[e._options.retry.preventRetryResponseProperty],e._shouldAutoRetry(n))return o=1e3*e._options.retry.autoAttemptDelay,e._maybeParseAndSendUploadError.apply(e,arguments),e._options.callbacks.onAutoRetry(n,i,e._autoRetries[n]),e._onBeforeAutoRetry(n,i),e._uploadData.setStatus(n,t.status.UPLOAD_RETRYING),e._retryTimeouts[n]=setTimeout(function(){e.log("Starting retry for "+i+"...");f?f(n):e._handler.retry(n)},o),!0},_onBeforeAutoRetry:function(n,t){this.log("Waiting "+this._options.retry.autoAttemptDelay+" seconds before retrying "+t+"...")},_onBeforeManualRetry:function(n){var t,i=this._currentItemLimit;return this._preventRetries[n]?(this.log("Retries are forbidden for id "+n,"warn"),!1):this._handler.isValid(n)?(t=this.getName(n),this._options.callbacks.onManualRetry(n,t)!==!1&&(i>0&&this._netUploadedOrQueued+1>i?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+t+"' (id: "+n+")..."),!0))):(this.log("'"+n+"' is not a valid file ID","error"),!1)},_onCancel:function(n){this._netUploadedOrQueued--;clearTimeout(this._retryTimeouts[n]);var i=t.indexOf(this._storedIds,n);!this._options.autoUpload&&i>=0&&this._storedIds.splice(i,1);this._uploadData.setStatus(n,t.status.CANCELED)},_onComplete:function(n,i,r,u){return r.success?(r.thumbnailUrl&&(this._thumbnailUrls[n]=r.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(n,t.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(n,t.status.UPLOAD_FAILED),r[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[n]=!0)),this._maybeParseAndSendUploadError(n,i,r,u),!!r.success},_onDelete:function(n){this._uploadData.setStatus(n,t.status.DELETING)},_onDeleteComplete:function(n,t,i){this.getName(n);i?this._handleDeleteFailed(n,t):this._handleDeleteSuccess(n)},_onInputChange:function(n){var i;if(t.supportedFeatures.ajaxUploading){for(i=0;i<n.files.length;i++)this._annotateWithButtonId(n.files[i],n);this.addFiles(n.files)}else n.value.length>0&&this.addFiles(n);t.each(this._buttons,function(n,t){t.reset()})},_onProgress:function(n,t,i,r){this._totalProgress&&this._totalProgress.onIndividualProgress(n,i,r)},_onSubmit:function(){},_onSubmitCallbackSuccess:function(n){this._onSubmit.apply(this,arguments);this._uploadData.setStatus(n,t.status.SUBMITTED);this._onSubmitted.apply(this,arguments);this._options.autoUpload?(this._options.callbacks.onSubmitted.apply(this,arguments),this._uploadFile(n)):(this._storeForLater(n),this._options.callbacks.onSubmitted.apply(this,arguments))},_onSubmitDelete:function(n,i,r){var u,f=this.getUuid(n);return i&&(u=t.bind(i,this,n,f,r)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:t.bind(this._options.callbacks.onSubmitDelete,this,n),onSuccess:u||t.bind(this._deleteHandler.sendDelete,this,n,f,r),identifier:n}),!0):(this.log("Delete request ignored for ID "+n+", delete feature is disabled or request not possible due to CORS on a user agent that does not support pre-flighting.","warn"),!1)},_onSubmitted:function(){},_onTotalProgress:function(n,t){this._options.callbacks.onTotalProgress(n,t)},_onUploadPrep:function(){},_onUpload:function(n){this._uploadData.setStatus(n,t.status.UPLOADING)},_onUploadChunk:function(){},_onUploadChunkSuccess:function(n){!this._preventRetries[n]&&this._options.retry.enableAuto&&(this._autoRetries[n]=0)},_onUploadStatusChange:function(n,i,r){r===t.status.PAUSED&&clearTimeout(this._retryTimeouts[n])},_onValidateBatchCallbackFailure:function(n){var i=this;t.each(n,function(n,t){i._fileOrBlobRejected(t.id)})},_onValidateBatchCallbackSuccess:function(n,i,r,u,f){var o,e=this._currentItemLimit,s=this._netUploadedOrQueued;0===e||s<=e?i.length>0?this._handleCheckedCallback({name:"onValidate",callback:t.bind(this._options.callbacks.onValidate,this,n[0],f),onSuccess:t.bind(this._onValidateCallbackSuccess,this,i,0,r,u),onFailure:t.bind(this._onValidateCallbackFailure,this,i,0,r,u),identifier:"Item '"+i[0].file.name+"', size: "+i[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(i),o=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,s).replace(/\{itemLimit\}/g,e),this._batchError(o))},_onValidateCallbackFailure:function(n,t,i,r){var u=t+1;this._fileOrBlobRejected(n[t].id,n[t].file.name);this._maybeProcessNextItemAfterOnValidateCallback(!1,n,u,i,r)},_onValidateCallbackSuccess:function(n,t,i,r){var u=this,f=t+1,e=this._getValidationDescriptor(n[t]);this._validateFileOrBlobData(n[t],e).then(function(){u._upload(n[t].id,i,r);u._maybeProcessNextItemAfterOnValidateCallback(!0,n,f,i,r)},function(){u._maybeProcessNextItemAfterOnValidateCallback(!1,n,f,i,r)})},_prepareItemsForUpload:function(n,i,r){if(0===n.length)return void this._itemError("noFilesError");var u=this._getValidationDescriptors(n),e=this._getButtonId(n[0].file),f=this._getButton(e);this._handleCheckedCallback({name:"onValidateBatch",callback:t.bind(this._options.callbacks.onValidateBatch,this,u,f),onSuccess:t.bind(this._onValidateBatchCallbackSuccess,this,u,n,i,r,f),onFailure:t.bind(this._onValidateBatchCallbackFailure,this,n),identifier:"batch validation"})},_preventLeaveInProgress:function(){var n=this;this._disposeSupport.attach(window,"beforeunload",function(t){if(n.getInProgress())return t=t||window.event,t.returnValue=n._options.messages.onLeave,n._options.messages.onLeave})},_refreshSessionData:function(){var n=this,i=this._options.session;t.Session&&null!=this._options.session.endpoint&&(this._session||(t.extend(i,{cors:this._options.cors}),i.log=t.bind(this.log,this),i.addFileRecord=t.bind(this._addCannedFile,this),this._session=new t.Session(i)),setTimeout(function(){n._session.refresh().then(function(t,i){n._sessionRequestComplete();n._options.callbacks.onSessionRequestComplete(t,!0,i)},function(t,i){n._options.callbacks.onSessionRequestComplete(t,!1,i)})},0))},_sessionRequestComplete:function(){},_setSize:function(n,t){this._uploadData.updateSize(n,t);this._totalProgress&&this._totalProgress.onNewSize(n)},_shouldAutoRetry:function(n){var i=this._uploadData.retrieve({id:n});return!!(!this._preventRetries[n]&&this._options.retry.enableAuto&&i.status!==t.status.PAUSED&&(void 0===this._autoRetries[n]&&(this._autoRetries[n]=0),this._autoRetries[n]<this._options.retry.maxAutoAttempts))&&(this._autoRetries[n]+=1,!0)},_storeForLater:function(n){this._storedIds.push(n)},_trackButton:function(n){var i;i=t.supportedFeatures.ajaxUploading?this._handler.getFile(n).qqButtonId:this._getButtonId(this._handler.getInput(n));i&&(this._buttonIdsForFileIds[n]=i)},_updateFormSupportAndParams:function(n){this._options.form.element=n;this._formSupport=t.FormSupport&&new t.FormSupport(this._options.form,t.bind(this.uploadStoredFiles,this),t.bind(this.log,this));this._formSupport&&this._formSupport.attachedToForm&&(this._paramsStore.addReadOnly(null,this._formSupport.getFormInputsAsObject),this._options.autoUpload=this._formSupport.newAutoUpload,this._formSupport.newEndpoint&&this.setEndpoint(this._formSupport.newEndpoint))},_upload:function(n,i,r){var u=this.getName(n);i&&this.setParams(i,n);r&&this.setEndpoint(r,n);this._handleCheckedCallback({name:"onSubmit",callback:t.bind(this._options.callbacks.onSubmit,this,n,u),onSuccess:t.bind(this._onSubmitCallbackSuccess,this,n,u),onFailure:t.bind(this._fileOrBlobRejected,this,n,u),identifier:n})},_uploadFile:function(n){this._handler.upload(n)||this._uploadData.setStatus(n,t.status.QUEUED)},_uploadStoredFiles:function(){for(var i,n,r=this;this._storedIds.length;)i=this._storedIds.shift(),this._uploadFile(i);n=this.getUploads({status:t.status.SUBMITTING}).length;n&&(t.log("Still waiting for "+n+" files to clear submit queue. Will re-parse stored IDs array shortly."),setTimeout(function(){r._uploadStoredFiles()},1e3))},_validateFileOrBlobData:function(n,i){var s=this,u=function(){return n.file instanceof t.BlobProxy?n.file.referenceBlob:n.file}(),f=i.name,e=i.size,h=this._getButtonId(n.file),o=this._getValidationBase(h),r=new t.Promise;return r.then(function(){},function(){s._fileOrBlobRejected(n.id,f)}),t.isFileOrInput(u)&&!this._isAllowedExtension(o.allowedExtensions,f)?(this._itemError("typeError",f,u),r.failure()):this._options.validation.allowEmpty||0!==e?e>0&&o.sizeLimit&&e>o.sizeLimit?(this._itemError("sizeError",f,u),r.failure()):e>0&&e<o.minSizeLimit?(this._itemError("minSizeError",f,u),r.failure()):(t.ImageValidation&&t.supportedFeatures.imagePreviews&&t.isFile(u)?new t.ImageValidation(u,t.bind(s.log,s)).validate(o.image).then(r.success,function(n){s._itemError(n+"ImageError",f,u);r.failure()}):r.success(),r):(this._itemError("emptyError",f,u),r.failure())},_wrapCallbacks:function(){var n,t,i;n=this;t=function(t,i,r){var u;try{return i.apply(n,r)}catch(i){u=i.message||i.toString();n.log("Caught exception in '"+t+"' callback - "+u,"error")}};for(i in this._options.callbacks)!function(){var r,u;r=i;u=n._options.callbacks[r];n._options.callbacks[r]=function(){return t(r,u,arguments)}}()}}}(),function(){"use strict";t.FineUploaderBasic=function(n){var i=this;this._options={debug:!1,button:null,multiple:!0,maxConnections:3,disableCancelForFormUploads:!1,autoUpload:!0,warnBeforeUnload:!0,request:{customHeaders:{},endpoint:"/server/upload",filenameParam:"qqfilename",forceMultipart:!0,inputName:"qqfile",method:"POST",omitDefaultParams:!1,params:{},paramsInBody:!0,requireSuccessJson:!0,totalFileSizeName:"qqtotalfilesize",uuidName:"qquuid"},validation:{allowedExtensions:[],sizeLimit:0,minSizeLimit:0,itemLimit:0,stopOnFirstInvalidFile:!0,acceptFiles:null,image:{maxHeight:0,maxWidth:0,minHeight:0,minWidth:0},allowEmpty:!1},callbacks:{onSubmit:function(){},onSubmitted:function(){},onComplete:function(){},onAllComplete:function(){},onCancel:function(){},onUpload:function(){},onUploadChunk:function(){},onUploadChunkSuccess:function(){},onResume:function(){},onProgress:function(){},onTotalProgress:function(){},onError:function(){},onAutoRetry:function(){},onManualRetry:function(){},onValidateBatch:function(){},onValidate:function(){},onSubmitDelete:function(){},onDelete:function(){},onDeleteComplete:function(){},onPasteReceived:function(){},onStatusChange:function(){},onSessionRequestComplete:function(){}},messages:{typeError:"{file} has an invalid extension. Valid extension(s): {extensions}.",sizeError:"{file} is too large, maximum file size is {sizeLimit}.",minSizeError:"{file} is too small, minimum file size is {minSizeLimit}.",emptyError:"{file} is empty, please select files again without it.",noFilesError:"No files to upload.",tooManyItemsError:"Too many items ({netItems}) would be uploaded.  Item limit is {itemLimit}.",maxHeightImageError:"Image is too tall.",maxWidthImageError:"Image is too wide.",minHeightImageError:"Image is not tall enough.",minWidthImageError:"Image is not wide enough.",retryFailTooManyItems:"Retry failed - you have reached your file limit.",onLeave:"The files are being uploaded, if you leave now the upload will be canceled.",unsupportedBrowserIos8Safari:"Unrecoverable error - this browser does not permit file uploading of any kind due to serious bugs in iOS8 Safari.  Please use iOS8 Chrome until Apple fixes these issues."},retry:{enableAuto:!1,maxAutoAttempts:3,autoAttemptDelay:5,preventRetryResponseProperty:"preventRetry"},classes:{buttonHover:"qq-upload-button-hover",buttonFocus:"qq-upload-button-focus"},chunking:{enabled:!1,concurrent:{enabled:!1},mandatory:!1,paramNames:{partIndex:"qqpartindex",partByteOffset:"qqpartbyteoffset",chunkSize:"qqchunksize",totalFileSize:"qqtotalfilesize",totalParts:"qqtotalparts"},partSize:function(){return 2e6},success:{endpoint:null,headers:function(){return null},jsonPayload:!1,method:"POST",params:function(){return null},resetOnStatus:[]}},resume:{enabled:!1,recordsExpireIn:7,paramNames:{resuming:"qqresume"},customKeys:function(){return[]}},formatFileName:function(n){return n},text:{defaultResponseError:"Upload failure reason unknown",fileInputTitle:"file input",sizeSymbols:["kB","MB","GB","TB","PB","EB"]},deleteFile:{enabled:!1,method:"DELETE",endpoint:"/server/upload",customHeaders:{},params:{}},cors:{expected:!1,sendCredentials:!1,allowXdr:!1},blobs:{defaultName:"misc_data"},paste:{targetElement:null,defaultName:"pasted_image"},camera:{ios:!1,button:null},extraButtons:[],session:{endpoint:null,params:{},customHeaders:{},refreshOnReset:!0},form:{element:"qq-form",autoUpload:!1,interceptSubmit:!0},scaling:{customResizer:null,sendOriginal:!0,orient:!0,defaultType:null,defaultQuality:80,failureText:"Failed to scale",includeExif:!1,sizes:[]},workarounds:{iosEmptyVideos:!0,ios8SafariUploads:!0,ios8BrowserCrash:!1}};t.extend(this._options,n,!0);this._buttons=[];this._extraButtonSpecs={};this._buttonIdsForFileIds=[];this._wrapCallbacks();this._disposeSupport=new t.DisposeSupport;this._storedIds=[];this._autoRetries=[];this._retryTimeouts=[];this._preventRetries=[];this._thumbnailUrls=[];this._netUploadedOrQueued=0;this._netUploaded=0;this._uploadData=this._createUploadDataTracker();this._initFormSupportAndParams();this._customHeadersStore=this._createStore(this._options.request.customHeaders);this._deleteFileCustomHeadersStore=this._createStore(this._options.deleteFile.customHeaders);this._deleteFileParamsStore=this._createStore(this._options.deleteFile.params);this._endpointStore=this._createStore(this._options.request.endpoint);this._deleteFileEndpointStore=this._createStore(this._options.deleteFile.endpoint);this._handler=this._createUploadHandler();this._deleteHandler=t.DeleteFileAjaxRequester&&this._createDeleteHandler();this._options.button&&(this._defaultButtonId=this._createUploadButton({element:this._options.button,title:this._options.text.fileInputTitle}).getButtonId());this._generateExtraButtonSpecs();this._handleCameraAccess();this._options.paste.targetElement&&(t.PasteSupport?this._pasteHandler=this._createPasteHandler():this.log("Paste support module not found","error"));this._options.warnBeforeUnload&&this._preventLeaveInProgress();this._imageGenerator=t.ImageGenerator&&new t.ImageGenerator(t.bind(this.log,this));this._refreshSessionData();this._succeededSinceLastAllComplete=[];this._failedSinceLastAllComplete=[];this._scaler=t.Scaler&&new t.Scaler(this._options.scaling,t.bind(this.log,this))||{};this._scaler.enabled&&(this._customNewFileHandler=t.bind(this._scaler.handleNewFile,this._scaler));t.TotalProgress&&t.supportedFeatures.progressBar&&(this._totalProgress=new t.TotalProgress(t.bind(this._onTotalProgress,this),function(n){var t=i._uploadData.retrieve({id:n});return t&&t.size||0}));this._currentItemLimit=this._options.validation.itemLimit;this._customResumeDataStore=this._createStore()};t.FineUploaderBasic.prototype=t.basePublicApi;t.extend(t.FineUploaderBasic.prototype,t.basePrivateApi)}();t.AjaxRequester=function(n){"use strict";function a(){return t.indexOf(["GET","POST","HEAD"],i.method)>=0}function v(){var n=!1;return t.each(n,function(i,r){if(t.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],r)<0)return n=!0,!1}),n}function e(n){return i.cors.expected&&void 0===n.withCredentials}function y(){var n;return(window.XMLHttpRequest||window.ActiveXObject)&&(n=t.createXhrInstance(),void 0===n.withCredentials&&(n=new XDomainRequest,n.onload=function(){},n.onerror=function(){},n.ontimeout=function(){},n.onprogress=function(){})),n}function u(n,u){var f=r[n]&&r[n].xhr;return f||(f=u?u:i.cors.expected?y():t.createXhrInstance(),r[n].xhr=f),f}function c(n){var e,o=t.indexOf(f,n),u=i.maxConnections;delete r[n];f.splice(o,1);f.length>=u&&o<u&&(e=f[u-1],l(e))}function s(n,t){var r=u(n),s=i.method,f=t===!0;c(n);f?o(s+" request for "+n+" has failed","error"):e(r)||tt(r.status)||(f=!0,o(s+" request for "+n+" has failed - response code "+r.status,"error"));i.onComplete(n,r,f)}function p(n){var u,f=r[n].additionalParams,e=i.mandatedParams;return i.paramsStore.get&&(u=i.paramsStore.get(n)),f&&t.each(f,function(n,t){u=u||{};u[n]=t}),e&&t.each(e,function(n,t){u=u||{};u[n]=t}),u}function l(n,f){var l,s=u(n,f),a=i.method,c=p(n),v=r[n].payload;return i.onSend(n),l=w(n,c,r[n].additionalQueryParams),e(s)?(s.onload=d(n),s.onerror=g(n)):s.onreadystatechange=b(n),k(n),s.open(a,l,!0),i.cors.expected&&i.cors.sendCredentials&&!e(s)&&(s.withCredentials=!0),nt(n),o("Sending "+a+" request for "+n),v?s.send(v):h||!c?s.send():c&&i.contentType&&i.contentType.toLowerCase().indexOf("application/x-www-form-urlencoded")>=0?s.send(t.obj2url(c,"")):c&&i.contentType&&i.contentType.toLowerCase().indexOf("application/json")>=0?s.send(JSON.stringify(c)):s.send(c),s}function w(n,u,f){var e=i.endpointStore.get(n),o=r[n].addToPath;return void 0!=o&&(e+="/"+o),h&&u&&(e=t.obj2url(u,e)),f&&(e=t.obj2url(f,e)),e}function b(n){return function(){4===u(n).readyState&&s(n)}}function k(n){var t=i.onProgress;t&&(u(n).upload.onprogress=function(i){i.lengthComputable&&t(n,i.loaded,i.total)})}function d(n){return function(){s(n)}}function g(n){return function(){s(n,!0)}}function nt(n){var f=u(n),o=i.customHeaders,c=r[n].additionalHeaders||{},h=i.method,s={};e(f)||(i.acceptHeader&&f.setRequestHeader("Accept",i.acceptHeader),i.allowXRequestedWithAndCacheControl&&(i.cors.expected&&a()&&!v(o)||(f.setRequestHeader("X-Requested-With","XMLHttpRequest"),f.setRequestHeader("Cache-Control","no-cache"))),!i.contentType||"POST"!==h&&"PUT"!==h||f.setRequestHeader("Content-Type",i.contentType),t.extend(s,t.isFunction(o)?o(n):o),t.extend(s,c),t.each(s,function(n,t){f.setRequestHeader(n,t)}))}function tt(n){return t.indexOf(i.successfulResponseCodes[i.method],n)>=0}function it(n,t,u,e,o,s,h){if(r[n]={addToPath:u,additionalParams:e,additionalQueryParams:o,additionalHeaders:s,payload:h},f.push(n)<=i.maxConnections)return l(n,t)}var o,h,f=[],r={},i={acceptHeader:null,validMethods:["PATCH","POST","PUT"],method:"POST",contentType:"application/x-www-form-urlencoded",maxConnections:3,customHeaders:{},endpointStore:{},paramsStore:{},mandatedParams:{},allowXRequestedWithAndCacheControl:!0,successfulResponseCodes:{DELETE:[200,202,204],PATCH:[200,201,202,203,204],POST:[200,201,202,203,204],PUT:[200,201,202,203,204],GET:[200]},cors:{expected:!1,sendCredentials:!1},log:function(){},onSend:function(){},onComplete:function(){},onProgress:null};if(t.extend(i,n),o=i.log,t.indexOf(i.validMethods,i.method)<0)throw new Error("'"+i.method+"' is not a supported method for this type of request!");h="GET"===i.method||"DELETE"===i.method;t.extend(this,{initTransport:function(n){var u,r,f,e,o,s;return{withPath:function(n){return u=n,this},withParams:function(n){return r=n,this},withQueryParams:function(n){return s=n,this},withHeaders:function(n){return f=n,this},withPayload:function(n){return e=n,this},withCacheBuster:function(){return o=!0,this},send:function(h){return o&&t.indexOf(["GET","DELETE"],i.method)>=0&&(r.qqtimestamp=(new Date).getTime()),it(n,h,u,r,s,f,e)}}},canceled:function(n){c(n)}})};t.UploadHandler=function(n){"use strict";var r=n.proxy,i={},u=r.onCancel,f=r.getName;t.extend(this,{add:function(n,t){i[n]=t;i[n].temp={}},cancel:function(n){var r=this,e=new t.Promise;u(n,f(n),e).then(function(){r.isValid(n)&&(i[n].canceled=!0,r.expunge(n));e.success()})},expunge:function(n){delete i[n]},getThirdPartyFileId:function(n){return i[n].key},isValid:function(n){return void 0!==i[n]},reset:function(){i={}},_getFileState:function(n){return i[n]},_setThirdPartyFileId:function(n,t){i[n].key=t},_wasCanceled:function(n){return!!i[n].canceled}})};t.UploadHandlerController=function(n,i){"use strict";var a,o,r,h=this,l=!1,c=!1,u={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(){},onProgress:function(){},onComplete:function(){},onCancel:function(){},onUploadPrep:function(){},onUpload:function(){},onUploadChunk:function(){},onUploadChunkSuccess:function(){},onAutoRetry:function(){},onResume:function(){},onUuidChanged:function(){},getName:function(){},setSize:function(){},isQueued:function(){},getIdsInProxyGroup:function(){},getIdsInBatch:function(){},isInProgress:function(){}},s={done:function(n,t,i,f){var e=r._getChunkData(n,t);r._getFileState(n).attemptingResume=!1;delete r._getFileState(n).temp.chunkProgress[t];r._getFileState(n).loaded+=e.size;u.onUploadChunkSuccess(n,r._getChunkDataForCallback(e),i,f)},finalize:function(n){var t=u.getSize(n),i=u.getName(n);o("All chunks have been uploaded for "+n+" - finalizing....");r.finalizeChunks(n).then(function(f,s){o("Finalize successful for "+n);var h=e.normalizeResponse(f,!0);u.onProgress(n,i,t,t);r._maybeDeletePersistedChunkData(n);e.cleanup(n,h,s)},function(t,r){var f=e.normalizeResponse(t,!1);o("Problem finalizing chunks for file ID "+n+" - "+f.error,"error");(f.reset||r&&u.chunking.success.resetOnStatus.indexOf(r.status)>=0)&&s.reset(n);u.onAutoRetry(n,i,f,r)||e.cleanup(n,f,r)})},handleFailure:function(n,i,h,l){var p=u.getName(i),v,a,y;o("Chunked upload request failed for "+i+", chunk "+n);r.clearCachedChunk(i,n);a=e.normalizeResponse(h,!1);a.reset?s.reset(i):(y=r._getFileState(i).chunking.inProgress,v=y?t.indexOf(y,n):-1,v>=0&&(r._getFileState(i).chunking.inProgress.splice(v,1),r._getFileState(i).chunking.remaining.unshift(n)));r._getFileState(i).temp.ignoreFailure||(c&&(r._getFileState(i).temp.ignoreFailure=!0,o(t.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(r._getXhrs(i))),JSON.stringify(r._getFileState(i).chunking.inProgress))),t.each(r._getXhrs(i),function(n,r){o(t.format("Attempting to abort file {}.{}. XHR readyState {}. ",i,n,r.readyState));r.abort();r._cancelled=!0}),r.moveInProgressToRemaining(i),f.free(i,!0)),u.onAutoRetry(i,p,a,l)||e.cleanup(i,a,l))},hasMoreParts:function(n){return!!r._getFileState(n).chunking.remaining.length},nextPart:function(n){var t=r._getFileState(n).chunking.remaining.shift();return t>=r._getTotalChunks(n)&&(t=null),t},reset:function(n){o("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+n,"error");r._maybeDeletePersistedChunkData(n);r.reevaluateChunking(n);r._getFileState(n).loaded=0;r._getFileState(n).attemptingResume=!1},sendNext:function(n){var p=u.getSize(n),y=u.getName(n),i=s.nextPart(n),h=r._getChunkData(n,i),l=r._getFileState(n),a=l.attemptingResume,v=l.chunking.inProgress||[];(null==l.loaded&&(l.loaded=0),a&&u.onResume(n,y,h,l.customResumeData)===!1&&(s.reset(n),i=s.nextPart(n),h=r._getChunkData(n,i),a=!1),null==i&&0===v.length)?s.finalize(n):(v.push(i),r._getFileState(n).chunking.inProgress=v,c&&f.open(n,i),c&&f.available()&&r._getFileState(n).chunking.remaining.length&&s.sendNext(n),0===h.blob.size&&(o(t.format("Chunk {} for file {} will not be uploaded, zero sized chunk.",i,n),"error"),s.handleFailure(i,n,"File is no longer available",null)),u.onUploadChunk(n,y,r._getChunkDataForCallback(h)).then(function(f){if(u.isInProgress(n)){o(t.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",n,i,h.start+1,h.end,p));var c={chunkIdx:i,id:n,overrides:f,resuming:a};r.uploadChunk(c).then(function(u,f){o("Chunked upload request succeeded for "+n+", chunk "+i);r.clearCachedChunk(n,i);var h=r._getFileState(n).chunking.inProgress||[],l=e.normalizeResponse(u,!0),c=t.indexOf(h,i);o(t.format("Chunk {} for file {} uploaded successfully.",i,n));s.done(n,i,l,f);c>=0&&h.splice(c,1);r._maybePersistChunkedState(n);s.hasMoreParts(n)||0!==h.length?s.hasMoreParts(n)?s.sendNext(n):o(t.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",n,JSON.stringify(h))):s.finalize(n)},function(t,r){s.handleFailure(i,n,t,r)}).done(function(){r.clearXhr(n,i)})}else o(t.format("Not sending chunked upload request for item {}.{} - no longer in progress.",n,i))},function(t){s.handleFailure(i,n,t,null)}))}},f={_open:[],_openChunks:{},_waiting:[],available:function(){var r=u.maxConnections,n=0,i=0;return t.each(f._openChunks,function(t,r){n++;i+=r.length}),r-(f._open.length-n+i)},free:function(n,i){var u,c=!i,s=t.indexOf(f._waiting,n),h=t.indexOf(f._open,n);delete f._openChunks[n];e.getProxyOrBlob(n)instanceof t.BlobProxy&&(o("Generated blob upload has ended for "+n+", disposing generated blob."),delete r._getFileState(n).file);s>=0?f._waiting.splice(s,1):c&&h>=0&&(f._open.splice(h,1),u=f._waiting.shift(),u>=0&&(f._open.push(u),e.start(u)))},getWaitingOrConnected:function(){var n=[];return t.each(f._openChunks,function(t,i){i&&i.length&&n.push(parseInt(t))}),t.each(f._open,function(t,i){f._openChunks[i]||n.push(parseInt(i))}),n=n.concat(f._waiting)},isUsingConnection:function(n){return t.indexOf(f._open,n)>=0},open:function(n,t){return null==t&&f._waiting.push(n),!!f.available()&&(null==t?(f._waiting.pop(),f._open.push(n)):function(){var i=f._openChunks[n]||[];i.push(t);f._openChunks[n]=i}(),!0)},reset:function(){f._waiting=[];f._open=[]}},v={send:function(n,t){var i=r._getFileState(n);if(!i)return void o("Ignoring send request as this upload may have been cancelled, File ID "+n,"warn");i.loaded=0;o("Sending simple upload request for "+n);r.uploadFile(n).then(function(i,r){o("Simple upload request succeeded for "+n);var f=e.normalizeResponse(i,!0),s=u.getSize(n);u.onProgress(n,t,s,s);e.maybeNewUuid(n,f);e.cleanup(n,f,r)},function(i,r){o("Simple upload request failed for "+n);var f=e.normalizeResponse(i,!1);u.onAutoRetry(n,t,f,r)||e.cleanup(n,f,r)})}},e={cancel:function(n){o("Cancelling "+n);u.paramsStore.remove(n);f.free(n)},cleanup:function(n,t,i){var e=u.getName(n);u.onComplete(n,e,t,i);r._getFileState(n)&&r._clearXhrs&&r._clearXhrs(n);f.free(n)},getProxyOrBlob:function(n){return r.getProxy&&r.getProxy(n)||r.getFile&&r.getFile(n)},initHandler:function(){r=new(i?t[i]:t.traditional)[(t.supportedFeatures.ajaxUploading?"Xhr":"Form")+"UploadHandler"](u,{getCustomResumeData:u.getCustomResumeData,getDataByUuid:u.getDataByUuid,getName:u.getName,getSize:u.getSize,getUuid:u.getUuid,log:o,onCancel:u.onCancel,onProgress:u.onProgress,onUuidChanged:u.onUuidChanged,onFinalizing:function(n){u.setStatus(n,t.status.UPLOAD_FINALIZING)}});r._removeExpiredChunkingRecords&&r._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(n){return u.isQueued(n)},maybeDefer:function(n,i){return i&&!r.getFile(n)&&i instanceof t.BlobProxy?(u.onUploadPrep(n),o("Attempting to generate a blob on-demand for "+n),i.create().then(function(t){o("Generated an on-demand blob for "+n);r.updateBlob(n,t);u.setSize(n,t.size);r.reevaluateChunking(n);e.maybeSendDeferredFiles(n)},function(i){var r={};i&&(r.error=i);o(t.format("Failed to generate blob for ID {}.  Error message: {}.",n,i),"error");u.onComplete(n,u.getName(n),t.extend(r,a),null);e.maybeSendDeferredFiles(n);f.free(n)}),!1):e.maybeSendDeferredFiles(n)},maybeSendDeferredFiles:function(n){var i=u.getIdsInProxyGroup(n),f=!1;return i&&i.length?(o("Maybe ready to upload proxy group file "+n),t.each(i,function(t,i){if(e.isDeferredEligibleForUpload(i)&&r.getFile(i))f=i===n,e.now(i);else if(e.isDeferredEligibleForUpload(i))return!1})):(f=!0,e.now(n)),f},maybeNewUuid:function(n,t){void 0!==t.newUuid&&u.onUuidChanged(n,t.newUuid)},normalizeResponse:function(n,i){var r=n;return t.isObject(n)||(r={},t.isString(n)&&!i&&(r.error=n)),r.success=i,r},now:function(n){var i=u.getName(n);if(!h.isValid(n))throw new t.Error(n+" is not a valid file ID to upload!");u.onUpload(n,i).then(function(e){e&&e.pause?(u.setStatus(n,t.status.PAUSED),r.pause(n),f.free(n)):l&&r._shouldChunkThisFile(n)?s.sendNext(n):v.send(n,i)},function(t){if(t=t||{},o(n+" upload start aborted due to rejected onUpload Promise - details: "+t,"error"),!u.onAutoRetry(n,i,t.responseJSON||{})){var r=e.normalizeResponse(t.responseJSON,!1);e.cleanup(n,r)}})},start:function(n){var t=e.getProxyOrBlob(n);return t?e.maybeDefer(n,t):(e.now(n),!0)}};t.extend(this,{add:function(){r.add.apply(this,arguments)},upload:function(n){return!!f.open(n)&&e.start(n)},retry:function(n){return c&&(r._getFileState(n).temp.ignoreFailure=!1),f.isUsingConnection(n)?e.start(n):h.upload(n)},cancel:function(n){var i=r.cancel(n);t.isGenericPromise(i)?i.then(function(){e.cancel(n)}):i!==!1&&e.cancel(n)},cancelAll:function(){var n,t=f.getWaitingOrConnected();if(t.length)for(n=t.length-1;n>=0;n--)h.cancel(t[n]);f.reset()},getFile:function(n){return r.getProxy&&r.getProxy(n)?r.getProxy(n).referenceBlob:r.getFile&&r.getFile(n)},isProxied:function(n){return!(!r.getProxy||!r.getProxy(n))},getInput:function(n){if(r.getInput)return r.getInput(n)},reset:function(){o("Resetting upload handler");h.cancelAll();f.reset();r.reset()},expunge:function(n){if(h.isValid(n))return r.expunge(n)},isValid:function(n){return r.isValid(n)},hasResumeRecord:function(n){var t=r.isValid(n)&&r._getLocalStorageId&&r._getLocalStorageId(n);return!!t&&!!localStorage.getItem(t)},getResumableFilesData:function(){return r.getResumableFilesData?r.getResumableFilesData():[]},getThirdPartyFileId:function(n){if(h.isValid(n))return r.getThirdPartyFileId(n)},pause:function(n){return!!(h.isResumable(n)&&r.pause&&h.isValid(n)&&r.pause(n))&&(f.free(n),r.moveInProgressToRemaining(n),!0)},isAttemptingResume:function(n){return!!r.isAttemptingResume&&r.isAttemptingResume(n)},isResumable:function(n){return!!r.isResumable&&r.isResumable(n)}});t.extend(u,n);o=u.log;l=u.chunking.enabled&&t.supportedFeatures.chunking;c=l&&u.chunking.concurrent.enabled;a=function(){var n={};return n[u.preventRetryParam]=!0,n}();e.initHandler()};t.WindowReceiveMessage=function(n){"use strict";var r={log:function(){}},i={};t.extend(r,n);t.extend(this,{receiveMessage:function(n,r){var u=function(n){r(n.data)};window.postMessage?i[n]=t(window).attach("message",u):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(n){if(window.postMessage){var t=i[n];t&&t()}}})};t.FormUploadHandler=function(n){"use strict";function a(n){delete u[n];l&&(clearTimeout(f[n]),delete f[n],o.stopReceivingMessages(n));var i=document.getElementById(r._getIframeName(n));i&&(i.setAttribute("src","javascript:false;"),t(i).remove())}function s(n){return n.split("_")[0]}function v(n){var i=t.toElement("<iframe src='javascript:false;' name='"+n+"' />");return i.setAttribute("id",n),i.style.display="none",document.body.appendChild(i),i}function y(n,h){var c=n.id,l=s(c);e[b(l)]=h;u[l]=t(n).attach("load",function(){r.getInput(l)&&(i("Received iframe load event for CORS upload request (iframe name "+c+")"),f[c]=setTimeout(function(){var n="No valid message received from loaded iframe for iframe name "+c;i(n,"error");h({error:n})},1e3))});o.receiveMessage(c,function(n){i("Received the following window message: '"+n+"'");var u,h=(s(c),r._parseJsonResponse(n)),t=h.uuid;t&&e[t]?(i("Handling response for iframe name "+c),clearTimeout(f[c]),delete f[c],r._detachLoadEvent(c),u=e[t],delete e[t],o.stopReceivingMessages(c),u(h)):t||i("'"+n+"' does not contain a UUID - ignoring.")})}var h=n.options,r=this,c=n.proxy,p=t.getUniqueId(),e={},u={},f={},l=h.isCors,w=h.inputName,b=c.getUuid,i=c.log,o=new t.WindowReceiveMessage({log:i});t.extend(this,new t.UploadHandler(n));t.override(this,function(n){return{add:function(i,r){n.add(i,{input:r});r.setAttribute("name",w);r.parentNode&&t(r).remove()},expunge:function(t){a(t);n.expunge(t)},isValid:function(t){return n.isValid(t)&&void 0!==r._getFileState(t).input}}});t.extend(this,{getInput:function(n){return r._getFileState(n).input},_attachLoadEvent:function(n,r){var f;l?y(n,r):u[n.id]=t(n).attach("load",function(){if(i("Received response for "+n.id),n.parentNode){try{if(n.contentDocument&&n.contentDocument.body&&"false"==n.contentDocument.body.innerHTML)return}catch(n){i("Error when attempting to access iframe during handling of upload response ("+n.message+")","error");f={success:!1}}r(f)}})},_createIframe:function(n){return v(r._getIframeName(n))},_detachLoadEvent:function(n){void 0!==u[n]&&(u[n](),delete u[n])},_getIframeName:function(n){return n+"_"+p},_initFormForUpload:function(n){var e=n.method,r=n.endpoint,u=n.params,o=n.paramsInBody,s=n.targetName,i=t.toElement("<form method='"+e+"' enctype='multipart/form-data'><\/form>"),f=r;return o?t.obj2Inputs(u,i):f=t.obj2url(u,r),i.setAttribute("action",f),i.setAttribute("target",s),i.style.display="none",document.body.appendChild(i),i},_parseJsonResponse:function(n){var r={};try{r=t.parseJson(n)}catch(n){i("Error when attempting to parse iframe upload response ("+n.message+")","error")}return r}})};t.XhrUploadHandler=function(n){"use strict";function a(n){t.each(i._getXhrs(n),function(t,r){var u=i._getAjaxRequester(n,t);r.onreadystatechange=null;r.upload.onprogress=null;r.abort();u&&u.canceled&&u.canceled(n)})}var i=this,v=n.options.namespace,r=n.proxy,f=n.options.chunking,h=function(n){var e=i._getFileState(n),r;return e.chunkSize?e.chunkSize:(r=f.partSize,t.isFunction(r)&&(r=r(n,u(n))),e.chunkSize=r,r)},c=n.options.resume,y=f&&n.options.chunking.enabled&&t.supportedFeatures.chunking,e=c&&n.options.resume.enabled&&y&&t.supportedFeatures.resume,o=r.getName,u=r.getSize,p=r.getUuid,w=r.getEndpoint,b=r.getDataByUuid,k=r.onUuidChanged,l=r.onProgress,s=r.log,d=r.getCustomResumeData;t.extend(this,new t.UploadHandler(n));t.override(this,function(n){return{add:function(r,u){if(t.isFile(u)||t.isBlob(u))n.add(r,{file:u});else{if(!(u instanceof t.BlobProxy))throw new Error("Passed obj is not a File, Blob, or proxy");n.add(r,{proxy:u})}i._initTempState(r);e&&i._maybePrepareForResume(r)},expunge:function(t){a(t);i._maybeDeletePersistedChunkData(t);i._clearXhrs(t);n.expunge(t)}}});t.extend(this,{clearCachedChunk:function(n,t){var r=i._getFileState(n);r&&delete r.temp.cachedChunks[t]},clearXhr:function(n,t){var r=i._getFileState(n).temp;r.xhrs&&delete r.xhrs[t];r.ajaxRequesters&&delete r.ajaxRequesters[t]},finalizeChunks:function(n,r){var f=i._getTotalChunks(n)-1,u=i._getXhr(n,f);return r?(new t.Promise).success(r(u),u):(new t.Promise).success({},u)},getFile:function(n){return i.isValid(n)&&i._getFileState(n).file},getProxy:function(n){return i.isValid(n)&&i._getFileState(n).proxy},getResumableFilesData:function(){var n=[];return i._iterateResumeRecords(function(t,r){i.moveInProgressToRemaining(null,r.chunking.inProgress,r.chunking.remaining);var u={name:r.name,remaining:r.chunking.remaining,size:r.size,uuid:r.uuid};r.key&&(u.key=r.key);r.customResumeData&&(u.customResumeData=r.customResumeData);n.push(u)}),n},isAttemptingResume:function(n){return i._getFileState(n).attemptingResume},isResumable:function(n){return!!f&&i.isValid(n)&&!i._getFileState(n).notResumable},moveInProgressToRemaining:function(n,r,u){var o=i._getFileState(n)||{},e=o.chunking||{},f=r||e.inProgress,h=u||e.remaining;f&&(s(t.format("Moving these chunks from in-progress {}, to remaining.",JSON.stringify(f))),f.reverse(),t.each(f,function(n,t){h.unshift(t)}),f.length=0)},pause:function(n){if(i.isValid(n))return s(t.format("Aborting XHR upload for {} '{}' due to pause instruction.",n,o(n))),i._getFileState(n).paused=!0,a(n),!0},reevaluateChunking:function(n){if(f&&i.isValid(n)){var r,u,t=i._getFileState(n);if(delete t.chunking,t.chunking={},r=i._getTotalChunks(n),r>1||f.mandatory){for(t.chunking.enabled=!0,t.chunking.parts=r,t.chunking.remaining=[],u=0;u<r;u++)t.chunking.remaining.push(u);i._initTempState(n)}else t.chunking.enabled=!1}},updateBlob:function(n,t){i.isValid(n)&&(i._getFileState(n).file=t)},_clearXhrs:function(n){var r=i._getFileState(n).temp;t.each(r.ajaxRequesters,function(n){delete r.ajaxRequesters[n]});t.each(r.xhrs,function(n){delete r.xhrs[n]})},_createXhr:function(n,r){return i._registerXhr(n,r,t.createXhrInstance())},_getAjaxRequester:function(n,t){var r=null==t?-1:t;return i._getFileState(n).temp.ajaxRequesters[r]},_getChunkData:function(n,r){var e=h(n),s=u(n),a=i.getFile(n),f=e*r,o=f+e>=s?s:f+e,v=i._getTotalChunks(n),c=this._getFileState(n).temp.cachedChunks,l=c[r]||t.sliceBlob(a,f,o);return c[r]=l,{part:r,start:f,end:o,count:v,blob:l,size:o-f}},_getChunkDataForCallback:function(n){return{partIndex:n.part,startByte:n.start+1,endByte:n.end,totalParts:n.count}},_getLocalStorageId:function(n){var r=o(n),f=u(n),e=h(n),s=w(n),l=c.customKeys(n),i=t.format("qq{}resume{}-{}-{}-{}-{}",v,"5.0",r,f,e,s);return l.forEach(function(n){i+="-"+n}),i},_getMimeType:function(n){return i.getFile(n).type},_getPersistableData:function(n){return i._getFileState(n).chunking},_getTotalChunks:function(n){if(f){var t=u(n),i=h(n);return Math.ceil(t/i)}},_getXhr:function(n,t){var r=null==t?-1:t;return i._getFileState(n).temp.xhrs[r]},_getXhrs:function(n){return i._getFileState(n).temp.xhrs},_iterateResumeRecords:function(n){e&&t.each(localStorage,function(i,r){0===i.indexOf(t.format("qq{}resume",v))&&n(i,JSON.parse(r))})},_initTempState:function(n){i._getFileState(n).temp={ajaxRequesters:{},chunkProgress:{},xhrs:{},cachedChunks:{}}},_markNotResumable:function(n){i._getFileState(n).notResumable=!0},_maybeDeletePersistedChunkData:function(n){var t;return!!(e&&i.isResumable(n)&&(t=i._getLocalStorageId(n),t&&localStorage.getItem(t)))&&(localStorage.removeItem(t),!0)},_maybePrepareForResume:function(n){var f,r,u=i._getFileState(n);e&&void 0===u.key&&(f=i._getLocalStorageId(n),r=localStorage.getItem(f),r&&(r=JSON.parse(r),b(r.uuid)?i._markNotResumable(n):(s(t.format("Identified file with ID {} and name of {} as resumable.",n,o(n))),k(n,r.uuid),u.key=r.key,u.chunking=r.chunking,u.loaded=r.loaded,u.customResumeData=r.customResumeData,u.attemptingResume=!0,i.moveInProgressToRemaining(n))))},_maybePersistChunkedState:function(n){var r,f,h=i._getFileState(n),c;if(e&&i.isResumable(n)){c=d(n);r=i._getLocalStorageId(n);f={name:o(n),size:u(n),uuid:p(n),key:h.key,chunking:h.chunking,loaded:h.loaded,lastUpdated:Date.now()};c&&(f.customResumeData=c);try{localStorage.setItem(r,JSON.stringify(f))}catch(r){s(t.format("Unable to save resume data for '{}' due to error: '{}'.",n,r.toString()),"warn")}}},_registerProgressHandler:function(n,r,f){var s=i._getXhr(n,r),e=o(n),h={simple:function(t,i){var r=u(n);t===i?l(n,e,r,r):l(n,e,t>=r?r-1:t,r)},chunked:function(o,s){var h=i._getFileState(n).temp.chunkProgress,a=i._getFileState(n).loaded,v=o,y=s,p=u(n),w=v-(y-f),c=a;h[r]=w;t.each(h,function(n,t){c+=t});l(n,e,c,p)}};s.upload.onprogress=function(n){n.lengthComputable&&h[null==f?"simple":"chunked"](n.loaded,n.total)}},_registerXhr:function(n,t,r,u){var e=null==t?-1:t,f=i._getFileState(n).temp;return f.xhrs=f.xhrs||{},f.ajaxRequesters=f.ajaxRequesters||{},f.xhrs[e]=r,u&&(f.ajaxRequesters[e]=u),r},_removeExpiredChunkingRecords:function(){var n=c.recordsExpireIn;i._iterateResumeRecords(function(t,i){var r=new Date(i.lastUpdated);r.setDate(r.getDate()+n);r.getTime()<=Date.now()&&(s("Removing expired resume record with key "+t),localStorage.removeItem(t))})},_shouldChunkThisFile:function(n){var t=i._getFileState(n);if(t)return t.chunking||i.reevaluateChunking(n),t.chunking.enabled}})};t.DeleteFileAjaxRequester=function(n){"use strict";function u(){return"POST"===i.method.toUpperCase()?{_method:"DELETE"}:{}}var r,i={method:"DELETE",uuidParamName:"qquuid",endpointStore:{},maxConnections:3,customHeaders:function(){return{}},paramsStore:{},cors:{expected:!1,sendCredentials:!1},log:function(){},onDelete:function(){},onDeleteComplete:function(){}};t.extend(i,n);r=t.extend(this,new t.AjaxRequester({acceptHeader:"application/json",validMethods:["POST","DELETE"],method:i.method,endpointStore:i.endpointStore,paramsStore:i.paramsStore,mandatedParams:u(),maxConnections:i.maxConnections,customHeaders:function(n){return i.customHeaders.get(n)},log:i.log,onSend:i.onDelete,onComplete:i.onDeleteComplete,cors:i.cors}));t.extend(this,{sendDelete:function(n,t,u){var f=u||{};i.log("Submitting delete file request for "+n);"DELETE"===i.method?r.initTransport(n).withPath(t).withParams(f).send():(f[i.uuidParamName]=t,r.initTransport(n).withParams(f).send())}})},function(){function u(n){var t,r=n.naturalWidth,u=n.naturalHeight,i=document.createElement("canvas");return r*u>1048576&&(i.width=i.height=1,t=i.getContext("2d"),t.drawImage(n,-r+1,0),0===t.getImageData(0,0,1,1).data[3])}function f(n,t,i){var u,s,h,f,e=document.createElement("canvas"),o=0,c=i,r=i;for(e.width=1,e.height=i,u=e.getContext("2d"),u.drawImage(n,0,0),s=u.getImageData(0,0,1,i).data;r>o;)h=s[4*(r-1)+3],0===h?c=r:o=r,r=c+o>>1;return f=r/i,0===f?1:f}function e(i,r,u,f){var e=document.createElement("canvas"),s=u.mime||"image/jpeg",o=new t.Promise;return n(i,r,e,u,f).then(function(){o.success(e.toDataURL(s,u.quality||.8))}),o}function o(n){if(!t.ios())throw new t.Error("Downsampled dimensions can only be reliably calculated for iOS!");if(n.origHeight*n.origWidth>5241e3)return{newHeight:Math.round(Math.sqrt(5241e3*(n.origHeight/n.origWidth))),newWidth:Math.round(Math.sqrt(5241e3*(n.origWidth/n.origHeight)))}}function n(n,r,e,h,c){var v,y=n.naturalWidth,p=n.naturalHeight,l=h.width,a=h.height,w=e.getContext("2d"),b=new t.Promise;return w.save(),h.resize?s({blob:r,canvas:e,image:n,imageHeight:p,imageWidth:y,orientation:h.orientation,resize:h.resize,targetHeight:a,targetWidth:l}):(t.supportedFeatures.unlimitedScaledImageSize||(v=o({origWidth:l,origHeight:a}),v&&(t.log(t.format("Had to reduce dimensions due to device limitations from {}w / {}h to {}w / {}h",l,a,v.newWidth,v.newHeight),"warn"),l=v.newWidth,a=v.newHeight)),i(e,l,a,h.orientation),t.ios()?function(){u(n)&&(y/=2,p/=2);var r,e,o,t=1024,i=document.createElement("canvas"),k=c?f(n,y,p):1,h=Math.ceil(t*l/y),v=Math.ceil(t*a/p/k),s=0,b=0;for(i.width=i.height=t,r=i.getContext("2d");s<p;){for(e=0,o=0;e<y;)r.clearRect(0,0,t,t),r.drawImage(n,-e,-s),w.drawImage(i,0,0,t,t,o,b,h,v),e+=t,o+=h;s+=t;b+=v}w.restore();i=r=null}():w.drawImage(n,0,0,l,a),e.qqImageRendered&&e.qqImageRendered(),b.success(),b)}function s(n){var h=n.blob,e=n.image,c=n.imageHeight,l=n.imageWidth,a=n.orientation,u=new t.Promise,v=n.resize,f=document.createElement("canvas"),y=f.getContext("2d"),r=n.canvas,o=n.targetHeight,s=n.targetWidth;return i(f,l,c,a),r.height=o,r.width=s,y.drawImage(e,0,0),v({blob:h,height:o,image:e,sourceCanvas:f,targetCanvas:r,width:s}).then(function(){r.qqImageRendered&&r.qqImageRendered();u.success()},u.failure),u}function i(n,t,i,r){switch(r){case 5:case 6:case 7:case 8:n.width=i;n.height=t;break;default:n.width=t;n.height=i}var u=n.getContext("2d");switch(r){case 2:u.translate(t,0);u.scale(-1,1);break;case 3:u.translate(t,i);u.rotate(Math.PI);break;case 4:u.translate(0,i);u.scale(1,-1);break;case 5:u.rotate(.5*Math.PI);u.scale(1,-1);break;case 6:u.rotate(.5*Math.PI);u.translate(0,-i);break;case 7:u.rotate(.5*Math.PI);u.translate(t,-i);u.scale(-1,1);break;case 8:u.rotate(-.5*Math.PI);u.translate(-t,0)}}function r(n,t){var i=this;window.Blob&&n instanceof Blob&&function(){var t=new Image,r=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;if(!r)throw Error("No createObjectURL function found to create blob url");t.src=r.createObjectURL(n);i.blob=n;n=t}();n.naturalWidth||n.naturalHeight||(n.onload=function(){var n=i.imageLoadListeners;n&&(i.imageLoadListeners=null,setTimeout(function(){for(var t=0,i=n.length;t<i;t++)n[t]()},0))},n.onerror=t,this.imageLoadListeners=[]);this.srcImage=n}r.prototype.render=function(i,r){r=r||{};var h,c=this,o=this.srcImage.naturalWidth,s=this.srcImage.naturalHeight,u=r.width,f=r.height,l=r.maxWidth,a=r.maxHeight,v=!this.blob||"image/jpeg"===this.blob.type,y=i.tagName.toLowerCase();if(this.imageLoadListeners)return void this.imageLoadListeners.push(function(){c.render(i,r)});u&&!f?f=s*u/o<<0:f&&!u?u=o*f/s<<0:(u=o,f=s);l&&u>l&&(u=l,f=s*u/o<<0);a&&f>a&&(f=a,u=o*f/s<<0);h={width:u,height:f};t.each(r,function(n,t){h[n]=t});"img"===y?function(){var n=i.src;e(c.srcImage,c.blob,h,v).then(function(t){i.src=t;n===i.src&&i.onload()})}():"canvas"===y&&n(this.srcImage,this.blob,i,h,v);"function"==typeof this.onrender&&this.onrender(i)};t.MegaPixImage=r}();t.ImageGenerator=function(n){"use strict";function r(n){return"img"===n.tagName.toLowerCase()}function u(n){return"canvas"===n.tagName.toLowerCase()}function h(){return void 0!==(new Image).crossOrigin}function c(){var n=document.createElement("canvas");return n.getContext&&n.getContext("2d")}function e(n){var r=n.split("/"),u=r[r.length-1].split("?")[0],i=t.getExtension(u);switch(i=i&&i.toLowerCase()){case"jpeg":case"jpg":return"image/jpeg";case"png":return"image/png";case"bmp":return"image/bmp";case"gif":return"image/gif";case"tiff":case"tif":return"image/tiff"}}function f(n){var r,u,f,i=document.createElement("a");return i.href=n,r=i.protocol,f=i.port,u=i.hostname,r.toLowerCase()!==window.location.protocol.toLowerCase()||u.toLowerCase()!==window.location.hostname.toLowerCase()||f!==window.location.port&&!t.ie()}function l(t,i){t.onload=function(){t.onload=null;t.onerror=null;i.success(t)};t.onerror=function(){t.onload=null;t.onerror=null;n("Problem drawing thumbnail!","error");i.failure(t,"Problem drawing thumbnail!")}}function a(n,t){n.qqImageRendered=function(){t.success(n)}}function i(i,f){var e=r(i)||u(i);return r(i)?l(i,f):u(i)?a(i,f):(f.failure(i),n(t.format("Element container of type {} is not supported!",i.tagName),"error")),e}function v(r,u,f){var e=new t.Promise,s=new t.Identify(r,n),o=f.maxSize,h=null==f.orient||f.orient,c=function(){u.onerror=null;u.onload=null;n("Could not render preview, file may be too large!","error");e.failure(u,"Browser cannot render image!")};return s.isPreviewable().then(function(s){var a={parse:function(){return(new t.Promise).success()}},v=h?new t.Exif(r,n):a,l=new t.MegaPixImage(r,c);i(u,e)&&v.parse().then(function(n){var t=n&&n.Orientation;l.render(u,{maxWidth:o,maxHeight:o,orientation:t,mime:s,resize:f.customResizeFunction})},function(i){n(t.format("EXIF data could not be parsed ({}).  Assuming orientation = 1.",i));l.render(u,{maxWidth:o,maxHeight:o,mime:s,resize:f.customResizeFunction})})},function(){n("Not previewable");e.failure(u,"Not previewable")}),e}function o(n,r,u,o,s){var h=new Image,c=new t.Promise;i(h,c);f(n)&&(h.crossOrigin="anonymous");h.src=n;c.then(function(){i(r,u);new t.MegaPixImage(h).render(r,{maxWidth:o,maxHeight:o,mime:e(n),resize:s})},u.failure)}function s(n,r,u,f){i(r,u);t(r).css({maxWidth:f+"px",maxHeight:f+"px"});r.src=n}function y(n,e,l){var a=new t.Promise,y=l.scale,v=y?l.maxSize:null;return y&&r(e)?c()?f(n)&&!h()?s(n,e,a,v):o(n,e,a,v):s(n,e,a,v):u(e)?o(n,e,a,v):i(e,a)&&(e.src=n),a}t.extend(this,{generate:function(i,r,u){return t.isString(i)?(n("Attempting to update thumbnail based on server response."),y(i,r,u||{})):(n("Attempting to draw client-side image preview."),v(i,r,u||{}))}});this._testing={};this._testing.isImg=r;this._testing.isCanvas=u;this._testing.isCrossOrigin=f;this._testing.determineMimeOfFileName=e};t.Exif=function(n,i){"use strict";function r(n){for(var t=0,i=0;n.length>0;)t+=parseInt(n.substring(0,2),16)*Math.pow(2,i),n=n.substring(2,n.length),i+=8;return t}function u(i,r){var f=i,e=r;return void 0===f&&(f=2,e=new t.Promise),t.readBlobToHex(n,f,4).then(function(n){var t,i=/^ffe([0-9])/.exec(n);i?"1"!==i[1]?(t=parseInt(n.slice(4,8),16),u(f+t+2,e)):e.success(f):e.failure("No EXIF header to be found!")}),e}function e(){var i=new t.Promise;return t.readBlobToHex(n,0,6).then(function(n){0!==n.indexOf("ffd8")?i.failure("Not a valid JPEG!"):u().then(function(n){i.success(n)},function(n){i.failure(n)})}),i}function o(i){var r=new t.Promise;return t.readBlobToHex(n,i+10,2).then(function(n){r.success("4949"===n)}),r}function s(i,u){var f=new t.Promise;return t.readBlobToHex(n,i+18,2).then(function(n){if(u)return f.success(r(n));f.success(parseInt(n,16))}),f}function h(i,r){var u=i+20,f=12*r;return t.readBlobToHex(n,u,f)}function c(n){for(var i=[],t=0;t+24<=n.length;)i.push(n.slice(t,t+24)),t+=24;return i}function l(n,i){var u=t.extend([],a),e={};return t.each(i,function(t,i){var o,h,c,l=i.slice(0,4),s=n?r(l):parseInt(l,16),a=u.indexOf(s);if(a>=0&&(h=f[s].name,c=f[s].bytes,o=i.slice(16,16+2*c),e[h]=n?r(o):parseInt(o,16),u.splice(a,1)),0===u.length)return!1}),e}var a=[274],f={274:{name:"Orientation",bytes:2}};t.extend(this,{parse:function(){var u=new t.Promise,r=function(n){i(t.format("EXIF header parse failed: '{}' ",n));u.failure(n)};return e().then(function(f){i(t.format("Moving forward with EXIF header parsing for '{}'",void 0===n.name?"blob":n.name));o(f).then(function(n){i(t.format("EXIF Byte order is {} endian",n?"little":"big"));s(f,n).then(function(e){i(t.format("Found {} APP1 directory entries",e));h(f,e).then(function(t){var r=c(t),f=l(n,r);i("Successfully parsed some EXIF tags");u.success(f)},r)},r)},r)},r),u}});this._testing={};this._testing.parseLittleEndian=r};t.Identify=function(n,i){"use strict";function r(n,i){var r=!1,u=[].concat(n);return t.each(u,function(n,t){if(0===i.indexOf(t))return r=!0,!1}),r}t.extend(this,{isPreviewable:function(){var o=this,u=new t.Promise,f=!1,e=void 0===n.name?"blob":n.name;return i(t.format("Attempting to determine if {} can be rendered in this browser",e)),i("First pass: check type attribute of blob object."),this.isPreviewableSync()?(i("Second pass: check for magic bytes in file header."),t.readBlobToHex(n,0,4).then(function(n){t.each(o.PREVIEWABLE_MIME_TYPES,function(i,e){if(r(e,n))return("image/tiff"!==i||t.supportedFeatures.tiffPreviews)&&(f=!0,u.success(i)),!1});i(t.format("'{}' is {} able to be rendered in this browser",e,f?"":"NOT"));f||u.failure()},function(){i("Error reading file w/ name '"+e+"'.  Not able to be rendered in this browser.");u.failure()})):u.failure(),u},isPreviewableSync:function(){var u=n.type,f=t.indexOf(Object.keys(this.PREVIEWABLE_MIME_TYPES),u)>=0,r=!1,e=void 0===n.name?"blob":n.name;return f&&(r="image/tiff"!==u||t.supportedFeatures.tiffPreviews),!r&&i(e+" is not previewable in this browser per the blob's type attr"),r}})};t.Identify.prototype.PREVIEWABLE_MIME_TYPES={"image/jpeg":"ffd8ff","image/gif":"474946","image/png":"89504e","image/bmp":"424d","image/tiff":["49492a00","4d4d002a"]};t.ImageValidation=function(n,i){"use strict";function r(n){var i=!1;return t.each(n,function(n,t){if(t>0)return i=!0,!1}),i}function u(){var r=new t.Promise;return new t.Identify(n,i).isPreviewable().then(function(){var t=new Image,u=window.URL&&window.URL.createObjectURL?window.URL:window.webkitURL&&window.webkitURL.createObjectURL?window.webkitURL:null;u?(t.onerror=function(){i("Cannot determine dimensions for image.  May be too large.","error");r.failure()},t.onload=function(){r.success({width:this.width,height:this.height})},t.src=u.createObjectURL(n)):(i("No createObjectURL function available to generate image URL!","error"),r.failure())},r.failure),r}function f(n,i){var r;return t.each(n,function(n,t){if(t>0){var u=/(max|min)(Width|Height)/.exec(n),e=u[2].charAt(0).toLowerCase()+u[2].slice(1),f=i[e];switch(u[1]){case"min":if(f<t)return r=n,!1;break;case"max":if(f>t)return r=n,!1}}}),r}this.validate=function(n){var e=new t.Promise;return i("Attempting to validate image."),r(n)?u().then(function(t){var i=f(n,t);i?e.failure(i):e.success()},e.success):e.success(),e}};t.Session=function(n){"use strict";function r(n){if(t.isArray(n))return!0;i.log("Session response is not an array.","error")}function u(n,u,f,e){var o=!1;u=u&&r(n);u&&t.each(n,function(n,r){if(null==r.uuid)o=!0,i.log(t.format("Session response item {} did not include a valid UUID - ignoring.",n),"error");else if(null==r.name)o=!0,i.log(t.format("Session response item {} did not include a valid name - ignoring.",n),"error");else try{return i.addFileRecord(r),!0}catch(n){o=!0;i.log(n.message,"error")}return!1});e[u&&!o?"success":"failure"](n,f)}var i={endpoint:null,params:{},customHeaders:{},cors:{},addFileRecord:function(){},log:function(){}};t.extend(i,n,!0);this.refresh=function(){var n=new t.Promise,r=function(t,i,r){u(t,i,r,n)},f=t.extend({},i);return new t.SessionAjaxRequester(t.extend(f,{onComplete:r})).queryServer(),n}};t.SessionAjaxRequester=function(n){"use strict";function u(n,r,u){var f=null;if(null!=r.responseText)try{f=t.parseJson(r.responseText)}catch(n){i.log("Problem parsing session response: "+n.message,"error");u=!0}i.onComplete(f,!u,r)}var r,i={endpoint:null,customHeaders:{},params:{},cors:{expected:!1,sendCredentials:!1},onComplete:function(){},log:function(){}};t.extend(i,n);r=t.extend(this,new t.AjaxRequester({acceptHeader:"application/json",validMethods:["GET"],method:"GET",endpointStore:{get:function(){return i.endpoint}},customHeaders:i.customHeaders,log:i.log,onComplete:u,cors:i.cors}));t.extend(this,{queryServer:function(){var n=t.extend({},i.params);i.log("Session query request.");r.initTransport("sessionRefresh").withParams(n).withCacheBuster().send()}})};t.Scaler=function(n,i){"use strict";var u=n.customResizer,f=n.sendOriginal,e=n.orient,o=n.defaultType,s=n.defaultQuality/100,h=n.failureText,c=n.includeExif,r=this._getSortedSizes(n.sizes);t.extend(this,{enabled:t.supportedFeatures.scaling&&r.length>0,getFileRecords:function(n,l,a){var y=this,p=[],v=a.blob?a.blob:a;return new t.Identify(v,i).isPreviewableSync()?(t.each(r,function(n,r){var f=y._determineOutputType({defaultType:o,requestedType:r.type,refType:v.type});p.push({uuid:t.getUniqueId(),name:y._getName(l,{name:r.name,type:f,refType:v.type}),blob:new t.BlobProxy(v,t.bind(y._generateScaledImage,y,{customResizeFunction:u,maxSize:r.maxSize,orient:e,type:f,quality:s,failedText:h,includeExif:c,log:i}))})}),p.push({uuid:n,name:l,size:v.size,blob:f?v:null})):p.push({uuid:n,name:l,size:v.size,blob:v}),p},handleNewFile:function(n,i,r,u,f,e,o,s){var v=this,l=(n.qqButtonId||n.blob&&n.blob.qqButtonId,[]),h=null,y=s.addFileToHandler,c=s.uploadData,a=s.paramsStore,p=t.getUniqueId();t.each(v.getFileRecords(r,i,n),function(n,i){var r,u=i.size;i.blob instanceof t.BlobProxy&&(u=-1);r=c.addFile({uuid:i.uuid,name:i.name,size:u,batchId:e,proxyGroupId:p});i.blob instanceof t.BlobProxy?l.push(r):h=r;i.blob?(y(r,i.blob),f.push({id:r,file:i.blob})):c.setStatus(r,t.status.REJECTED)});null!==h&&(t.each(l,function(n,t){var i={qqparentuuid:c.retrieve({id:h}).uuid,qqparentsize:c.retrieve({id:h}).size};i[o]=c.retrieve({id:t}).uuid;c.setParentId(t,h);a.addReadOnly(t,i)}),l.length&&function(){var n={};n[o]=c.retrieve({id:h}).uuid;a.addReadOnly(h,n)}())}})};t.extend(t.Scaler.prototype,{scaleImage:function(n,i,r){"use strict";if(!t.supportedFeatures.scaling)throw new t.Error("Scaling is not supported in this browser!");var u=new t.Promise,e=r.log,o=r.getFile(n),f=r.uploadData.retrieve({id:n}),s=f&&f.name,h=f&&f.uuid,c={customResizer:i.customResizer,sendOriginal:!1,orient:i.orient,defaultType:i.type||null,defaultQuality:i.quality,failedToScaleText:"Unable to scale",sizes:[{name:"",maxSize:i.maxSize}]},l=new t.Scaler(c,e);return t.Scaler&&t.supportedFeatures.imagePreviews&&o?t.bind(function(){var i=l.getFileRecords(h,s,o)[0];i&&i.blob instanceof t.BlobProxy?i.blob.create().then(u.success,u.failure):(e(n+" is not a scalable image!","error"),u.failure())},this)():(u.failure(),e("Could not generate requested scaled image for "+n+".  Scaling is either not possible in this browser, or the file could not be located.","error")),u},_determineOutputType:function(n){"use strict";var i=n.requestedType,r=n.defaultType,u=n.refType;return r||i?i&&t.indexOf(Object.keys(t.Identify.prototype.PREVIEWABLE_MIME_TYPES),i)>=0?"image/tiff"===i?t.supportedFeatures.tiffPreviews?i:r:i:r:"image/jpeg"!==u?"image/png":u},_getName:function(n,i){"use strict";var f=n.lastIndexOf("."),e=i.type||"image/png",s=i.refType,r="",o=t.getExtension(n),u="";return i.name&&i.name.trim().length&&(u=" ("+i.name+")"),f>=0?(r=n.substr(0,f),s!==e&&(o=e.split("/")[1]),r+=u+"."+o):r=n+u,r},_getSortedSizes:function(n){"use strict";return n=t.extend([],n),n.sort(function(n,t){return n.maxSize>t.maxSize?1:n.maxSize<t.maxSize?-1:0})},_generateScaledImage:function(n,i){"use strict";var o=this,s=n.customResizeFunction,r=n.log,h=n.maxSize,c=n.orient,f=n.type,l=n.quality,a=n.failedText,v=n.includeExif&&"image/jpeg"===i.type&&"image/jpeg"===f,u=new t.Promise,y=new t.ImageGenerator(r),e=document.createElement("canvas");return r("Attempting to generate scaled version for "+i.name),y.generate(i,e,{maxSize:h,orient:c,customResizeFunction:s}).then(function(){var n=e.toDataURL(f,l),s=function(){r("Success generating scaled version for "+i.name);var f=t.dataUriToBlob(n);u.success(f)};v?o._insertExifHeader(i,n,r).then(function(t){n=t;s()},function(){r("Problem inserting EXIF header into scaled image.  Using scaled image w/out EXIF data.","error");s()}):s()},function(){r("Failed attempt to generate scaled version for "+i.name,"error");u.failure(a)}),u},_insertExifHeader:function(n,i,r){"use strict";var u=new FileReader,f=new t.Promise,e="";return u.onload=function(){e=u.result;f.success(t.ExifRestorer.restore(e,i))},u.onerror=function(){r("Problem reading "+n.name+" during attempt to transfer EXIF data to scaled version.","error");f.failure()},u.readAsDataURL(n),f},_dataUriToBlob:function(n){"use strict";var i,u,r,f;return i=n.split(",")[0].indexOf("base64")>=0?atob(n.split(",")[1]):decodeURI(n.split(",")[1]),u=n.split(",")[0].split(":")[1].split(";")[0],r=new ArrayBuffer(i.length),f=new Uint8Array(r),t.each(i,function(n,t){f[n]=t.charCodeAt(0)}),this._createBlob(r,u)},_createBlob:function(n,t){"use strict";var r=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=r&&new r;return i?(i.append(n),i.getBlob(t)):new Blob([n],{type:t})}});t.ExifRestorer=function(){var n={};return n.KEY_STR="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",n.encode64=function(n){var u,t,o,s,f,h="",i="",r="",e=0;do u=n[e++],t=n[e++],i=n[e++],o=u>>2,s=(3&u)<<4|t>>4,f=(15&t)<<2|i>>6,r=63&i,isNaN(t)?f=r=64:isNaN(i)&&(r=64),h=h+this.KEY_STR.charAt(o)+this.KEY_STR.charAt(s)+this.KEY_STR.charAt(f)+this.KEY_STR.charAt(r),u=t=i="",o=s=f=r="";while(e<n.length);return h},n.restore=function(n,t){if(!n.match("data:image/jpeg;base64,"))return t;var i=this.decode64(n.replace("data:image/jpeg;base64,","")),r=this.slice2Segments(i),u=this.exifManipulation(t,r);return"data:image/jpeg;base64,"+this.encode64(u)},n.exifManipulation=function(n,t){var i=this.getExifArray(t),r=this.insertExif(n,i);return new Uint8Array(r)},n.getExifArray=function(n){for(var t,i=0;i<n.length;i++)if(t=n[i],255==t[0]&225==t[1])return t;return[]},n.insertExif=function(n,t){var f=n.replace("data:image/jpeg;base64,",""),r=this.decode64(f),u=r.indexOf(255,3),e=r.slice(0,u),o=r.slice(u),i=e;return i=i.concat(t),i=i.concat(o)},n.slice2Segments=function(n){for(var t=0,i=[];;){if(255==n[t]&218==n[t+1])break;if(255==n[t]&216==n[t+1])t+=2;else{var u=256*n[t+2]+n[t+3],r=t+u+2,f=n.slice(t,r);i.push(f);t=r}if(t>n.length)break}return i},n.decode64=function(n){var e,o,s,r,t,h="",u="",i=0,f=[];if(/[^A-Za-z0-9\+\/\=]/g.exec(n))throw new Error("There were invalid base64 characters in the input text.  Valid base64 characters are A-Z, a-z, 0-9, '+', '/',and '='");n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do s=this.KEY_STR.indexOf(n.charAt(i++)),r=this.KEY_STR.indexOf(n.charAt(i++)),t=this.KEY_STR.indexOf(n.charAt(i++)),u=this.KEY_STR.indexOf(n.charAt(i++)),e=s<<2|r>>4,o=(15&r)<<4|t>>2,h=(3&t)<<6|u,f.push(e),64!=t&&f.push(o),64!=u&&f.push(h),e=o=h="",s=r=t=u="";while(i<n.length);return f},n}();t.TotalProgress=function(n,i){"use strict";var r={},f=0,u=0,o=-1,s=-1,h=function(t,i){t===o&&i===s||n(t,i);o=t;s=i},l=function(n,i){var r=!0;return t.each(n,function(n,u){if(t.indexOf(i,u)>=0)return r=!1,!1}),r},a=function(n){e(n,-1,-1);delete r[n]},v=function(n,t,i){(0===t.length||l(t,i))&&(h(u,u),this.reset())},c=function(n){var t=i(n);t>0&&(e(n,0,t),r[n]={loaded:0,total:t})},e=function(n,t,i){var e=r[n]?r[n].loaded:0,o=r[n]?r[n].total:0;t===-1&&i===-1?(f-=e,u-=o):(t&&(f+=t-e),i&&(u+=i-o));h(f,u)};t.extend(this,{onAllComplete:v,onStatusChange:function(n,i,r){r===t.status.CANCELED||r===t.status.REJECTED?a(n):r===t.status.SUBMITTING&&c(n)},onIndividualProgress:function(n,t,i){e(n,t,i);r[n]={loaded:t,total:i}},onNewSize:function(n){c(n)},reset:function(){r={};f=0;u=0}})};t.PasteSupport=function(n){"use strict";function u(n){return n.type&&0===n.type.indexOf("image/")}function f(){r=t(i.targetElement).attach("paste",function(n){var r=n.clipboardData;r&&t.each(r.items,function(n,t){if(u(t)){var r=t.getAsFile();i.callbacks.pasteReceived(r)}})})}function e(){r&&r()}var i,r;i={targetElement:null,callbacks:{log:function(){},pasteReceived:function(){}}};t.extend(i,n);f();t.extend(this,{reset:function(){e()}})};t.FormSupport=function(n,i,r){"use strict";function o(n){n.getAttribute("action")&&(e.newEndpoint=n.getAttribute("action"))}function f(n,t){if(!n.checkValidity||n.checkValidity())return!0;r("Form did not pass validation checks - will not upload.","error");t()}function s(n){var r=n.submit;t(n).attach("submit",function(t){t=t||window.event;t.preventDefault?t.preventDefault():t.returnValue=!1;f(n,r)&&i()});n.submit=function(){f(n,r)&&i()}}function h(n){return n&&(t.isString(n)&&(n=document.getElementById(n)),n&&(r("Attaching to form element."),o(n),c&&s(n))),n}var e=this,c=n.interceptSubmit,u=n.element,l=n.autoUpload;t.extend(this,{newEndpoint:null,newAutoUpload:l,attachedToForm:!1,getFormInputsAsObject:function(){return null==u?null:e._form2Obj(u)}});u=h(u);this.attachedToForm=!!u};t.extend(t.FormSupport.prototype,{_form2Obj:function(n){"use strict";var i={},u=function(n){return t.indexOf(["button","image","reset","submit"],n.toLowerCase())<0},f=function(n){return t.indexOf(["checkbox","radio"],n.toLowerCase())>=0},r=function(n){return!(!f(n.type)||n.checked)||n.disabled&&"hidden"!==n.type.toLowerCase()},e=function(n){var i=null;return t.each(t(n).children(),function(n,t){if("option"===t.tagName.toLowerCase()&&t.selected)return i=t.value,!1}),i};return t.each(n.elements,function(n,f){if((t.isInput(f,!0)||"textarea"===f.tagName.toLowerCase())&&u(f.type)&&!r(f))i[f.name]=f.value;else if("select"===f.tagName.toLowerCase()&&!r(f)){var o=e(f);null!==o&&(i[f.name]=o)}}),i}});t.traditional=t.traditional||{};t.traditional.FormUploadHandler=function(n,i){"use strict";function o(n,t){var f,e,i;try{e=t.contentDocument||t.contentWindow.document;i=e.body.innerHTML;u("converting iframe's innerHTML to JSON");u("innerHTML = "+i);i&&i.match(/^<pre/i)&&(i=e.body.firstChild.firstChild.nodeValue);f=r._parseJsonResponse(i)}catch(n){u("Error when attempting to parse form upload response ("+n.message+")","error");f={success:!1}}return f}function s(t,i){var u=n.paramsStore.get(t),o="get"===n.method.toLowerCase()?"GET":"POST",s=n.endpointStore.get(t),h=f(t);return u[n.uuidName]=e(t),u[n.filenameParam]=h,r._initFormForUpload({method:o,endpoint:s,params:u,paramsInBody:n.paramsInBody,targetName:i.name})}var r=this,f=i.getName,e=i.getUuid,u=i.log;this.uploadFile=function(i){var f,c=r.getInput(i),e=r._createIframe(i),h=new t.Promise;return f=s(i,e),f.appendChild(c),r._attachLoadEvent(e,function(f){u("iframe loaded");var s=f?f:o(i,e);r._detachLoadEvent(i);n.cors.expected||t(e).remove();s.success?h.success(s):h.failure(s)}),u("Sending upload request for "+i),f.submit(),t(f).remove(),h};t.extend(this,new t.FormUploadHandler({options:{isCors:n.cors.expected,inputName:n.inputName},proxy:{onCancel:n.onCancel,getName:f,getUuid:e,log:u}}))};t.traditional=t.traditional||{};t.traditional.XhrUploadHandler=function(n,i){"use strict";var r=this,o=i.getName,s=i.getSize,h=i.getUuid,u=i.log,f=n.forceMultipart||n.paramsInBody,v=function(t,i,r){var u=s(t),e=o(t);n.omitDefaultParams||(i[n.chunking.paramNames.partIndex]=r.part,i[n.chunking.paramNames.partByteOffset]=r.start,i[n.chunking.paramNames.chunkSize]=r.size,i[n.chunking.paramNames.totalParts]=r.count,i[n.totalFileSizeName]=u);f&&!n.omitDefaultParams&&(i[n.filenameParam]=e)},y=new t.traditional.AllChunksDoneAjaxRequester({cors:n.cors,endpoint:n.chunking.success.endpoint,headers:n.chunking.success.headers,jsonPayload:n.chunking.success.jsonPayload,log:u,method:n.chunking.success.method,params:n.chunking.success.params}),c=function(n,i){var r=new t.Promise;return i.onreadystatechange=function(){if(4===i.readyState){var t=b(n,i);t.success?r.success(t.response,i):r.failure(t.response,i)}},r},p=function(t){var i=n.paramsStore.get(t),u=o(t),f=s(t);return i[n.uuidName]=h(t),i[n.filenameParam]=u,i[n.totalFileSizeName]=f,i[n.chunking.paramNames.totalParts]=r._getTotalChunks(t),i},w=function(i,r){return t.indexOf([200,201,202,203,204],i.status)<0||n.requireSuccessJson&&!r.success||r.reset},b=function(n,t){var i;return u("xhr - server response received for "+n),u("responseText = "+t.responseText),i=e(!0,t),{success:!w(t,i),response:i}},e=function(i,r){var f={};try{u(t.format("Received response status {} with body: {}",r.status,r.responseText));f=t.parseJson(r.responseText)}catch(r){i&&n.requireSuccessJson&&u("Error when attempting to parse xhr response text ("+r.message+")","error")}return f},k=function(i){var u=new t.Promise;return y.complete(i,r._createXhr(i),p(i),n.customHeaders.get(i)).then(function(n){u.success(e(!1,n),n)},function(n){u.failure(e(!1,n),n)}),u},l=function(i){var r,a=i.fileOrBlob,u=i.id,v=i.xhr,e=i.xhrOverrides||{},y=i.customParams||{},b=i.params||{},p=e.params||{},c=f?new FormData:null,k=e.method||n.method,l=e.endpoint||n.endpointStore.get(u),w=o(u),d=s(u);return n.omitDefaultParams?(r=t.extend({},y),t.extend(r,p)):(r=t.extend({},y),t.extend(r,p),t.extend(r,b),r[n.uuidName]=h(u),r[n.filenameParam]=w,f?r[n.totalFileSizeName]=d:n.paramsInBody||(r[n.inputName]=w)),n.paramsInBody||(l=t.obj2url(r,l)),v.open(k,l,!0),n.cors.expected&&n.cors.sendCredentials&&(v.withCredentials=!0),f?(n.paramsInBody&&t.obj2FormData(r,c),c.append(n.inputName,a),c):a},a=function(i){var e=i.headerOverrides,o=i.id,u=i.xhr,s,h;e?t.each(e,function(n,t){u.setRequestHeader(n,t)}):(s=n.customHeaders.get(o),h=r.getFile(o),u.setRequestHeader("Accept","application/json"),u.setRequestHeader("X-Requested-With","XMLHttpRequest"),u.setRequestHeader("Cache-Control","no-cache"),f||(u.setRequestHeader("Content-Type","application/octet-stream"),u.setRequestHeader("X-Mime-Type",h.type)),t.each(s,function(n,t){u.setRequestHeader(n,t)}))};t.extend(this,{uploadChunk:function(t){var s,h,y,i=t.id,f=t.chunkIdx,p=t.overrides||{},w=t.resuming,e=r._getChunkData(i,f),u=r._createXhr(i,f),o={};return s=c(i,u),r._registerProgressHandler(i,f,e.size),y=n.paramsStore.get(i),v(i,o,e),w&&(o[n.resume.paramNames.resuming]=!0),h=l({fileOrBlob:e.blob,id:i,customParams:y,params:o,xhr:u,xhrOverrides:p}),a({headerOverrides:p.headers,id:i,xhr:u}),u.send(h),s},uploadFile:function(t){var u,i,f,e,o=r.getFile(t);return i=r._createXhr(t),r._registerProgressHandler(t),u=c(t,i),f=n.paramsStore.get(t),e=l({fileOrBlob:o,id:t,customParams:f,xhr:i}),a({id:t,xhr:i}),i.send(e),u}});t.extend(this,new t.XhrUploadHandler({options:t.extend({namespace:"traditional"},n),proxy:t.extend({getEndpoint:n.endpointStore.get},i)}));t.override(this,function(r){return{finalizeChunks:function(u){return i.onFinalizing(u),n.chunking.success.endpoint?k(u):r.finalizeChunks(u,t.bind(e,this,!0))}}})};t.traditional.AllChunksDoneAjaxRequester=function(n){"use strict";var u,i={cors:{allowXdr:!1,expected:!1,sendCredentials:!1},endpoint:null,log:function(){},method:"POST"},r={},f={get:function(n){return t.isFunction(i.endpoint)?i.endpoint(n):i.endpoint}};t.extend(i,n);u=t.extend(this,new t.AjaxRequester({acceptHeader:"application/json",contentType:i.jsonPayload?"application/json":"application/x-www-form-urlencoded",validMethods:[i.method],method:i.method,endpointStore:f,allowXRequestedWithAndCacheControl:!1,cors:i.cors,log:i.log,onComplete:function(n,t,i){var u=r[n];delete r[n];i?u.failure(t):u.success(t)}}));t.extend(this,{complete:function(n,f,e,o){var s=new t.Promise;return i.log("Submitting All Chunks Done request for "+n),r[n]=s,u.initTransport(n).withParams(i.params(n)||e).withHeaders(i.headers(n)||o).send(f),s}})};t.DragAndDrop=function(n){"use strict";function l(n,t){var r=Array.prototype.slice.call(n);i.callbacks.dropLog("Grabbed "+n.length+" dropped files.");t.dropDisabled(!1);i.callbacks.processingDroppedFilesComplete(r,t.getElement())}function f(n){var r=new t.Promise;return n.isFile?n.file(function(t){t.qqPath=e(n);u.push(t);r.success()},function(t){i.callbacks.dropLog("Problem parsing '"+n.fullPath+"'.  FileError code "+t.code+".","error");r.failure()}):n.isDirectory&&o(n).then(function(n){var i=n.length;t.each(n,function(n,t){f(t).done(function(){i-=1;0===i&&r.success()})});n.length||r.success()},function(t){i.callbacks.dropLog("Problem parsing '"+n.fullPath+"'.  FileError code "+t.code+".","error");r.failure()}),r}function e(n){var i=n.name,t=n.fullPath,r=t.lastIndexOf(i);return t=t.substr(0,r),"/"===t.charAt(0)&&(t=t.substr(1)),t}function o(n,i,r,u){var f=u||new t.Promise,e=i||n.createReader();return e.readEntries(function(t){var i=r?r.concat(t):t;t.length?setTimeout(function(){o(n,e,i,f)},0):f.success(i)},f.failure),f}function a(n,r){var e=[],o=new t.Promise;return i.callbacks.processingDroppedFiles(),r.dropDisabled(!0),n.files.length>1&&!i.allowMultipleItems?(i.callbacks.processingDroppedFilesComplete([]),i.callbacks.dropError("tooManyFilesError",""),r.dropDisabled(!1),o.failure()):(u=[],t.isFolderDropSupported(n)?t.each(n.items,function(n,t){var i=t.webkitGetAsEntry();i&&(i.isFile?u.push(t.getAsFile()):e.push(f(i).done(function(){e.pop();0===e.length&&o.success()})))}):u=n.files,0===e.length&&o.success()),o}function s(n){var f=new t.UploadDropZone({HIDE_ZONES_EVENT_NAME:"qq-hidezones",element:n,onEnter:function(r){t(n).addClass(i.classes.dropActive);r.stopPropagation()},onLeaveNotDescendants:function(){t(n).removeClass(i.classes.dropActive)},onDrop:function(n){a(n.dataTransfer,f).then(function(){l(u,f)},function(){i.callbacks.dropLog("Drop event DataTransfer parsing failed.  No files will be uploaded.","error")})}});return r.addDisposer(function(){f.dispose()}),t(n).hasAttribute("qq-hide-dropzone")&&t(n).hide(),c.push(f),f}function h(n){var i;return t.each(n.dataTransfer.types,function(n,t){if("Files"===t)return i=!0,!1}),i}function v(n){return t.safari()?n.x<0||n.y<0:0===n.x&&0===n.y}function y(){var n=i.dropZoneElements,u=function(){setTimeout(function(){t.each(n,function(n,r){t(r).hasAttribute("qq-hide-dropzone")&&t(r).hide();t(r).removeClass(i.classes.dropActive)})},10)};t.each(n,function(i,u){var f=s(u);n.length&&t.supportedFeatures.fileDrop&&r.attach(document,"dragenter",function(i){!f.dropDisabled()&&h(i)&&t.each(n,function(n,i){i instanceof HTMLElement&&t(i).hasAttribute("qq-hide-dropzone")&&t(i).css({display:"block"})})})});r.attach(document,"dragleave",function(n){v(n)&&u()});r.attach(t(document).children()[0],"mouseenter",function(){u()});r.attach(document,"drop",function(n){h(n)&&(n.preventDefault(),u())});r.attach(document,"qq-hidezones",u)}var i,c=[],u=[],r=new t.DisposeSupport;i={dropZoneElements:[],allowMultipleItems:!0,classes:{dropActive:null},callbacks:new t.DragAndDrop.callbacks};t.extend(i,n,!0);y();t.extend(this,{setupExtraDropzone:function(n){i.dropZoneElements.push(n);s(n)},removeDropzone:function(n){var t,r=i.dropZoneElements;for(t in r)if(r[t]===n)return r.splice(t,1)},dispose:function(){r.dispose();t.each(c,function(n,t){t.dispose()})}});this._testing={};this._testing.extractDirectoryPath=e};t.DragAndDrop.callbacks=function(){"use strict";return{processingDroppedFiles:function(){},processingDroppedFilesComplete:function(){},dropError:function(n,i){t.log("Drag & drop error code '"+n+" with these specifics: '"+i+"'","error")},dropLog:function(n,i){t.log(n,i)}}};t.UploadDropZone=function(n){"use strict";function h(){return t.safari()||t.firefox()&&t.windows()}function c(){s||(h?r.attach(document,"dragover",function(n){n.preventDefault()}):r.attach(document,"dragover",function(n){n.dataTransfer&&(n.dataTransfer.dropEffect="none",n.preventDefault())}),s=!0)}function f(n){if(!t.supportedFeatures.fileDrop)return!1;var r,i=n.dataTransfer,u=t.safari();return r=!(!t.ie()||!t.supportedFeatures.fileDrop)||"none"!==i.effectAllowed,i&&r&&(i.files&&i.files.length||!u&&i.types.contains&&i.types.contains("Files")||i.types.includes&&i.types.includes("Files"))}function e(n){return void 0!==n&&(o=n),o}function l(){function t(){n=document.createEvent("Event");n.initEvent(i.HIDE_ZONES_EVENT_NAME,!0,!0)}var n;if(window.CustomEvent)try{n=new CustomEvent(i.HIDE_ZONES_EVENT_NAME)}catch(n){t()}else t();document.dispatchEvent(n)}function a(){r.attach(u,"dragover",function(n){if(f(n)){var i=t.ie()&&t.supportedFeatures.fileDrop?null:n.dataTransfer.effectAllowed;n.dataTransfer.dropEffect="move"===i||"linkMove"===i?"move":"copy";n.stopPropagation();n.preventDefault()}});r.attach(u,"dragenter",function(n){if(!e()){if(!f(n))return;i.onEnter(n)}});r.attach(u,"dragleave",function(n){if(f(n)){i.onLeave(n);var r=document.elementFromPoint(n.clientX,n.clientY);t(this).contains(r)||i.onLeaveNotDescendants(n)}});r.attach(u,"drop",function(n){if(!e()){if(!f(n))return;n.preventDefault();n.stopPropagation();i.onDrop(n);l()}})}var i,u,o,s,r=new t.DisposeSupport;i={element:null,onEnter:function(){},onLeave:function(){},onLeaveNotDescendants:function(){},onDrop:function(){}};t.extend(i,n);u=i.element;c();a();t.extend(this,{dropDisabled:function(n){return e(n)},dispose:function(){r.dispose()},getElement:function(){return u}});this._testing={};this._testing.isValidFileDrag=f},function(){"use strict";t.uiPublicApi={addInitialFiles:function(){this._parent.prototype.addInitialFiles.apply(this,arguments);this._templating.addCacheToDom()},clearStoredFiles:function(){this._parent.prototype.clearStoredFiles.apply(this,arguments);this._templating.clearFiles()},addExtraDropzone:function(n){this._dnd&&this._dnd.setupExtraDropzone(n)},removeExtraDropzone:function(n){if(this._dnd)return this._dnd.removeDropzone(n)},getItemByFileId:function(n){if(!this._templating.isHiddenForever(n))return this._templating.getFileContainer(n)},reset:function(){this._parent.prototype.reset.apply(this,arguments);this._templating.reset();!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId());this._dnd&&(this._dnd.dispose(),this._dnd=this._setupDragAndDrop());this._totalFilesInBatch=0;this._filesInBatchAddedToUi=0;this._setupClickAndEditEventHandlers()},setName:function(n,t){var i=this._options.formatFileName(t);this._parent.prototype.setName.apply(this,arguments);this._templating.updateFilename(n,i)},pauseUpload:function(n){var t=this._parent.prototype.pauseUpload.apply(this,arguments);return t&&this._templating.uploadPaused(n),t},continueUpload:function(n){var t=this._parent.prototype.continueUpload.apply(this,arguments);return t&&this._templating.uploadContinued(n),t},getId:function(n){return this._templating.getFileId(n)},getDropTarget:function(n){return this.getFile(n).qqDropTarget}};t.uiPrivateApi={_getButton:function(n){var t=this._parent.prototype._getButton.apply(this,arguments);return t||n===this._defaultButtonId&&(t=this._templating.getButton()),t},_removeFileItem:function(n){this._templating.removeFile(n)},_setupClickAndEditEventHandlers:function(){this._fileButtonsClickHandler=t.FileButtonsClickHandler&&this._bindFileButtonsClickEvent();this._focusinEventSupported=!t.firefox();this._isEditFilenameEnabled()&&(this._filenameClickHandler=this._bindFilenameClickEvent(),this._filenameInputFocusInHandler=this._bindFilenameInputFocusInEvent(),this._filenameInputFocusHandler=this._bindFilenameInputFocusEvent())},_setupDragAndDrop:function(){var n=this,r=this._options.dragAndDrop.extraDropzones,i=this._templating,u=i.getDropZone();return u&&r.push(u),new t.DragAndDrop({dropZoneElements:r,allowMultipleItems:this._options.multiple,classes:{dropActive:this._options.classes.dropActive},callbacks:{processingDroppedFiles:function(){i.showDropProcessing()},processingDroppedFilesComplete:function(r,u){i.hideDropProcessing();t.each(r,function(n,t){t.qqDropTarget=u});r.length&&n.addFiles(r,null,null)},dropError:function(t,i){n._itemError(t,i)},dropLog:function(t,i){n.log(t,i)}}})},_bindFileButtonsClickEvent:function(){var n=this;return new t.FileButtonsClickHandler({templating:this._templating,log:function(t,i){n.log(t,i)},onDeleteFile:function(t){n.deleteFile(t)},onCancel:function(t){n.cancel(t)},onRetry:function(t){n.retry(t)},onPause:function(t){n.pauseUpload(t)},onContinue:function(t){n.continueUpload(t)},onGetName:function(t){return n.getName(t)}})},_isEditFilenameEnabled:function(){return this._templating.isEditFilenamePossible()&&!this._options.autoUpload&&t.FilenameClickHandler&&t.FilenameInputFocusHandler&&t.FilenameInputFocusHandler},_filenameEditHandler:function(){var i=this,n=this._templating;return{templating:n,log:function(n,t){i.log(n,t)},onGetUploadStatus:function(n){return i.getUploads({id:n}).status},onGetName:function(n){return i.getName(n)},onSetName:function(n,t){i.setName(n,t)},onEditingStatusChange:function(i,r){var u=t(n.getEditInput(i)),f=t(n.getFileContainer(i));r?(u.addClass("qq-editing"),n.hideFilename(i),n.hideEditIcon(i)):(u.removeClass("qq-editing"),n.showFilename(i),n.showEditIcon(i));f.addClass("qq-temp").removeClass("qq-temp")}}},_onUploadStatusChange:function(n,i,r){this._parent.prototype._onUploadStatusChange.apply(this,arguments);this._isEditFilenameEnabled()&&this._templating.getFileContainer(n)&&r!==t.status.SUBMITTED&&(this._templating.markFilenameEditable(n),this._templating.hideEditIcon(n));i===t.status.UPLOAD_RETRYING&&r===t.status.UPLOADING?(this._templating.hideRetry(n),this._templating.setStatusText(n),t(this._templating.getFileContainer(n)).removeClass(this._classes.retrying)):r===t.status.UPLOAD_FAILED&&this._templating.hidePause(n)},_bindFilenameInputFocusInEvent:function(){var n=t.extend({},this._filenameEditHandler());return new t.FilenameInputFocusInHandler(n)},_bindFilenameInputFocusEvent:function(){var n=t.extend({},this._filenameEditHandler());return new t.FilenameInputFocusHandler(n)},_bindFilenameClickEvent:function(){var n=t.extend({},this._filenameEditHandler());return new t.FilenameClickHandler(n)},_storeForLater:function(n){this._parent.prototype._storeForLater.apply(this,arguments);this._templating.hideSpinner(n)},_onAllComplete:function(){this._parent.prototype._onAllComplete.apply(this,arguments);this._templating.resetTotalProgress()},_onSubmit:function(n,t){var i=this.getFile(n);i&&i.qqPath&&this._options.dragAndDrop.reportDirectoryPaths&&this._paramsStore.addReadOnly(n,{qqpath:i.qqPath});this._parent.prototype._onSubmit.apply(this,arguments);this._addToList(n,t)},_onSubmitted:function(n){this._isEditFilenameEnabled()&&(this._templating.markFilenameEditable(n),this._templating.showEditIcon(n),this._focusinEventSupported||this._filenameInputFocusHandler.addHandler(this._templating.getEditInput(n)))},_onProgress:function(n,t,i,r){this._parent.prototype._onProgress.apply(this,arguments);this._templating.updateProgress(n,i,r);0===r||100===Math.round(i/r*100)?(this._templating.hideCancel(n),this._templating.hidePause(n),this._templating.hideProgress(n),this._templating.setStatusText(n,this._options.text.waitingForResponse),this._displayFileSize(n)):this._displayFileSize(n,i,r)},_onTotalProgress:function(n,t){this._parent.prototype._onTotalProgress.apply(this,arguments);this._templating.updateTotalProgress(n,t)},_onComplete:function(n,i,r){function s(i){e&&(u.setStatusText(n),t(e).removeClass(f._classes.retrying),u.hideProgress(n),f.getUploads({id:n}).status!==t.status.UPLOAD_FAILED&&u.hideCancel(n),u.hideSpinner(n),i.success?f._markFileAsSuccessful(n):(t(e).addClass(f._classes.fail),u.showCancel(n),u.isRetryPossible()&&!f._preventRetries[n]&&(t(e).addClass(f._classes.retryable),u.showRetry(n)),f._controlFailureTextDisplay(n,i)))}var o=this._parent.prototype._onComplete.apply(this,arguments),u=this._templating,e=u.getFileContainer(n),f=this;return o instanceof t.Promise?o.done(function(n){s(n)}):s(r),o},_markFileAsSuccessful:function(n){var i=this._templating;this._isDeletePossible()&&i.showDeleteButton(n);t(i.getFileContainer(n)).addClass(this._classes.success);this._maybeUpdateThumbnail(n)},_onUploadPrep:function(n){this._parent.prototype._onUploadPrep.apply(this,arguments);this._templating.showSpinner(n)},_onUpload:function(n){var t=this._parent.prototype._onUpload.apply(this,arguments);return this._templating.showSpinner(n),t},_onUploadChunk:function(n,t){this._parent.prototype._onUploadChunk.apply(this,arguments);t.partIndex>0&&this._handler.isResumable(n)&&this._templating.allowPause(n)},_onCancel:function(n){this._parent.prototype._onCancel.apply(this,arguments);this._removeFileItem(n);0===this._getNotFinished()&&this._templating.resetTotalProgress()},_onBeforeAutoRetry:function(n){var r,u,i;this._parent.prototype._onBeforeAutoRetry.apply(this,arguments);this._showCancelLink(n);this._options.retry.showAutoRetryNote&&(r=this._autoRetries[n],u=this._options.retry.maxAutoAttempts,i=this._options.retry.autoRetryNote.replace(/\{retryNum\}/g,r),i=i.replace(/\{maxAuto\}/g,u),this._templating.setStatusText(n,i),t(this._templating.getFileContainer(n)).addClass(this._classes.retrying))},_onBeforeManualRetry:function(n){return this._parent.prototype._onBeforeManualRetry.apply(this,arguments)?(this._templating.resetProgress(n),t(this._templating.getFileContainer(n)).removeClass(this._classes.fail),this._templating.setStatusText(n),this._templating.showSpinner(n),this._showCancelLink(n),!0):(t(this._templating.getFileContainer(n)).addClass(this._classes.retryable),this._templating.showRetry(n),!1)},_onSubmitDelete:function(n){var i=t.bind(this._onSubmitDeleteSuccess,this);this._parent.prototype._onSubmitDelete.call(this,n,i)},_onSubmitDeleteSuccess:function(){this._options.deleteFile.forceConfirm?this._showDeleteConfirm.apply(this,arguments):this._sendDeleteRequest.apply(this,arguments)},_onDeleteComplete:function(n,t,i){this._parent.prototype._onDeleteComplete.apply(this,arguments);this._templating.hideSpinner(n);i?(this._templating.setStatusText(n,this._options.deleteFile.deletingFailedText),this._templating.showDeleteButton(n)):this._removeFileItem(n)},_sendDeleteRequest:function(n){this._templating.hideDeleteButton(n);this._templating.showSpinner(n);this._templating.setStatusText(n,this._options.deleteFile.deletingStatusText);this._deleteHandler.sendDelete.apply(this,arguments)},_showDeleteConfirm:function(n){var i,f=this.getName(n),e=this._options.deleteFile.confirmMessage.replace(/\{filename\}/g,f),u=(this.getUuid(n),arguments),r=this;i=this._options.showConfirm(e);t.isGenericPromise(i)?i.then(function(){r._sendDeleteRequest.apply(r,u)}):i!==!1&&r._sendDeleteRequest.apply(r,u)},_addToList:function(n,i,r){var f,u,e=0,o=this._handler.isProxied(n)&&this._options.scaling.hideScaled;this._options.display.prependFiles&&(this._totalFilesInBatch>1&&this._filesInBatchAddedToUi>0&&(e=this._filesInBatchAddedToUi-1),f={index:e});r||(this._options.disableCancelForFormUploads&&!t.supportedFeatures.ajaxUploading&&this._templating.disableCancel(),this._options.multiple||(u=this.getUploads({id:n}),this._handledProxyGroup=this._handledProxyGroup||u.proxyGroupId,u.proxyGroupId===this._handledProxyGroup&&u.proxyGroupId||(this._handler.cancelAll(),this._clearList(),this._handledProxyGroup=null)));r?(this._templating.addFileToCache(n,this._options.formatFileName(i),f,o),this._templating.updateThumbnail(n,this._thumbnailUrls[n],!0,this._options.thumbnails.customResizer)):(this._templating.addFile(n,this._options.formatFileName(i),f,o),this._templating.generatePreview(n,this.getFile(n),this._options.thumbnails.customResizer));this._filesInBatchAddedToUi+=1;(r||this._options.display.fileSizeOnSubmit&&t.supportedFeatures.ajaxUploading)&&this._displayFileSize(n)},_clearList:function(){this._templating.clearFiles();this.clearStoredFiles()},_displayFileSize:function(n,t,i){var r=this.getSize(n),u=this._formatSize(r);r>=0&&(void 0!==t&&void 0!==i&&(u=this._formatProgress(t,i)),this._templating.updateSize(n,u))},_formatProgress:function(n,t){function r(n,t){i=i.replace(n,t)}var i=this._options.text.formatProgress;return r("{percent}",Math.round(n/t*100)),r("{total_size}",this._formatSize(t)),i},_controlFailureTextDisplay:function(n,t){var i,u,r;i=this._options.failedUploadTextDisplay.mode;u=this._options.failedUploadTextDisplay.responseProperty;"custom"===i?(r=t[u],r||(r=this._options.text.failUpload),this._templating.setStatusText(n,r),this._options.failedUploadTextDisplay.enableTooltip&&this._showTooltip(n,r)):"default"===i?this._templating.setStatusText(n,this._options.text.failUpload):"none"!==i&&this.log("failedUploadTextDisplay.mode value of '"+i+"' is not valid","warn")},_showTooltip:function(n,t){this._templating.getFileContainer(n).title=t},_showCancelLink:function(n){this._options.disableCancelForFormUploads&&!t.supportedFeatures.ajaxUploading||this._templating.showCancel(n)},_itemError:function(){var n=this._parent.prototype._itemError.apply(this,arguments);this._options.showMessage(n)},_batchError:function(n){this._parent.prototype._batchError.apply(this,arguments);this._options.showMessage(n)},_setupPastePrompt:function(){var n=this;this._options.callbacks.onPasteReceived=function(){var t=n._options.paste.namePromptMessage,i=n._options.paste.defaultName;return n._options.showPrompt(t,i)}},_fileOrBlobRejected:function(){this._totalFilesInBatch-=1;this._parent.prototype._fileOrBlobRejected.apply(this,arguments)},_prepareItemsForUpload:function(n){this._totalFilesInBatch=n.length;this._filesInBatchAddedToUi=0;this._parent.prototype._prepareItemsForUpload.apply(this,arguments)},_maybeUpdateThumbnail:function(n){var i=this._thumbnailUrls[n];this.getUploads({id:n}).status!==t.status.DELETED&&(i||this._options.thumbnails.placeholders.waitUntilResponse||!t.supportedFeatures.imagePreviews)&&this._templating.updateThumbnail(n,i,this._options.thumbnails.customResizer)},_addCannedFile:function(){var n=this._parent.prototype._addCannedFile.apply(this,arguments);return this._addToList(n,this.getName(n),!0),this._templating.hideSpinner(n),this._templating.hideCancel(n),this._markFileAsSuccessful(n),n},_setSize:function(n,t){this._parent.prototype._setSize.apply(this,arguments);this._templating.updateSize(n,this._formatSize(t))},_sessionRequestComplete:function(){this._templating.addCacheToDom();this._parent.prototype._sessionRequestComplete.apply(this,arguments)}}}();t.FineUploader=function(n,i){"use strict";var r=this;this._parent=i?t[i].FineUploaderBasic:t.FineUploaderBasic;this._parent.apply(this,arguments);t.extend(this._options,{element:null,button:null,listElement:null,dragAndDrop:{extraDropzones:[],reportDirectoryPaths:!1},text:{formatProgress:"{percent}% of {total_size}",failUpload:"Upload failed",waitingForResponse:"Processing...",paused:"Paused"},template:"qq-template",classes:{retrying:"qq-upload-retrying",retryable:"qq-upload-retryable",success:"qq-upload-success",fail:"qq-upload-fail",editable:"qq-editable",hide:"qq-hide",dropActive:"qq-upload-drop-area-active"},failedUploadTextDisplay:{mode:"default",responseProperty:"error",enableTooltip:!0},messages:{tooManyFilesError:"You may only drop one file",unsupportedBrowser:"Unrecoverable error - this browser does not permit file uploading of any kind."},retry:{showAutoRetryNote:!0,autoRetryNote:"Retrying {retryNum}/{maxAuto}..."},deleteFile:{forceConfirm:!1,confirmMessage:"Are you sure you want to delete {filename}?",deletingStatusText:"Deleting...",deletingFailedText:"Delete failed"},display:{fileSizeOnSubmit:!1,prependFiles:!1},paste:{promptForName:!1,namePromptMessage:"Please name this image"},thumbnails:{customResizer:null,maxCount:0,placeholders:{waitUntilResponse:!1,notAvailablePath:null,waitingPath:null},timeBetweenThumbs:750},scaling:{hideScaled:!1},showMessage:function(n){if(r._templating.hasDialog("alert"))return r._templating.showDialog("alert",n);setTimeout(function(){window.alert(n)},0)},showConfirm:function(n){return r._templating.hasDialog("confirm")?r._templating.showDialog("confirm",n):window.confirm(n)},showPrompt:function(n,t){return r._templating.hasDialog("prompt")?r._templating.showDialog("prompt",n,t):window.prompt(n,t)}},!0);t.extend(this._options,n,!0);this._templating=new t.Templating({log:t.bind(this.log,this),templateIdOrEl:this._options.template,containerEl:this._options.element,fileContainerEl:this._options.listElement,button:this._options.button,imageGenerator:this._imageGenerator,classes:{hide:this._options.classes.hide,editable:this._options.classes.editable},limits:{maxThumbs:this._options.thumbnails.maxCount,timeBetweenThumbs:this._options.thumbnails.timeBetweenThumbs},placeholders:{waitUntilUpdate:this._options.thumbnails.placeholders.waitUntilResponse,thumbnailNotAvailable:this._options.thumbnails.placeholders.notAvailablePath,waitingForThumbnail:this._options.thumbnails.placeholders.waitingPath},text:this._options.text});this._options.workarounds.ios8SafariUploads&&t.ios800()&&t.iosSafari()?this._templating.renderFailure(this._options.messages.unsupportedBrowserIos8Safari):!t.supportedFeatures.uploading||this._options.cors.expected&&!t.supportedFeatures.uploadCors?this._templating.renderFailure(this._options.messages.unsupportedBrowser):(this._wrapCallbacks(),this._templating.render(),this._classes=this._options.classes,!this._options.button&&this._templating.getButton()&&(this._defaultButtonId=this._createUploadButton({element:this._templating.getButton(),title:this._options.text.fileInputTitle}).getButtonId()),this._setupClickAndEditEventHandlers(),t.DragAndDrop&&t.supportedFeatures.fileDrop&&(this._dnd=this._setupDragAndDrop()),this._options.paste.targetElement&&this._options.paste.promptForName&&(t.PasteSupport?this._setupPastePrompt():this.log("Paste support module not found.","error")),this._totalFilesInBatch=0,this._filesInBatchAddedToUi=0)};t.extend(t.FineUploader.prototype,t.basePublicApi);t.extend(t.FineUploader.prototype,t.basePrivateApi);t.extend(t.FineUploader.prototype,t.uiPublicApi);t.extend(t.FineUploader.prototype,t.uiPrivateApi);t.Templating=function(n){"use strict";var h,yt,pt,et,s,v,y,ot,p={content:document.createDocumentFragment(),map:{}},st=!1,w=0,g=!1,nt=[],a=-1,r={log:null,limits:{maxThumbs:0,timeBetweenThumbs:750},templateIdOrEl:"qq-template",containerEl:null,fileContainerEl:null,button:null,imageGenerator:null,classes:{hide:"qq-hide",editable:"qq-editable"},placeholders:{waitUntilUpdate:!1,thumbnailNotAvailable:null,waitingForThumbnail:null},text:{paused:"Paused"}},i={button:"qq-upload-button-selector",alertDialog:"qq-alert-dialog-selector",dialogCancelButton:"qq-cancel-button-selector",confirmDialog:"qq-confirm-dialog-selector",dialogMessage:"qq-dialog-message-selector",dialogOkButton:"qq-ok-button-selector",promptDialog:"qq-prompt-dialog-selector",uploader:"qq-uploader-selector",drop:"qq-upload-drop-area-selector",list:"qq-upload-list-selector",progressBarContainer:"qq-progress-bar-container-selector",progressBar:"qq-progress-bar-selector",totalProgressBarContainer:"qq-total-progress-bar-container-selector",totalProgressBar:"qq-total-progress-bar-selector",file:"qq-upload-file-selector",spinner:"qq-upload-spinner-selector",size:"qq-upload-size-selector",cancel:"qq-upload-cancel-selector",pause:"qq-upload-pause-selector",continueButton:"qq-upload-continue-selector",deleteButton:"qq-upload-delete-selector",retry:"qq-upload-retry-selector",statusText:"qq-upload-status-text-selector",editFilenameInput:"qq-edit-filename-selector",editNameIcon:"qq-edit-filename-icon-selector",dropText:"qq-upload-drop-area-text-selector",dropProcessing:"qq-drop-processing-selector",dropProcessingSpinner:"qq-drop-processing-spinner-selector",thumbnail:"qq-thumbnail-selector"},l={},tt=new t.Promise,d=new t.Promise,ti=function(){var n=r.placeholders.thumbnailNotAvailable,t=r.placeholders.waitingForThumbnail,i={maxSize:a,scale:ot};y&&(n?r.imageGenerator.generate(n,new Image,i).then(function(n){tt.success(n)},function(){tt.failure();h("Problem loading 'not available' placeholder image at "+n,"error")}):tt.failure(),t?r.imageGenerator.generate(t,new Image,i).then(function(n){d.success(n)},function(){d.failure();h("Problem loading 'waiting for thumbnail' placeholder image at "+t,"error")}):d.failure())},ht=function(n){var i=new t.Promise;return d.then(function(t){gt(t,n);n.src?i.success():(n.src=t.src,n.onload=function(){n.onload=null;o(n);i.success()})},function(){f(n);i.success()}),i},ii=function(n,t,i){var u=b(n);return h("Generating new thumbnail for "+n),t.qqThumbnailId=n,r.imageGenerator.generate(t,u,i).then(function(){w++;o(u);l[n].success()},function(){l[n].failure();r.placeholders.waitUntilUpdate||k(n,u)})},c=function(){if(nt.length){g=!0;var n=nt.shift();n.update?ei(n):fi(n)}else g=!1},wt=function(n){return u(e(n),i.cancel)},ct=function(n){return u(e(n),i.continueButton)},bt=function(n){return u(s,i[n+"Dialog"])},lt=function(n){return u(e(n),i.deleteButton)},at=function(){return u(s,i.dropProcessing)},kt=function(n){return u(e(n),i.editNameIcon)},e=function(n){return p.map[n]||t(v).getFirstByClass("qq-file-id-"+n)},it=function(n){return u(e(n),i.file)},rt=function(n){return u(e(n),i.pause)},ut=function(n){return null==n?u(s,i.totalProgressBarContainer)||u(s,i.totalProgressBar):u(e(n),i.progressBarContainer)||u(e(n),i.progressBar)},vt=function(n){return u(e(n),i.retry)},dt=function(n){return u(e(n),i.size)},ft=function(n){return u(e(n),i.spinner)},u=function(n,i){return n&&t(n).getFirstByClass(i)},b=function(n){return y&&u(e(n),i.thumbnail)},f=function(n){n&&t(n).addClass(r.classes.hide)},gt=function(n,i){var r=n.style.maxWidth,u=n.style.maxHeight;u&&r&&!i.style.maxWidth&&!i.style.maxHeight&&t(i).css({maxWidth:r,maxHeight:u})},k=function(n,i){var u=l[n]||(new t.Promise).failure(),r=new t.Promise;return tt.then(function(n){u.then(function(){r.success()},function(){gt(n,i);i.onload=function(){i.onload=null;r.success()};i.src=n.src;o(i)})}),r},ri=function(){var s,e,o,n,w,c,u,f,l,v,p;if(h("Parsing template"),null==r.templateIdOrEl)throw new Error("You MUST specify either a template element or ID!");if(t.isString(r.templateIdOrEl)){if(s=document.getElementById(r.templateIdOrEl),null===s)throw new Error(t.format("Cannot find template script at ID '{}'!",r.templateIdOrEl));e=s.innerHTML}else{if(void 0===r.templateIdOrEl.innerHTML)throw new Error("You have specified an invalid value for the template option!  It must be an ID or an Element.");e=r.templateIdOrEl.innerHTML}if(e=t.trimStr(e),n=document.createElement("div"),n.appendChild(t.toElement(e)),p=t(n).getFirstByClass(i.uploader),r.button&&(c=t(n).getFirstByClass(i.button),c&&t(c).remove()),t.DragAndDrop&&t.supportedFeatures.fileDrop||(l=t(n).getFirstByClass(i.dropProcessing),l&&t(l).remove()),u=t(n).getFirstByClass(i.drop),u&&!t.DragAndDrop&&(h("DnD module unavailable.","info"),t(u).remove()),t.supportedFeatures.fileDrop?t(p).hasAttribute("qq-drop-area-text")&&u&&(v=t(u).getFirstByClass(i.dropText),v&&t(v).remove()):(p.removeAttribute("qq-drop-area-text"),u&&t(u).hasAttribute("qq-hide-dropzone")&&t(u).css({display:"none"})),f=t(n).getFirstByClass(i.thumbnail),y?f&&(a=parseInt(f.getAttribute("qq-max-size")),a=a>0?a:null,ot=t(f).hasAttribute("qq-server-scale")):f&&t(f).remove(),y=y&&f,yt=t(n).getByClass(i.editFilenameInput).length>0,pt=t(n).getByClass(i.retry).length>0,o=t(n).getFirstByClass(i.list),null==o)throw new Error("Could not find the file list container in the template!");return w=o.children[0].cloneNode(!0),o.innerHTML="",n.getElementsByTagName("DIALOG").length&&document.createElement("dialog"),h("Template parsing complete"),{template:n,fileTemplate:w}},ui=function(n,i,r){var u=r,f=u.firstChild;i>0&&(f=t(u).children()[i].nextSibling);u.insertBefore(n,f)},fi=function(n){var i=n.id,f=n.optFileOrBlob,e=f&&f.qqThumbnailId,u=b(i),o={customResizeFunction:n.customResizeFunction,maxSize:a,orient:!0,scale:!0};t.supportedFeatures.imagePreviews?u?r.limits.maxThumbs&&r.limits.maxThumbs<=w?(k(i,u),c()):ht(u).done(function(){l[i]=new t.Promise;l[i].done(function(){setTimeout(c,r.limits.timeBetweenThumbs)});null!=e?oi(i,e):ii(i,f,o)}):c():u&&(ht(u),c())},ei=function(n){var i=n.id,u=n.thumbnailUrl,f=n.showWaitingImg,t=b(i),e={customResizeFunction:n.customResizeFunction,scale:ot,maxSize:a};if(t)if(u){if(!(r.limits.maxThumbs&&r.limits.maxThumbs<=w))return f&&ht(t),r.imageGenerator.generate(u,t,e).then(function(){o(t);w++;setTimeout(c,r.limits.timeBetweenThumbs)},function(){k(i,t);setTimeout(c,r.limits.timeBetweenThumbs)});k(i,t);c()}else k(i,t),c()},ni=function(n,r){var u=ut(n),f=null==n?i.totalProgressBar:i.progressBar;u&&!t(u).hasClass(f)&&(u=t(u).getFirstByClass(f));u&&(t(u).css({width:r+"%"}),u.setAttribute("aria-valuenow",r))},o=function(n){n&&t(n).removeClass(r.classes.hide)},oi=function(n,i){var u=b(n),f=b(i);h(t.format("ID {} is the same file as ID {}.  Will use generated thumbnail from ID {} instead.",n,i,i));l[i].then(function(){w++;l[n].success();h(t.format("Now using previously generated thumbnail created for ID {} on ID {}.",i,n));u.src=f.src;o(u)},function(){l[n].failure();r.placeholders.waitUntilUpdate||k(n,u)})};t.extend(r,n);h=r.log;t.supportedFeatures.imagePreviews||(r.limits.timeBetweenThumbs=0,r.limits.maxThumbs=0);s=r.containerEl;y=void 0!==r.imageGenerator;et=ri();ti();t.extend(this,{render:function(){h("Rendering template in DOM.");w=0;s.appendChild(et.template.cloneNode(!0));f(at());this.hideTotalProgress();v=r.fileContainerEl||u(s,i.list);h("Template rendering complete")},renderFailure:function(n){var i=t.toElement(n);s.innerHTML="";s.appendChild(i)},reset:function(){s.innerHTML="";this.render()},clearFiles:function(){v.innerHTML=""},disableCancel:function(){st=!0},addFile:function(n,r,e,h,c){var a,l=et.fileTemplate.cloneNode(!0),y=u(l,i.file),k=u(s,i.uploader),w=c?p.content:v;c&&(p.map[n]=l);t(l).addClass("qq-file-id-"+n);k.removeAttribute("qq-drop-area-text");y&&(t(y).setText(r),y.setAttribute("title",r));l.setAttribute("qq-file-id",n);e?ui(l,e.index,w):w.appendChild(l);h?(l.style.display="none",t(l).addClass("qq-hidden-forever")):(f(ut(n)),f(dt(n)),f(lt(n)),f(vt(n)),f(rt(n)),f(ct(n)),st&&this.hideCancel(n),a=b(n),a&&!a.src&&d.then(function(n){a.src=n.src;n.style.maxHeight&&n.style.maxWidth&&t(a).css({maxHeight:n.style.maxHeight,maxWidth:n.style.maxWidth});o(a)}))},addFileToCache:function(n,t,i,r){this.addFile(n,t,i,r,!0)},addCacheToDom:function(){v.appendChild(p.content);p.content=document.createDocumentFragment();p.map={}},removeFile:function(n){t(e(n)).remove()},getFileId:function(n){var t=n;if(t){for(;null==t.getAttribute("qq-file-id");)t=t.parentNode;return parseInt(t.getAttribute("qq-file-id"))}},getFileList:function(){return v},markFilenameEditable:function(n){var i=it(n);i&&t(i).addClass(r.classes.editable)},updateFilename:function(n,i){var r=it(n);r&&(t(r).setText(i),r.setAttribute("title",i))},hideFilename:function(n){f(it(n))},showFilename:function(n){o(it(n))},isFileName:function(n){return t(n).hasClass(i.file)},getButton:function(){return r.button||u(s,i.button)},hideDropProcessing:function(){f(at())},showDropProcessing:function(){o(at())},getDropZone:function(){return u(s,i.drop)},isEditFilenamePossible:function(){return yt},hideRetry:function(n){f(vt(n))},isRetryPossible:function(){return pt},showRetry:function(n){o(vt(n))},getFileContainer:function(n){return e(n)},showEditIcon:function(n){var i=kt(n);i&&t(i).addClass(r.classes.editable)},isHiddenForever:function(n){return t(e(n)).hasClass("qq-hidden-forever")},hideEditIcon:function(n){var i=kt(n);i&&t(i).removeClass(r.classes.editable)},isEditIcon:function(n){return t(n).hasClass(i.editNameIcon,!0)},getEditInput:function(n){return u(e(n),i.editFilenameInput)},isEditInput:function(n){return t(n).hasClass(i.editFilenameInput,!0)},updateProgress:function(n,t,i){var r,u=ut(n);u&&i>0&&(r=Math.round(t/i*100),100===r?f(u):o(u),ni(n,r))},updateTotalProgress:function(n,t){this.updateProgress(null,n,t)},hideProgress:function(n){var t=ut(n);t&&f(t)},hideTotalProgress:function(){this.hideProgress()},resetProgress:function(n){ni(n,0);this.hideTotalProgress(n)},resetTotalProgress:function(){this.resetProgress()},showCancel:function(n){if(!st){var i=wt(n);i&&t(i).removeClass(r.classes.hide)}},hideCancel:function(n){f(wt(n))},isCancel:function(n){return t(n).hasClass(i.cancel,!0)},allowPause:function(n){o(rt(n));f(ct(n))},uploadPaused:function(n){this.setStatusText(n,r.text.paused);this.allowContinueButton(n);f(ft(n))},hidePause:function(n){f(rt(n))},isPause:function(n){return t(n).hasClass(i.pause,!0)},isContinueButton:function(n){return t(n).hasClass(i.continueButton,!0)},allowContinueButton:function(n){o(ct(n));f(rt(n))},uploadContinued:function(n){this.setStatusText(n,"");this.allowPause(n);o(ft(n))},showDeleteButton:function(n){o(lt(n))},hideDeleteButton:function(n){f(lt(n))},isDeleteButton:function(n){return t(n).hasClass(i.deleteButton,!0)},isRetry:function(n){return t(n).hasClass(i.retry,!0)},updateSize:function(n,i){var r=dt(n);r&&(o(r),t(r).setText(i))},setStatusText:function(n,r){var f=u(e(n),i.statusText);f&&(null==r?t(f).clearText():t(f).setText(r))},hideSpinner:function(n){t(e(n)).removeClass("qq-in-progress");f(ft(n))},showSpinner:function(n){t(e(n)).addClass("qq-in-progress");o(ft(n))},generatePreview:function(n,t,i){this.isHiddenForever(n)||(nt.push({id:n,customResizeFunction:i,optFileOrBlob:t}),!g&&c())},updateThumbnail:function(n,t,i,r){this.isHiddenForever(n)||(nt.push({customResizeFunction:r,update:!0,id:n,thumbnailUrl:t,showWaitingImg:i}),!g&&c())},hasDialog:function(n){return t.supportedFeatures.dialogElement&&!!bt(n)},showDialog:function(n,r,f){var e=bt(n),y=u(e,i.dialogMessage),s=e.getElementsByTagName("INPUT")[0],h=u(e,i.dialogCancelButton),o=u(e,i.dialogOkButton),c=new t.Promise,v=function(){h.removeEventListener("click",l);o&&o.removeEventListener("click",a);c.failure()},l=function(){h.removeEventListener("click",l);e.close()},a=function(){e.removeEventListener("close",v);o.removeEventListener("click",a);e.close();c.success(s&&s.value)};return e.addEventListener("close",v),h.addEventListener("click",l),o&&o.addEventListener("click",a),s&&(s.value=f),y.textContent=r,e.showModal(),c}})};t.UiEventHandler=function(n,i){"use strict";function f(n){u.attach(n,r.eventType,function(n){n=n||window.event;var t=n.target||n.srcElement;r.onHandled(t,n)})}var u=new t.DisposeSupport,r={eventType:"click",attachTo:null,onHandled:function(){}};t.extend(this,{addHandler:function(n){f(n)},dispose:function(){u.dispose()}});t.extend(i,{getFileIdFromItem:function(n){return n.qqFileId},getDisposeSupport:function(){return u}});t.extend(r,n);r.attachTo&&f(r.attachTo)};t.FileButtonsClickHandler=function(n){"use strict";function r(n,r){t.each(u,function(u,f){var e,o=u.charAt(0).toUpperCase()+u.slice(1);if(i.templating["is"+o](n))return e=i.templating.getFileId(n),t.preventDefault(r),i.log(t.format("Detected valid file button click event on file '{}', ID: {}.",i.onGetName(e),e)),f(e),!1})}var i={templating:null,log:function(){},onDeleteFile:function(){},onCancel:function(){},onRetry:function(){},onPause:function(){},onContinue:function(){},onGetName:function(){}},u={cancel:function(n){i.onCancel(n)},retry:function(n){i.onRetry(n)},deleteButton:function(n){i.onDeleteFile(n)},pause:function(n){i.onPause(n)},continueButton:function(n){i.onContinue(n)}};t.extend(i,n);i.eventType="click";i.onHandled=r;i.attachTo=i.templating.getFileList();t.extend(this,new t.UiEventHandler(i,{}))};t.FilenameClickHandler=function(n){"use strict";function u(n,u){if(i.templating.isFileName(n)||i.templating.isEditIcon(n)){var f=i.templating.getFileId(n);i.onGetUploadStatus(f)===t.status.SUBMITTED&&(i.log(t.format("Detected valid filename click event on file '{}', ID: {}.",i.onGetName(f),f)),t.preventDefault(u),r.handleFilenameEdit(f,n,!0))}}var r={},i={templating:null,log:function(){},classes:{file:"qq-upload-file",editNameIcon:"qq-edit-filename-icon"},onGetUploadStatus:function(){},onGetName:function(){}};t.extend(i,n);i.eventType="click";i.onHandled=u;t.extend(this,new t.FilenameEditHandler(i,r))};t.FilenameInputFocusInHandler=function(n,i){"use strict";function u(n){if(r.templating.isEditInput(n)){var u=r.templating.getFileId(n);r.onGetUploadStatus(u)===t.status.SUBMITTED&&(r.log(t.format("Detected valid filename input focus event on file '{}', ID: {}.",r.onGetName(u),u)),i.handleFilenameEdit(u,n))}}var r={templating:null,onGetUploadStatus:function(){},log:function(){}};i||(i={});r.eventType="focusin";r.onHandled=u;t.extend(r,n);t.extend(this,new t.FilenameEditHandler(r,i))};t.FilenameInputFocusHandler=function(n){"use strict";n.eventType="focus";n.attachTo=null;t.extend(this,new t.FilenameInputFocusInHandler(n,{}))};t.FilenameEditHandler=function(n,i){"use strict";function f(n){var t=r.onGetName(n),i=t.lastIndexOf(".");return i>0&&(t=t.substr(0,i)),t}function e(n){var i=r.onGetName(n);return t.getExtension(i)}function u(n,i){var f,u=n.value;void 0!==u&&t.trimStr(u).length>0&&(f=e(i),void 0!==f&&(u=u+"."+f),r.onSetName(i,u));r.onEditingStatusChange(i,!1)}function o(n,t){i.getDisposeSupport().attach(n,"blur",function(){u(n,t)})}function s(n,t){i.getDisposeSupport().attach(n,"keyup",function(i){13===(i.keyCode||i.which)&&u(n,t)})}var r={templating:null,log:function(){},onGetUploadStatus:function(){},onGetName:function(){},onSetName:function(){},onEditingStatusChange:function(){}};t.extend(r,n);r.attachTo=r.templating.getFileList();t.extend(this,new t.UiEventHandler(r,i));t.extend(i,{handleFilenameEdit:function(n,t,i){var u=r.templating.getEditInput(n);r.onEditingStatusChange(n,!0);u.value=f(n);i&&u.focus();o(u,n);s(u,n)}})}}(window)