From 78eb1b9d6c042df5647787411b6befd90630dd8e Mon Sep 17 00:00:00 2001 From: gjq Date: Thu, 23 Dec 2021 18:10:56 +0800 Subject: [PATCH] .... --- pom.xml | 10 +- .../nbclass/Interceptor/JWTInterceptor.java | 1 + .../controller/ContentController.java | 3 + .../controller/casesfirst/WxController.java | 10 +- .../com/nbclass/activity/model/OssFile.java | 12 ++ .../com/nbclass/activity/model/WeiXiUser.java | 4 + .../activity/service/WxUserService.java | 2 + .../service/impl/ContentServiceImpl.java | 2 +- .../impl/ElasticSearchServiceImpl.java | 2 +- src/main/resources/static/img/login.jpeg | Bin 0 -> 74278 bytes .../static/img/not_available-generic.png | Bin 0 -> 4025 bytes .../resources/static/img/waiting-generic.png | Bin 0 -> 5770 bytes .../bootstrap-select/defaults-zh_CN.min.js | 8 ++ .../static/libs/fineuploader/edit.gif | Bin 0 -> 150 bytes .../fineuploader/fine-uploader-new.min.css | 1 + .../fineuploader/jquery.fine-uploader.min.js | 7 ++ .../static/libs/fineuploader/loading.gif | Bin 0 -> 1688 bytes .../static/libs/jquery.ui/jquery-ui.min.css | 7 ++ .../static/libs/jquery.ui/jquery-ui.min.js | 13 +++ .../static/libs/select2/select2.min.css | 1 + .../static/libs/select2/select2.min.js | 2 + .../resources/static/libs/select2/zh-CN.js | 1 + .../resources/templates/content/census.html | 105 +++++++++++++++++- .../resources/templates/content/edit2.html | 93 +++++++++++++--- src/main/resources/templates/demo.html | 39 ------- 25 files changed, 256 insertions(+), 67 deletions(-) create mode 100644 src/main/java/com/nbclass/activity/model/OssFile.java create mode 100644 src/main/resources/static/img/login.jpeg create mode 100644 src/main/resources/static/img/not_available-generic.png create mode 100644 src/main/resources/static/img/waiting-generic.png create mode 100644 src/main/resources/static/libs/bootstrap-select/defaults-zh_CN.min.js create mode 100644 src/main/resources/static/libs/fineuploader/edit.gif create mode 100644 src/main/resources/static/libs/fineuploader/fine-uploader-new.min.css create mode 100644 src/main/resources/static/libs/fineuploader/jquery.fine-uploader.min.js create mode 100644 src/main/resources/static/libs/fineuploader/loading.gif create mode 100644 src/main/resources/static/libs/jquery.ui/jquery-ui.min.css create mode 100644 src/main/resources/static/libs/jquery.ui/jquery-ui.min.js create mode 100644 src/main/resources/static/libs/select2/select2.min.css create mode 100644 src/main/resources/static/libs/select2/select2.min.js create mode 100644 src/main/resources/static/libs/select2/zh-CN.js delete mode 100644 src/main/resources/templates/demo.html diff --git a/pom.xml b/pom.xml index 502a2ac..d9d52f6 100644 --- a/pom.xml +++ b/pom.xml @@ -54,24 +54,24 @@ --> - - + + org.apache.logging.log4j log4j-core 2.15.0 - + org.apache.logging.log4j log4j-slf4j-impl 2.15.0 test - + org.apache.logging.log4j log4j-api diff --git a/src/main/java/com/nbclass/Interceptor/JWTInterceptor.java b/src/main/java/com/nbclass/Interceptor/JWTInterceptor.java index 57cb45f..96b3d4a 100644 --- a/src/main/java/com/nbclass/Interceptor/JWTInterceptor.java +++ b/src/main/java/com/nbclass/Interceptor/JWTInterceptor.java @@ -33,6 +33,7 @@ public class JWTInterceptor implements HandlerInterceptor { //获取token的过期时间 long expiration = claims.getExpiration().getTime(); if(expiration < issuedAt){ + log.error("token已过期!"); throw new ParameterException("token已过期!"); } } catch (Exception e) { diff --git a/src/main/java/com/nbclass/activity/controller/ContentController.java b/src/main/java/com/nbclass/activity/controller/ContentController.java index 375c8e4..eef75db 100644 --- a/src/main/java/com/nbclass/activity/controller/ContentController.java +++ b/src/main/java/com/nbclass/activity/controller/ContentController.java @@ -15,6 +15,7 @@ import com.nbclass.exception.ParameterException; import com.nbclass.system.service.UserService; import com.nbclass.util.JWTUtils; import org.apache.commons.collections.CollectionUtils; +import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -305,6 +306,8 @@ public class ContentController extends BaseController { } if(entity.getAttachment()!=null){ String s = JSON.toJSONString(entity.getAttachment()); + s = s.replace("[", ""); + s = s.replace("]", ""); entity.setAttachment(s); } String desc = null; diff --git a/src/main/java/com/nbclass/activity/controller/casesfirst/WxController.java b/src/main/java/com/nbclass/activity/controller/casesfirst/WxController.java index d99114f..45a0003 100644 --- a/src/main/java/com/nbclass/activity/controller/casesfirst/WxController.java +++ b/src/main/java/com/nbclass/activity/controller/casesfirst/WxController.java @@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.nbclass.activity.model.WeiXiUser; import com.nbclass.activity.service.WxService; +import com.nbclass.activity.service.WxUserService; import com.nbclass.exception.ParameterException; import com.nbclass.util.HttpUtils; @@ -39,7 +40,8 @@ public class WxController { /** * wx的AppID */ - private static final String appId = "wx35766a64d73d08a9"; + //private static final String appId = "wx35766a64d73d08a9"; + private static final String appId = "wx013ea7738ce6991f"; /** * wx的AppSecret @@ -59,6 +61,9 @@ public class WxController { @Autowired private WxService wxService; + @Autowired + private WxUserService wxUserService; + @RequestMapping("/loginPage") public String loginPage(){ return "loginPage"; @@ -131,6 +136,7 @@ public class WxController { WeiXiUser weiXiUser = jsonUser.toJavaObject(WeiXiUser.class); //添加用户信息到数据库 wxService.saveWxUser(weiXiUser); + } //数据库获取用户信息 WeiXiUser weiXiUser = wxService.getWxUser(openid); @@ -148,7 +154,7 @@ public class WxController { map.put("token",token); map.put("nickname",weiXiUser.getNickname()); map.put("headimgurl",weiXiUser.getHeadimgurl());*/ - response.sendRedirect("http://test.szxgl.cn/cases/?token="+token+"&nickname="+weiXiUser.getNickname()+"&headimgurl"+weiXiUser.getHeadimgurl()); + response.sendRedirect("http://test.szxgl.cn/cases/?token="+token+"&nickname="+weiXiUser.getNickname()+"&headimgurl="+weiXiUser.getHeadimgurl()+"&status="+weiXiUser.getStatus()); } catch (Exception e) { e.printStackTrace(); } diff --git a/src/main/java/com/nbclass/activity/model/OssFile.java b/src/main/java/com/nbclass/activity/model/OssFile.java new file mode 100644 index 0000000..acb9ce6 --- /dev/null +++ b/src/main/java/com/nbclass/activity/model/OssFile.java @@ -0,0 +1,12 @@ +package com.nbclass.activity.model; + +import lombok.Data; + +@Data +public class OssFile { + + private String url; + + private String ori_name; + +} diff --git a/src/main/java/com/nbclass/activity/model/WeiXiUser.java b/src/main/java/com/nbclass/activity/model/WeiXiUser.java index d898ddc..6087a83 100644 --- a/src/main/java/com/nbclass/activity/model/WeiXiUser.java +++ b/src/main/java/com/nbclass/activity/model/WeiXiUser.java @@ -91,5 +91,9 @@ public class WeiXiUser implements Serializable { private Date updateTime; + /** + * 类型(0、外部人员 1、公司内部人员) + */ + private int status; } diff --git a/src/main/java/com/nbclass/activity/service/WxUserService.java b/src/main/java/com/nbclass/activity/service/WxUserService.java index 767b441..fb1275a 100644 --- a/src/main/java/com/nbclass/activity/service/WxUserService.java +++ b/src/main/java/com/nbclass/activity/service/WxUserService.java @@ -33,4 +33,6 @@ public interface WxUserService{ * @return */ String getNickname(String username); + + } diff --git a/src/main/java/com/nbclass/activity/service/impl/ContentServiceImpl.java b/src/main/java/com/nbclass/activity/service/impl/ContentServiceImpl.java index c39b8e2..ede4fc9 100644 --- a/src/main/java/com/nbclass/activity/service/impl/ContentServiceImpl.java +++ b/src/main/java/com/nbclass/activity/service/impl/ContentServiceImpl.java @@ -448,7 +448,7 @@ public class ContentServiceImpl implements ContentService { //查询案例id Long contentId = mapper.getContentId(check.getApplicationId()); //更新案例状态 - mapper.updateContentRelease(contentId,2,1); + mapper.updateContentRelease(contentId,2,2); //更新es的状态 Content entity=mapper.findById(contentId); entity.setVisibility(1); diff --git a/src/main/java/com/nbclass/activity/service/impl/ElasticSearchServiceImpl.java b/src/main/java/com/nbclass/activity/service/impl/ElasticSearchServiceImpl.java index 79fdd58..21ea522 100644 --- a/src/main/java/com/nbclass/activity/service/impl/ElasticSearchServiceImpl.java +++ b/src/main/java/com/nbclass/activity/service/impl/ElasticSearchServiceImpl.java @@ -278,7 +278,7 @@ public class ElasticSearchServiceImpl implements ElasticSearchService { } BoolQueryBuilder boolQueryBuilder = QueryBuilders.boolQuery(); - boolQueryBuilder.must(QueryBuilders.termQuery("visibility", 1)); + boolQueryBuilder.must(QueryBuilders.termQuery("release", 2)); /*if(StringUtils.isNotBlank(type)) { // 案例类型 boolQueryBuilder.must(QueryBuilders.termQuery("type", type)); if (StringUtils.isNoneBlank(keyWord)){ diff --git a/src/main/resources/static/img/login.jpeg b/src/main/resources/static/img/login.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..83461392f438de4bd63a64f87842e6d6d5a7cda4 GIT binary patch literal 74278 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%0D@~J`UvBWo_iP8L~;*l1Z1#Yw#Qt7X{ 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

cKZ!IPjw}UpS3g%!II@+8b(SrO3 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/not_available-generic.png b/src/main/resources/static/img/not_available-generic.png new file mode 100644 index 0000000000000000000000000000000000000000..a12c4781a105dea6cda9e9e511b0073816177722 GIT binary patch literal 4025 zcmb7HdpwhU{~uzi+o4p-VeV45r^8L9kYVK($>}cYPR#kN@dz{Kl&L!@OP-t{T=k$Jm4%avBS4SJA zbsFnnFqo3<39Hj!U4p@6_9-fWtFezjp{1w!hIZx|JyMZx04c4z_*L_o9KV3c z@!gwb#&yn~L3MpeNV>J|YUiEe8V|EBXU-g^OE>lE>q}Fsf4RQdnxJw7yWaN4f-Voz z+1V9a>2&0~p`il9qRKaIZEf+oRqcKUzfO=#tIoRG$uca$ zTE_FU_Ag}VIZeRhBzFQF3oOh%M3OL0&6yu8Msk)S7Vja}PDr9dCJAwG?hPcKqq{u9 zw$TPmhmTE>6cAnG(?mkdFj>=9tEuK^H=|^f?4sCVJg31z+wj%jwpZlHlMEkXpR?03 zCK;hb8BOUhsSN_sc+e$e@R=QaNn~S?|3j2MEREoy2zIq+Etx>al?PpN2!R)ID?Rb={a&-jp}n3Pg5eux4udUM zF{C1AvPibl zW6Z_e5Xdl=)_#ooPm9jBg^-GMSQ5?Mmg-ol^bti0PBS8-g96qM6W>++7%USMG2=j+3qF;T#Ogbn5c zru19dP;TFmse5Vk4mfPPU;EVNb%QQ=z*uE#@{2ksz~}&K$HX#9ZD#mzO#GqW(n-r&br_v#jpRWsTIg)KEzE+6BDIS9&_9U5l=oqf|^>=*cHTVs4l)|Lw}7K8@#!l*E@a)T!Jm6s?0^o6g3q{19EX=cIc?*ZQR zwY6qzA&n<;CSKa4?}EJi_PYMs{|5430Qj!i)e&leJyat@3D=Qp>&WE2po0(?Uw!|W zI4o6USXQ}QKvLZPtl1~sfN zL`PuC*G8Bu)g1jq=m^&_BxSGOjGyT;$W;KTUG-Gl)^@Gx^YFF#ULxu%YDx6_7a4I4 z@m))c^^~OYnY#z~3l`L0#Z>qGUyAgc@)wRx^$BjfqCWcmu?K{Te^9aa_DLnOb&d8^ zi(Pnjalu=# z^Fia8F#`4h5nCrC%_JBQZFAa<$aAX4PyB4*KI?JDGq%!dNF!HWYzS5;^=#=Uou<14nG>2$q zfftp)xV`LPFQ?-Rh@}%a6UGrhG-l=X zC&THq;CPc~kw00~bX-odx&c?gl0vc8;-IWJPpEGbW$=4NJMA^v`ww{U#L?QDDD(4c z^oNfRouJk|Y#^W!;@sBskXt7Yu!q!&fi^RNn^S$}$ia645+3+za|(HtlK0Z##hRo6J@H8-js82sUB5TGEtlUqlCpuZ33_zOJegpwU>&PxxuRqb%j z1y}2sx#QvfP8-+P9XW#c-y#U}cG?xq zd(;~&61;!@xrNj2;lrDonLG(tvALcgIdt=dAryiHNmGLt0*4c5W7|KvIPRtq@-p)_ zfFYv?CG%Qn2<}iZV{;l4XZbzEA7vNJ)u8F2cisFk%G|`nWZed)h_n@?07HpQP&tl+ zS(JhBH9 zy;I@zCib?`r%t<<2-*fX8uBtnbMN(tZ0?&SUkS<-z-b+-qJ^05-xI3(Y;SmH2l&q6 z22BmO5}R5n9fEk9Ku}4>=kY;7ufRu*s4GHkoq6>^K{=!uAS#?>lFEmy#+l~#a%`7nkZ~1b# zF1{PVqd`s=;hk5RgVyf}hrzqomG~*eR z0>#S6hU^NS{$%vm3e~vxe?!XSd~{dh6+P>dTg%nrHNMU*bA@ZCQ_C|v3sIvLqLW=0 zP5kSpmiw`7{PqqRCwDi|SR)En{nzw3h5b4^SWLT9=$8sO%Li_fvBv1t{()5&xuMeS o)ZarRmSf*PtiX}K*2Cmr#1zZ>ipMi#!C4$;d)(2AV(FFgUucl^oB#j- literal 0 HcmV?d00001 diff --git a/src/main/resources/static/img/waiting-generic.png b/src/main/resources/static/img/waiting-generic.png new file mode 100644 index 0000000000000000000000000000000000000000..9dc170c494177de52190a2da672efd31115ae43f GIT binary patch literal 5770 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 EJNOwq!vFvP literal 0 HcmV?d00001 diff --git a/src/main/resources/static/libs/fineuploader/fine-uploader-new.min.css b/src/main/resources/static/libs/fineuploader/fine-uploader-new.min.css new file mode 100644 index 0000000..7e471af --- /dev/null +++ b/src/main/resources/static/libs/fineuploader/fine-uploader-new.min.css @@ -0,0 +1 @@ +.qq-btn{box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset;padding:3px 4px;border:1px solid #ccc;border-radius:2px;color:inherit;background-color:#fff}.qq-upload-continue,.qq-upload-delete,.qq-upload-pause{display:inline}.qq-upload-delete{background-color:#e65c47;color:#fafafa;border-color:#dc523d;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-delete:hover{background-color:#f56b56}.qq-upload-cancel{background-color:#f5d7d7;border-color:#e6c8c8}.qq-upload-cancel:hover{background-color:#ffe1e1}.qq-upload-retry{background-color:#ebf6e0;border-color:#d2ddc7}.qq-upload-retry:hover{background-color:#f7ffec}.qq-upload-continue,.qq-upload-pause{background-color:#00abc7;color:#fafafa;border-color:#2dadc2;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-continue:hover,.qq-upload-pause:hover{background-color:#0fbad6}.qq-upload-button{display:inline;width:105px;margin-bottom:10px;padding:7px 10px;text-align:center;float:left;background:#00abc7;color:#fff;border-radius:2px;border:1px solid #2dadc2;box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset}.qq-upload-button-hover{background:#33b6cc}.qq-upload-button-focus{outline:1px dotted #000}.qq-uploader{position:relative;min-height:200px;max-height:490px;overflow-y:hidden;width:855px;right: -16px;border-radius:6px;background-color:#fdfdfd;border:1px dashed #ccc;padding:20px}.qq-uploader:before{position:absolute;font-size:200%;left:0;width:100%;text-align:center;top:45%;opacity:.25}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#f9f9f9;border-radius:4px;border:1px dashed #ccc;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#fdfdfd;border-radius:4px;border:1px dashed #ccc}.qq-upload-list{margin:0;padding:0;list-style:none;max-height:450px;overflow-y:auto;box-shadow:0 1px 0 rgba(15,15,50,.14);clear:both}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;color:#424242;background-color:#f6f6f6;border-top:1px solid #fff;border-bottom:1px solid #ddd}.qq-upload-list li:first-child{border-top:none}.qq-upload-list li:last-child{border-bottom:none}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-file{vertical-align:middle;display:inline-block;width:300px;text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden;height:18px}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400;cursor:pointer;vertical-align:middle}.qq-upload-status-text{font-size:14px;font-weight:700;display:block}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text{display:inline}.qq-upload-retrying .qq-upload-failed-text{display:inline}.qq-upload-list li.qq-upload-success{background-color:#ebf6e0;color:#424242;border-bottom:1px solid #d3ded1;border-top:1px solid #f7fff5}.qq-upload-list li.qq-upload-fail{background-color:#f5d7d7;color:#424242;border-bottom:1px solid #decaca;border-top:1px solid #fce6e6}.qq-progress-bar{display:block;display:block;background:#00abc7;width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin-left:9px;display:inline;float:right;width:500px}INPUT.qq-edit-filename{position:absolute;opacity:0;z-index:-1}.qq-upload-file.qq-editable{cursor:pointer;margin-right:4px}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}INPUT.qq-edit-filename.qq-editing{position:static;height:28px;padding:0 8px;margin-right:10px;margin-bottom:-5px;border:1px solid #ccc;border-radius:2px;font-size:16px;opacity:1}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:16px}.qq-hide{display:none}.qq-thumbnail-selector{vertical-align:middle;margin-right:12px}.qq-uploader DIALOG{display:none}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG{display:none}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader-new.min.css.map */ diff --git a/src/main/resources/static/libs/fineuploader/jquery.fine-uploader.min.js b/src/main/resources/static/libs/fineuploader/jquery.fine-uploader.min.js new file mode 100644 index 0000000..0dad427 --- /dev/null +++ b/src/main/resources/static/libs/fineuploader/jquery.fine-uploader.min.js @@ -0,0 +1,7 @@ +// Fine Uploader 5.16.2 - MIT licensed. http://fineuploader.com +!function(global){!function(e){"use strict";function t(e){var t=s(e||{}),i=n(t);return o(i),a(t,i),d}function n(e){var t=r("uploaderType"),n=r("endpointType");return t?(t=t.charAt(0).toUpperCase()+t.slice(1).toLowerCase(),n?new qq[n]["FineUploader"+t](e):new qq["FineUploader"+t](e)):n?new qq[n].FineUploader(e):new qq.FineUploader(e)}function i(e,t){var n=d.data("fineuploader");if(!t)return void 0===n?null:n[e];void 0===n&&(n={}),n[e]=t,d.data("fineuploader",n)}function o(e){return i("uploader",e)}function r(e,t){return i(e,t)}function a(t,n){var i=t.callbacks={};e.each(n._options.callbacks,function(t,n){var o,r;o=/^on(\w+)/.exec(t)[1],o=o.substring(0,1).toLowerCase()+o.substring(1),r=d,i[t]=function(){var t,i,a=Array.prototype.slice.call(arguments),s=[];e.each(a,function(e,t){s.push(c(t))}),t=n.apply(this,a);try{i=r.triggerHandler(o,s)}catch(e){qq.log("Caught error in Fine Uploader jQuery event handler: "+e.message,"error")}return null!=t?t:i}}),n._options.callbacks=i}function s(t,n){var i,o;if(i=void 0===n?"basic"!==t.uploaderType?{element:d[0]}:{}:n,e.each(t,function(t,n){e.inArray(t,p)>=0?r(t,n):n instanceof e?i[t]=n[0]:e.isPlainObject(n)?(i[t]={},s(n,i[t])):e.isArray(n)?(o=[],e.each(n,function(t,n){var i={};n instanceof e?e.merge(o,n):e.isPlainObject(n)?(s(n,i),o.push(i)):o.push(n)}),i[t]=o):i[t]=n}),void 0===n)return i}function u(t){return"string"===e.type(t)&&!t.match(/^_/)&&void 0!==o()[t]}function l(e){var t,n=[],i=Array.prototype.slice.call(arguments,1);return s(i,n),t=o()[e].apply(o(),n),c(t)}function c(t){var n=t;return null==t||"object"!=typeof t||1!==t.nodeType&&9!==t.nodeType||!t.cloneNode||(n=e(t)),n}var d,p=["uploaderType","endpointType"];e.fn.fineUploader=function(n){var i=this,r=arguments,a=[];return this.each(function(s,c){if(d=e(c),o()&&u(n)){if(a.push(l.apply(i,r)),1===i.length)return!1}else"object"!=typeof n&&n?e.error("Method "+n+" does not exist on jQuery.fineUploader"):t.apply(i,r)}),1===a.length?a[0]:a.length>1?a:this}}(jQuery),function(e){"use strict";function t(e){e||(e={}),e.dropZoneElements=[u];var t=r(e);return o(t),i(new qq.DragAndDrop(t)),u}function n(e,t){var n=u.data("fineUploaderDnd");if(!t)return void 0===n?null:n[e];void 0===n&&(n={}),n[e]=t,u.data("fineUploaderDnd",n)}function i(e){return n("dndInstance",e)}function o(t){var n=t.callbacks={};e.each(new qq.DragAndDrop.callbacks,function(e,t){var i,o=e;i=u,n[e]=function(){var e=Array.prototype.slice.call(arguments);return i.triggerHandler(o,e)}})}function r(t,n){var i,o;if(i=void 0===n?{}:n,e.each(t,function(t,n){n instanceof e?i[t]=n[0]:e.isPlainObject(n)?(i[t]={},r(n,i[t])):e.isArray(n)?(o=[],e.each(n,function(t,n){n instanceof e?e.merge(o,n):o.push(n)}),i[t]=o):i[t]=n}),void 0===n)return i}function a(t){return"string"===e.type(t)&&"dispose"===t&&void 0!==i()[t]}function s(e){var t=[];return r(Array.prototype.slice.call(arguments,1),t),i()[e].apply(i(),t)}var u;e.fn.fineUploaderDnd=function(n){var o=this,r=arguments,l=[];return this.each(function(c,d){if(u=e(d),i()&&a(n)){if(l.push(s.apply(o,r)),1===o.length)return!1}else"object"!=typeof n&&n?e.error("Method "+n+" does not exist in Fine Uploader's DnD module."):t.apply(o,r)}),1===l.length?l[0]:l.length>1?l:this}}(jQuery);var qq=function(e){"use strict";return{hide:function(){return e.style.display="none",this},attach:function(t,n){return e.addEventListener?e.addEventListener(t,n,!1):e.attachEvent&&e.attachEvent("on"+t,n),function(){qq(e).detach(t,n)}},detach:function(t,n){return e.removeEventListener?e.removeEventListener(t,n,!1):e.attachEvent&&e.detachEvent("on"+t,n),this},contains:function(t){return!!t&&(e===t||(e.contains?e.contains(t):!!(8&t.compareDocumentPosition(e))))},insertBefore:function(t){return t.parentNode.insertBefore(e,t),this},remove:function(){return e.parentNode.removeChild(e),this},css:function(t){if(null==e.style)throw new qq.Error("Can't apply style to node as it is not on the HTMLElement prototype chain!");return null!=t.opacity&&"string"!=typeof e.style.opacity&&void 0!==e.filters&&(t.filter="alpha(opacity="+Math.round(100*t.opacity)+")"),qq.extend(e.style,t),this},hasClass:function(t,n){var i=new RegExp("(^| )"+t+"( |$)");return i.test(e.className)||!(!n||!i.test(e.parentNode.className))},addClass:function(t){return qq(e).hasClass(t)||(e.className+=" "+t),this},removeClass:function(t){var n=new RegExp("(^| )"+t+"( |$)");return e.className=e.className.replace(n," ").replace(/^\s+|\s+$/g,""),this},getByClass:function(t,n){var i,o=[];return n&&e.querySelector?e.querySelector("."+t):e.querySelectorAll?e.querySelectorAll("."+t):(i=e.getElementsByTagName("*"),qq.each(i,function(e,n){qq(n).hasClass(t)&&o.push(n)}),n?o[0]:o)},getFirstByClass:function(t){return qq(e).getByClass(t,!0)},children:function(){for(var t=[],n=e.firstChild;n;)1===n.nodeType&&t.push(n),n=n.nextSibling;return t},setText:function(t){return e.innerText=t,e.textContent=t,this},clearText:function(){return qq(e).setText("")},hasAttribute:function(t){var n;return e.hasAttribute?!!e.hasAttribute(t)&&null==/^false$/i.exec(e.getAttribute(t)):(n=e[t],void 0!==n&&null==/^false$/i.exec(n))}}};!function(){"use strict";qq.canvasToBlob=function(e,t,n){return qq.dataUriToBlob(e.toDataURL(t,n))},qq.dataUriToBlob=function(e){var t,n,i,o,r=function(e,t){var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,i=n&&new n;return i?(i.append(e),i.getBlob(t)):new Blob([e],{type:t})};return n=e.split(",")[0].indexOf("base64")>=0?atob(e.split(",")[1]):decodeURI(e.split(",")[1]),o=e.split(",")[0].split(":")[1].split(";")[0],t=new ArrayBuffer(n.length),i=new Uint8Array(t),qq.each(n,function(e,t){i[e]=t.charCodeAt(0)}),r(t,o)},qq.log=function(e,t){window.console&&(t&&"info"!==t?window.console[t]?window.console[t](e):window.console.log("<"+t+"> "+e):window.console.log(e))},qq.isObject=function(e){return e&&!e.nodeType&&"[object Object]"===Object.prototype.toString.call(e)},qq.isFunction=function(e){return"function"==typeof e},qq.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)||e&&window.ArrayBuffer&&e.buffer&&e.buffer.constructor===ArrayBuffer},qq.isItemList=function(e){return"[object DataTransferItemList]"===Object.prototype.toString.call(e)},qq.isNodeList=function(e){return"[object NodeList]"===Object.prototype.toString.call(e)||e.item&&e.namedItem},qq.isString=function(e){return"[object String]"===Object.prototype.toString.call(e)},qq.trimStr=function(e){return String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")},qq.format=function(e){var t=Array.prototype.slice.call(arguments,1),n=e,i=n.indexOf("{}");return qq.each(t,function(e,t){if(n=n.substring(0,i)+t+n.substring(i+2),i=n.indexOf("{}",i+t.length),i<0)return!1}),n},qq.isFile=function(e){return window.File&&"[object File]"===Object.prototype.toString.call(e)},qq.isFileList=function(e){return window.FileList&&"[object FileList]"===Object.prototype.toString.call(e)},qq.isFileOrInput=function(e){return qq.isFile(e)||qq.isInput(e)},qq.isInput=function(e,t){var n=function(e){var n=e.toLowerCase();return t?"file"!==n:"file"===n};return!!(window.HTMLInputElement&&"[object HTMLInputElement]"===Object.prototype.toString.call(e)&&e.type&&n(e.type))||!!(e.tagName&&"input"===e.tagName.toLowerCase()&&e.type&&n(e.type))},qq.isBlob=function(e){if(window.Blob&&"[object Blob]"===Object.prototype.toString.call(e))return!0},qq.isXhrUploadSupported=function(){var e=document.createElement("input");return e.type="file",void 0!==e.multiple&&"undefined"!=typeof File&&"undefined"!=typeof FormData&&void 0!==qq.createXhrInstance().upload},qq.createXhrInstance=function(){if(window.XMLHttpRequest)return new XMLHttpRequest;try{return new ActiveXObject("MSXML2.XMLHTTP.3.0")}catch(e){return qq.log("Neither XHR or ActiveX are supported!","error"),null}},qq.isFolderDropSupported=function(e){return e.items&&e.items.length>0&&e.items[0].webkitGetAsEntry},qq.isFileChunkingSupported=function(){return!qq.androidStock()&&qq.isXhrUploadSupported()&&(void 0!==File.prototype.slice||void 0!==File.prototype.webkitSlice||void 0!==File.prototype.mozSlice)},qq.sliceBlob=function(e,t,n){return(e.slice||e.mozSlice||e.webkitSlice).call(e,t,n)},qq.arrayBufferToHex=function(e){var t="",n=new Uint8Array(e);return qq.each(n,function(e,n){var i=n.toString(16);i.length<2&&(i="0"+i),t+=i}),t},qq.readBlobToHex=function(e,t,n){var i=qq.sliceBlob(e,t,t+n),o=new FileReader,r=new qq.Promise;return o.onload=function(){r.success(qq.arrayBufferToHex(o.result))},o.onerror=r.failure,o.readAsArrayBuffer(i),r},qq.extend=function(e,t,n){return qq.each(t,function(t,i){n&&qq.isObject(i)?(void 0===e[t]&&(e[t]={}),qq.extend(e[t],i,!0)):e[t]=i}),e},qq.override=function(e,t){var n={},i=t(n);return qq.each(i,function(t,i){void 0!==e[t]&&(n[t]=e[t]),e[t]=i}),e},qq.indexOf=function(e,t,n){if(e.indexOf)return e.indexOf(t,n);n=n||0;var i=e.length;for(n<0&&(n+=i);n=0},qq.safari=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Apple")!==-1},qq.chrome=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Google")!==-1},qq.opera=function(){return void 0!==navigator.vendor&&navigator.vendor.indexOf("Opera")!==-1},qq.firefox=function(){return!qq.edge()&&!qq.ie11()&&navigator.userAgent.indexOf("Mozilla")!==-1&&void 0!==navigator.vendor&&""===navigator.vendor},qq.windows=function(){return"Win32"===navigator.platform},qq.android=function(){return navigator.userAgent.toLowerCase().indexOf("android")!==-1},qq.androidStock=function(){return qq.android()&&navigator.userAgent.toLowerCase().indexOf("chrome")<0},qq.ios6=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 6_")!==-1},qq.ios7=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 7_")!==-1},qq.ios8=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_")!==-1},qq.ios800=function(){return qq.ios()&&navigator.userAgent.indexOf(" OS 8_0 ")!==-1},qq.ios=function(){return navigator.userAgent.indexOf("iPad")!==-1||navigator.userAgent.indexOf("iPod")!==-1||navigator.userAgent.indexOf("iPhone")!==-1},qq.iosChrome=function(){return qq.ios()&&navigator.userAgent.indexOf("CriOS")!==-1},qq.iosSafari=function(){return qq.ios()&&!qq.iosChrome()&&navigator.userAgent.indexOf("Safari")!==-1},qq.iosSafariWebView=function(){return qq.ios()&&!qq.iosChrome()&&!qq.iosSafari()},qq.preventDefault=function(e){e.preventDefault?e.preventDefault():e.returnValue=!1},qq.toElement=function(){var e=document.createElement("div");return function(t){e.innerHTML=t;var n=e.firstChild;return e.removeChild(n),n}}(),qq.each=function(e,t){var n,i;if(e)if(window.Storage&&e.constructor===window.Storage)for(n=0;n0)return e.substr(t,e.length-t)},qq.getFilename=function(e){return qq.isInput(e)?e.value.replace(/.*(\/|\\)/,""):qq.isFile(e)&&null!==e.fileName&&void 0!==e.fileName?e.fileName:e.name},qq.DisposeSupport=function(){var e=[];return{dispose:function(){var t;do t=e.shift(),t&&t();while(t)},attach:function(){var e=arguments;this.addDisposer(qq(e[0]).attach.apply(this,Array.prototype.slice.call(arguments,1)))},addDisposer:function(t){e.push(t)}}}}(),function(){"use strict";"function"==typeof define&&define.amd?define(function(){return qq}):"undefined"!=typeof module&&module.exports?module.exports=qq:global.qq=qq}(),function(){"use strict";qq.Error=function(e){this.message="[Fine Uploader "+qq.version+"] "+e},qq.Error.prototype=new Error}(),qq.version="5.16.2",qq.supportedFeatures=function(){"use strict";function e(){var e,t=!0;try{e=document.createElement("input"),e.type="file",qq(e).hide(),e.disabled&&(t=!1)}catch(e){t=!1}return t}function t(){return(qq.chrome()||qq.opera())&&void 0!==navigator.userAgent.match(/Chrome\/[1][4-9]|Chrome\/[2-9][0-9]/)}function n(){if(window.XMLHttpRequest){return void 0!==qq.createXhrInstance().withCredentials}return!1}function i(){return void 0!==window.XDomainRequest}function o(){return!!n()||i()}function r(){return void 0!==document.createElement("input").webkitdirectory}function a(){try{return!!window.localStorage&&qq.isFunction(window.localStorage.setItem)}catch(e){return!1}}function s(){var e=document.createElement("span");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&!qq.android()&&!qq.ios()}var u,l,c,d,p,h,f,q,m,g,_,v,b,y,S;return u=e(),d=u&&qq.isXhrUploadSupported(),l=d&&!qq.androidStock(),c=d&&s(),p=c&&function(){var e=document.createElement("input");return e.type="file",!!("webkitdirectory"in(e||document.querySelectorAll("input[type=file]")[0]))}(),h=d&&qq.isFileChunkingSupported(),f=d&&h&&a(),q=d&&t(),m=u&&(void 0!==window.postMessage||d),_=n(),g=i(),v=o(),b=r(),y=d&&void 0!==window.FileReader,S=function(){return!!d&&(!qq.androidStock()&&!qq.iosChrome())}(),{ajaxUploading:d,blobUploading:l,canDetermineSize:d,chunking:h,deleteFileCors:v,deleteFileCorsXdr:g,deleteFileCorsXhr:_,dialogElement:!!window.HTMLDialogElement,fileDrop:c,folderDrop:p,folderSelection:b,imagePreviews:y,imageValidation:y,itemSizeValidation:d,pause:h,progressBar:S,resume:f,scaling:y&&l,tiffPreviews:qq.safari(),unlimitedScaledImageSize:!qq.ios(),uploading:u,uploadCors:m,uploadCustomHeaders:d,uploadNonMultipart:d,uploadViaPaste:q}}(),qq.isGenericPromise=function(e){"use strict";return!!(e&&e.then&&qq.isFunction(e.then))},qq.Promise=function(){"use strict";var e,t,n=[],i=[],o=[],r=0;qq.extend(this,{then:function(o,a){return 0===r?(o&&n.push(o),a&&i.push(a)):r===-1?a&&a.apply(null,t):o&&o.apply(null,e),this},done:function(n){return 0===r?o.push(n):n.apply(null,void 0===t?e:t),this},success:function(){return r=1,e=arguments,n.length&&qq.each(n,function(t,n){n.apply(null,e)}),o.length&&qq.each(o,function(t,n){n.apply(null,e)}),this},failure:function(){return r=-1,t=arguments,i.length&&qq.each(i,function(e,n){n.apply(null,t)}),o.length&&qq.each(o,function(e,n){n.apply(null,t)}),this}})},qq.BlobProxy=function(e,t){"use strict";qq.extend(this,{referenceBlob:e,create:function(){return t(e)}})},qq.UploadButton=function(e){"use strict";function t(){var e=document.createElement("input");return e.setAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME,i),e.setAttribute("title",a.title),o.setMultiple(a.multiple,e),a.folders&&qq.supportedFeatures.folderSelection&&e.setAttribute("webkitdirectory",""),a.acceptFiles&&e.setAttribute("accept",a.acceptFiles),e.setAttribute("type","file"),e.setAttribute("name",a.name),qq(e).css({position:"absolute",right:0,top:0,fontFamily:"Arial",fontSize:qq.ie()&&!qq.ie8()?"3500px":"118px",margin:0,padding:0,cursor:"pointer",opacity:0}),!qq.ie7()&&qq(e).css({height:"100%"}),a.element.appendChild(e),r.attach(e,"change",function(){a.onChange(e)}),r.attach(e,"mouseover",function(){qq(a.element).addClass(a.hoverClass)}),r.attach(e,"mouseout",function(){qq(a.element).removeClass(a.hoverClass)}),r.attach(e,"focus",function(){qq(a.element).addClass(a.focusClass)}),r.attach(e,"blur",function(){qq(a.element).removeClass(a.focusClass)}),e}var n,i,o=this,r=new qq.DisposeSupport,a={acceptFiles:null,element:null,focusClass:"qq-upload-button-focus",folders:!1,hoverClass:"qq-upload-button-hover",ios8BrowserCrashWorkaround:!1,multiple:!1,name:"qqfile",onChange:function(e){},title:null};qq.extend(a,e),i=qq.getUniqueId(),qq(a.element).css({position:"relative",overflow:"hidden",direction:"ltr"}),qq.extend(this,{getInput:function(){return n},getButtonId:function(){return i},setMultiple:function(e,t){var n=t||this.getInput();a.ios8BrowserCrashWorkaround&&qq.ios8()&&(qq.iosChrome()||qq.iosSafariWebView())?n.setAttribute("multiple",""):e?n.setAttribute("multiple",""):n.removeAttribute("multiple")},setAcceptFiles:function(e){e!==a.acceptFiles&&n.setAttribute("accept",e)},reset:function(){n.parentNode&&qq(n).remove(),qq(a.element).removeClass(a.focusClass),n=null,n=t()}}),n=t()},qq.UploadButton.BUTTON_ID_ATTR_NAME="qq-button-id",qq.UploadData=function(e){"use strict";function t(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[n])}),t}return o[e]}function n(e){if(qq.isArray(e)){var t=[];return qq.each(e,function(e,n){t.push(o[r[n]])}),t}return o[r[e]]}function i(e){var t=[],n=[].concat(e);return qq.each(n,function(e,n){var i=a[n];void 0!==i&&qq.each(i,function(e,n){t.push(o[n])})}),t}var o=[],r={},a={},s={},u={};qq.extend(this,{addFile:function(t){var n=t.status||qq.status.SUBMITTING,i=o.push({name:t.name,originalName:t.name,uuid:t.uuid,size:null==t.size?-1:t.size,status:n,file:t.file})-1;return t.batchId&&(o[i].batchId=t.batchId,void 0===u[t.batchId]&&(u[t.batchId]=[]),u[t.batchId].push(i)),t.proxyGroupId&&(o[i].proxyGroupId=t.proxyGroupId,void 0===s[t.proxyGroupId]&&(s[t.proxyGroupId]=[]),s[t.proxyGroupId].push(i)),o[i].id=i,r[t.uuid]=i,void 0===a[n]&&(a[n]=[]),a[n].push(i),t.onBeforeStatusChange&&t.onBeforeStatusChange(i),e.onStatusChange(i,null,n),i},retrieve:function(e){return qq.isObject(e)&&o.length?void 0!==e.id?t(e.id):void 0!==e.uuid?n(e.uuid):e.status?i(e.status):void 0:qq.extend([],o,!0)},removeFileRef:function(e){var n=t(e);n&&delete n.file},reset:function(){o=[],r={},a={},u={}},setStatus:function(t,n){var i=o[t].status,r=qq.indexOf(a[i],t);a[i].splice(r,1),o[t].status=n,void 0===a[n]&&(a[n]=[]),a[n].push(t),e.onStatusChange(t,i,n)},uuidChanged:function(e,t){var n=o[e].uuid;o[e].uuid=t,r[t]=e,delete r[n]},updateName:function(e,t){o[e].name=t},updateSize:function(e,t){o[e].size=t},setParentId:function(e,t){o[e].parentId=t},getIdsInProxyGroup:function(e){var t=o[e].proxyGroupId;return t?s[t]:[]},getIdsInBatch:function(e){return u[o[e].batchId]}})},qq.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";qq.basePublicApi={addBlobs:function(e,t,n){this.addFiles(e,t,n)},addInitialFiles:function(e){var t=this;qq.each(e,function(e,n){t._addCannedFile(n)})},addFiles:function(e,t,n){this._maybeHandleIos8SafariWorkaround();var i=0===this._storedIds.length?qq.getUniqueId():this._currentBatchId,o=qq.bind(function(e){this._handleNewFile({blob:e,name:this._options.blobs.defaultName},i,d)},this),r=qq.bind(function(e){this._handleNewFile(e,i,d)},this),a=qq.bind(function(e){var t=qq.canvasToBlob(e);this._handleNewFile({blob:t,name:this._options.blobs.defaultName+".png"},i,d)},this),s=qq.bind(function(e){var t=e.quality&&e.quality/100,n=qq.canvasToBlob(e.canvas,e.type,t);this._handleNewFile({blob:n,name:e.name},i,d)},this),u=qq.bind(function(e){if(qq.isInput(e)&&qq.supportedFeatures.ajaxUploading){var t=Array.prototype.slice.call(e.files),n=this;qq.each(t,function(e,t){n._handleNewFile(t,i,d)})}else this._handleNewFile(e,i,d)},this),l=function(){qq.isFileList(e)&&(e=Array.prototype.slice.call(e)),e=[].concat(e)},c=this,d=[];this._currentBatchId=i,e&&(l(),qq.each(e,function(e,t){qq.isFileOrInput(t)?u(t):qq.isBlob(t)?o(t):qq.isObject(t)?t.blob&&t.name?r(t):t.canvas&&t.name&&s(t):t.tagName&&"canvas"===t.tagName.toLowerCase()?a(t):c.log(t+" is not a valid file container! Ignoring!","warn")}),this.log("Received "+d.length+" files."),this._prepareItemsForUpload(d,t,n))},cancel:function(e){var t=this._uploadData.retrieve({id:e});t&&t.status===qq.status.UPLOAD_FINALIZING?this.log(qq.format("Ignoring cancel for file ID {} ({}). Finalizing upload.",e,this.getName(e)),"error"):this._handler.cancel(e)},cancelAll:function(){var e=[],t=this;qq.extend(e,this._storedIds),qq.each(e,function(e,n){t.cancel(n)}),this._handler.cancelAll()},clearStoredFiles:function(){this._storedIds=[]},continueUpload:function(e){var t=this._uploadData.retrieve({id:e});return!(!qq.supportedFeatures.pause||!this._options.chunking.enabled)&&(t.status===qq.status.PAUSED?(this.log(qq.format("Paused file ID {} ({}) will be continued. Not paused.",e,this.getName(e))),this._uploadFile(e),!0):(this.log(qq.format("Ignoring continue for file ID {} ({}). Not paused.",e,this.getName(e)),"error"),!1))},deleteFile:function(e){return this._onSubmitDelete(e)},doesExist:function(e){return this._handler.isValid(e)},drawThumbnail:function(e,t,n,i,o){var r,a,s=new qq.Promise;return this._imageGenerator?(r=this._thumbnailUrls[e],a={customResizeFunction:o,maxSize:n>0?n:null,scale:n>0},!i&&qq.supportedFeatures.imagePreviews&&(r=this.getFile(e)),null==r?s.failure({container:t,error:"File or URL not found."}):this._imageGenerator.generate(r,t,a).then(function(e){s.success(e)},function(e,t){s.failure({container:e,error:t||"Problem generating thumbnail"})})):s.failure({container:t,error:"Missing image generator module"}),s},getButton:function(e){return this._getButton(this._buttonIdsForFileIds[e])},getEndpoint:function(e){return this._endpointStore.get(e)},getFile:function(e){var t,n=this._handler.getFile(e);return n||(t=this._uploadData.retrieve({id:e}),t&&(n=t.file)),n||null},getInProgress:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED]}).length},getName:function(e){return this._uploadData.retrieve({id:e}).name},getParentId:function(e){var t=this.getUploads({id:e}),n=null;return t&&void 0!==t.parentId&&(n=t.parentId),n},getResumableFilesData:function(){return this._handler.getResumableFilesData()},getSize:function(e){return this._uploadData.retrieve({id:e}).size},getNetUploads:function(){return this._netUploaded},getRemainingAllowedItems:function(){var e=this._currentItemLimit;return e>0?e-this._netUploadedOrQueued:null},getUploads:function(e){return this._uploadData.retrieve(e)},getUuid:function(e){return this._uploadData.retrieve({id:e}).uuid},isResumable:function(e){return this._handler.hasResumeRecord(e)},log:function(e,t){!this._options.debug||t&&"info"!==t?t&&"info"!==t&&qq.log("[Fine Uploader "+qq.version+"] "+e,t):qq.log("[Fine Uploader "+qq.version+"] "+e)},pauseUpload:function(e){var t=this._uploadData.retrieve({id:e});if(!qq.supportedFeatures.pause||!this._options.chunking.enabled)return!1;if(qq.indexOf([qq.status.UPLOADING,qq.status.UPLOAD_RETRYING],t.status)>=0){if(this._handler.pause(e))return this._uploadData.setStatus(e,qq.status.PAUSED),!0;this.log(qq.format("Unable to pause file ID {} ({}).",e,this.getName(e)),"error")}else this.log(qq.format("Ignoring pause for file ID {} ({}). Not in progress.",e,this.getName(e)),"error");return!1},removeFileRef:function(e){this._handler.expunge(e),this._uploadData.removeFileRef(e)},reset:function(){this.log("Resetting uploader..."),this._handler.reset(),this._storedIds=[],this._autoRetries=[],this._retryTimeouts=[],this._preventRetries=[],this._thumbnailUrls=[],qq.each(this._buttons,function(e,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(e){return this._manualRetry(e)},scaleImage:function(e,t){var n=this;return qq.Scaler.prototype.scaleImage(e,t,{log:qq.bind(n.log,n),getFile:qq.bind(n.getFile,n),uploadData:n._uploadData})},setCustomHeaders:function(e,t){this._customHeadersStore.set(e,t)},setCustomResumeData:function(e,t){this._customResumeDataStore.set(t,e)},setDeleteFileCustomHeaders:function(e,t){this._deleteFileCustomHeadersStore.set(e,t)},setDeleteFileEndpoint:function(e,t){this._deleteFileEndpointStore.set(e,t)},setDeleteFileParams:function(e,t){this._deleteFileParamsStore.set(e,t)},setEndpoint:function(e,t){this._endpointStore.set(e,t)},setForm:function(e){this._updateFormSupportAndParams(e)},setItemLimit:function(e){this._currentItemLimit=e},setName:function(e,t){this._uploadData.updateName(e,t)},setParams:function(e,t){this._paramsStore.set(e,t)},setUuid:function(e,t){return this._uploadData.uuidChanged(e,t)},setStatus:function(e,t){if(!this.getUploads({id:e}))throw new qq.Error(e+" is not a valid file ID.");switch(t){case qq.status.DELETED:this._onDeleteComplete(e,null,!1);break;case qq.status.DELETE_FAILED:this._onDeleteComplete(e,null,!0);break;default:var n="Method setStatus called on '"+name+"' not implemented yet for "+t;throw this.log(n),new qq.Error(n)}},uploadStoredFiles:function(){0===this._storedIds.length?this._itemError("noFilesError"):this._uploadStoredFiles()}},qq.basePrivateApi={_addCannedFile:function(e){var t=this;return this._uploadData.addFile({uuid:e.uuid,name:e.name,size:e.size,status:qq.status.UPLOAD_SUCCESSFUL,onBeforeStatusChange:function(n){e.deleteFileEndpoint&&t.setDeleteFileEndpoint(e.deleteFileEndpoint,n),e.deleteFileParams&&t.setDeleteFileParams(e.deleteFileParams,n),e.thumbnailUrl&&(t._thumbnailUrls[n]=e.thumbnailUrl),t._netUploaded++,t._netUploadedOrQueued++}})},_annotateWithButtonId:function(e,t){qq.isFile(e)&&(e.qqButtonId=this._getButtonId(t))},_batchError:function(e){this._options.callbacks.onError(null,null,e,void 0)},_createDeleteHandler:function(){var e=this;return new qq.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:qq.bind(e.log,e),onDelete:function(t){e._onDelete(t),e._options.callbacks.onDelete(t)},onDeleteComplete:function(t,n,i){e._onDeleteComplete(t,n,i),e._options.callbacks.onDeleteComplete(t,n,i)}})},_createPasteHandler:function(){var e=this;return new qq.PasteSupport({targetElement:this._options.paste.targetElement,callbacks:{log:qq.bind(e.log,e),pasteReceived:function(t){e._handleCheckedCallback({name:"onPasteReceived",callback:qq.bind(e._options.callbacks.onPasteReceived,e,t),onSuccess:qq.bind(e._handlePasteSuccess,e,t),identifier:"pasted image"})}}})},_createStore:function(e,t){var n={},i=e,o={},r=t,a=function(e){return qq.isObject(e)?qq.extend({},e):e},s=function(){return qq.isFunction(r)?r():r},u=function(e,t){r&&qq.isObject(t)&&qq.extend(t,s()),o[e]&&qq.extend(t,o[e])};return{set:function(e,t){null==t?(n={},i=a(e)):n[t]=a(e)},get:function(e){var t;return t=null!=e&&n[e]?n[e]:a(i),u(e,t),a(t)},addReadOnly:function(e,t){qq.isObject(n)&&(null===e?qq.isFunction(t)?r=t:(r=r||{},qq.extend(r,t)):(o[e]=o[e]||{},qq.extend(o[e],t)))},remove:function(e){return delete n[e]},reset:function(){n={},o={},i=e}}},_createUploadDataTracker:function(){var e=this;return new qq.UploadData({getName:function(t){return e.getName(t)},getUuid:function(t){return e.getUuid(t)},getSize:function(t){return e.getSize(t)},onStatusChange:function(t,n,i){e._onUploadStatusChange(t,n,i),e._options.callbacks.onStatusChange(t,n,i),e._maybeAllComplete(t,i),e._totalProgress&&setTimeout(function(){e._totalProgress.onStatusChange(t,n,i)},0)}})},_createUploadButton:function(e){function t(){return!!qq.supportedFeatures.ajaxUploading&&(!(i._options.workarounds.iosEmptyVideos&&qq.ios()&&!qq.ios6()&&i._isAllowedExtension(r,".mov"))&&(void 0===e.multiple?i._options.multiple:e.multiple))}var n,i=this,o=e.accept||this._options.validation.acceptFiles,r=e.allowedExtensions||this._options.validation.allowedExtensions;return n=new qq.UploadButton({acceptFiles:o,element:e.element,focusClass:this._options.classes.buttonFocus,folders:e.folders,hoverClass:this._options.classes.buttonHover,ios8BrowserCrashWorkaround:this._options.workarounds.ios8BrowserCrash,multiple:t(),name:this._options.request.inputName,onChange:function(e){i._onInputChange(e)},title:null==e.title?this._options.text.fileInputTitle:e.title}),this._disposeSupport.addDisposer(function(){n.dispose()}),i._buttons.push(n),n},_createUploadHandler:function(e,t){var n=this,i={},o={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:qq.bind(n.log,n),preventRetryParam:this._options.retry.preventRetryResponseProperty,onProgress:function(e,t,o,r){o<0||r<0||(i[e]?i[e].loaded===o&&i[e].total===r||(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)):(n._onProgress(e,t,o,r),n._options.callbacks.onProgress(e,t,o,r)),i[e]={loaded:o,total:r})},onComplete:function(e,t,o,r){delete i[e];var a,s=n.getUploads({id:e}).status;s!==qq.status.UPLOAD_SUCCESSFUL&&s!==qq.status.UPLOAD_FAILED&&(a=n._onComplete(e,t,o,r),a instanceof qq.Promise?a.done(function(){n._options.callbacks.onComplete(e,t,o,r)}):n._options.callbacks.onComplete(e,t,o,r))},onCancel:function(e,t,i){var o=new qq.Promise;return n._handleCheckedCallback({name:"onCancel",callback:qq.bind(n._options.callbacks.onCancel,n,e,t),onFailure:o.failure,onSuccess:function(){i.then(function(){n._onCancel(e,t)}),o.success()},identifier:e}),o},onUploadPrep:qq.bind(this._onUploadPrep,this),onUpload:function(e,t){n._onUpload(e,t);var i=n._options.callbacks.onUpload(e,t);return qq.isGenericPromise(i)?(n.log(qq.format("onUpload for {} returned a Promise - waiting for resolution.",e)),i):(new qq.Promise).success()},onUploadChunk:function(e,t,i){n._onUploadChunk(e,i);var o=n._options.callbacks.onUploadChunk(e,t,i) +;return qq.isGenericPromise(o)?(n.log(qq.format("onUploadChunk for {}.{} returned a Promise - waiting for resolution.",e,i.partIndex)),o):(new qq.Promise).success()},onUploadChunkSuccess:function(e,t,i,o){n._onUploadChunkSuccess(e,t),n._options.callbacks.onUploadChunkSuccess.apply(n,arguments)},onResume:function(e,t,i,o){return n._options.callbacks.onResume(e,t,i,o)},onAutoRetry:function(e,t,i,o){return n._onAutoRetry.apply(n,arguments)},onUuidChanged:function(e,t){n.log("Server requested UUID change from '"+n.getUuid(e)+"' to '"+t+"'"),n.setUuid(e,t)},getName:qq.bind(n.getName,n),getUuid:qq.bind(n.getUuid,n),getSize:qq.bind(n.getSize,n),setSize:qq.bind(n._setSize,n),getDataByUuid:function(e){return n.getUploads({uuid:e})},isQueued:function(e){var t=n.getUploads({id:e}).status;return t===qq.status.QUEUED||t===qq.status.SUBMITTED||t===qq.status.UPLOAD_RETRYING||t===qq.status.PAUSED},getIdsInProxyGroup:n._uploadData.getIdsInProxyGroup,getIdsInBatch:n._uploadData.getIdsInBatch,isInProgress:function(e){return n.getUploads({id:e}).status===qq.status.UPLOADING},getCustomResumeData:qq.bind(n._getCustomResumeData,n),setStatus:function(e,t){n._uploadData.setStatus(e,t)}};return qq.each(this._options.request,function(e,t){o[e]=t}),o.customHeaders=this._customHeadersStore,e&&qq.each(e,function(e,t){o[e]=t}),new qq.UploadHandlerController(o,t)},_fileOrBlobRejected:function(e){this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.REJECTED)},_formatSize:function(e){if(0===e)return e+this._options.text.sizeSymbols[0];var t=-1;do e/=1e3,t++;while(e>999);return Math.max(e,.1).toFixed(1)+this._options.text.sizeSymbols[t]},_generateExtraButtonSpecs:function(){var e=this;this._extraButtonSpecs={},qq.each(this._options.extraButtons,function(t,n){var i=n.multiple,o=qq.extend({},e._options.validation,!0),r=qq.extend({},n);void 0===i&&(i=e._options.multiple),r.validation&&qq.extend(o,n.validation,!0),qq.extend(r,{multiple:i,validation:o},!0),e._initExtraButton(r)})},_getButton:function(e){var t=this._extraButtonSpecs[e];return t?t.element:e===this._defaultButtonId?this._options.button:void 0},_getButtonId:function(e){var t,n,i=e;if(i instanceof qq.BlobProxy&&(i=i.referenceBlob),i&&!qq.isBlob(i)){if(qq.isFile(i))return i.qqButtonId;if("input"===i.tagName.toLowerCase()&&"file"===i.type.toLowerCase())return i.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME);if(t=i.getElementsByTagName("input"),qq.each(t,function(e,t){if("file"===t.getAttribute("type"))return n=t,!1}),n)return n.getAttribute(qq.UploadButton.BUTTON_ID_ATTR_NAME)}},_getCustomResumeData:function(e){return this._customResumeDataStore.get(e)},_getNotFinished:function(){return this._uploadData.retrieve({status:[qq.status.UPLOADING,qq.status.UPLOAD_RETRYING,qq.status.QUEUED,qq.status.SUBMITTING,qq.status.SUBMITTED,qq.status.PAUSED]}).length},_getValidationBase:function(e){var t=this._extraButtonSpecs[e];return t?t.validation:this._options.validation},_getValidationDescriptor:function(e){return e.file instanceof qq.BlobProxy?{name:qq.getFilename(e.file.referenceBlob),size:e.file.referenceBlob.size}:{name:this.getUploads({id:e.id}).name,size:this.getUploads({id:e.id}).size}},_getValidationDescriptors:function(e){var t=this,n=[];return qq.each(e,function(e,i){n.push(t._getValidationDescriptor(i))}),n},_handleCameraAccess:function(){if(this._options.camera.ios&&qq.ios()){var e=this._options.camera.button,t=e?this._getButtonId(e):this._defaultButtonId,n=this._options;t&&t!==this._defaultButtonId&&(n=this._extraButtonSpecs[t]),n.multiple=!1,null===n.validation.acceptFiles?n.validation.acceptFiles="image/*;capture=camera":n.validation.acceptFiles+=",image/*;capture=camera",qq.each(this._buttons,function(e,i){if(i.getButtonId()===t)return i.setMultiple(n.multiple),i.setAcceptFiles(n.acceptFiles),!1})}},_handleCheckedCallback:function(e){var t=this,n=e.callback();return qq.isGenericPromise(n)?(this.log(e.name+" - waiting for "+e.name+" promise to be fulfilled for "+e.identifier),n.then(function(n){t.log(e.name+" promise success for "+e.identifier),e.onSuccess(n)},function(){e.onFailure?(t.log(e.name+" promise failure for "+e.identifier),e.onFailure()):t.log(e.name+" promise failure for "+e.identifier)})):(n!==!1?e.onSuccess(n):e.onFailure?(this.log(e.name+" - return value was 'false' for "+e.identifier+". Invoking failure callback."),e.onFailure()):this.log(e.name+" - return value was 'false' for "+e.identifier+". Will not proceed."),n)},_handleNewFile:function(e,t,n){var i=this,o=qq.getUniqueId(),r=-1,a=qq.getFilename(e),s=e.blob||e,u=this._customNewFileHandler?this._customNewFileHandler:qq.bind(i._handleNewFileGeneric,i);!qq.isInput(s)&&s.size>=0&&(r=s.size),u(s,a,o,r,n,t,this._options.request.uuidName,{uploadData:i._uploadData,paramsStore:i._paramsStore,addFileToHandler:function(e,t){i._handler.add(e,t),i._netUploadedOrQueued++,i._trackButton(e)}})},_handleNewFileGeneric:function(e,t,n,i,o,r){var a=this._uploadData.addFile({uuid:n,name:t,size:i,batchId:r,file:e});this._handler.add(a,e),this._trackButton(a),this._netUploadedOrQueued++,o.push({id:a,file:e})},_handlePasteSuccess:function(e,t){var n=e.type.split("/")[1],i=t;null==i&&(i=this._options.paste.defaultName),i+="."+n,this.addFiles({name:i,blob:e})},_handleDeleteSuccess:function(e){if(this.getUploads({id:e}).status!==qq.status.DELETED){var t=this.getName(e);this._netUploadedOrQueued--,this._netUploaded--,this._handler.expunge(e),this._uploadData.setStatus(e,qq.status.DELETED),this.log("Delete request for '"+t+"' has succeeded.")}},_handleDeleteFailed:function(e,t){var n=this.getName(e);this._uploadData.setStatus(e,qq.status.DELETE_FAILED),this.log("Delete request for '"+n+"' has failed.","error"),t&&void 0!==t.withCredentials?this._options.callbacks.onError(e,n,"Delete request failed with response code "+t.status,t):this._options.callbacks.onError(e,n,"Delete request failed",t)},_initExtraButton:function(e){var t=this._createUploadButton({accept:e.validation.acceptFiles,allowedExtensions:e.validation.allowedExtensions,element:e.element,folders:e.folders,multiple:e.multiple,title:e.fileInputTitle});this._extraButtonSpecs[t.getButtonId()]=e},_initFormSupportAndParams:function(){this._formSupport=qq.FormSupport&&new qq.FormSupport(this._options.form,qq.bind(this.uploadStoredFiles,this),qq.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!(!qq.DeleteFileAjaxRequester||!this._options.deleteFile.enabled)&&(!this._options.cors.expected||(!!qq.supportedFeatures.deleteFileCorsXhr||!(!qq.supportedFeatures.deleteFileCorsXdr||!this._options.cors.allowXdr)))},_isAllowedExtension:function(e,t){var n=!1;return!e.length||(qq.each(e,function(e,i){if(qq.isString(i)){var o=new RegExp("\\."+i+"$","i");if(null!=t.match(o))return n=!0,!1}}),n)},_itemError:function(e,t,n){function i(e,t){a=a.replace(e,t)}var o,r,a=this._options.messages[e],s=[],u=[].concat(t),l=u[0],c=this._getButtonId(n),d=this._getValidationBase(c);return qq.each(d.allowedExtensions,function(e,t){qq.isString(t)&&s.push(t)}),o=s.join(", ").toLowerCase(),i("{file}",this._options.formatFileName(l)),i("{extensions}",o),i("{sizeLimit}",this._formatSize(d.sizeLimit)),i("{minSizeLimit}",this._formatSize(d.minSizeLimit)),r=a.match(/(\{\w+\})/g),null!==r&&qq.each(r,function(e,t){i(t,u[e])}),this._options.callbacks.onError(null,l,a,void 0),a},_manualRetry:function(e,t){if(this._onBeforeManualRetry(e))return this._netUploadedOrQueued++,this._uploadData.setStatus(e,qq.status.UPLOAD_RETRYING),t?t(e):this._handler.retry(e),!0},_maybeAllComplete:function(e,t){var n=this,i=this._getNotFinished();t===qq.status.UPLOAD_SUCCESSFUL?this._succeededSinceLastAllComplete.push(e):t===qq.status.UPLOAD_FAILED&&this._failedSinceLastAllComplete.push(e),0===i&&(this._succeededSinceLastAllComplete.length||this._failedSinceLastAllComplete.length)&&setTimeout(function(){n._onAllComplete(n._succeededSinceLastAllComplete,n._failedSinceLastAllComplete)},0)},_maybeHandleIos8SafariWorkaround:function(){var e=this;if(this._options.workarounds.ios8SafariUploads&&qq.ios800()&&qq.iosSafari())throw setTimeout(function(){window.alert(e._options.messages.unsupportedBrowserIos8Safari)},0),new qq.Error(this._options.messages.unsupportedBrowserIos8Safari)},_maybeParseAndSendUploadError:function(e,t,n,i){if(!n.success)if(i&&200!==i.status&&!n.error)this._options.callbacks.onError(e,t,"XHR returned response code "+i.status,i);else{var o=n.error?n.error:this._options.text.defaultResponseError;this._options.callbacks.onError(e,t,o,i)}},_maybeProcessNextItemAfterOnValidateCallback:function(e,t,n,i,o){var r=this;if(t.length>n)if(e||!this._options.validation.stopOnFirstInvalidFile)setTimeout(function(){var e=r._getValidationDescriptor(t[n]),a=r._getButtonId(t[n].file),s=r._getButton(a);r._handleCheckedCallback({name:"onValidate",callback:qq.bind(r._options.callbacks.onValidate,r,e,s),onSuccess:qq.bind(r._onValidateCallbackSuccess,r,t,n,i,o),onFailure:qq.bind(r._onValidateCallbackFailure,r,t,n,i,o),identifier:"Item '"+e.name+"', size: "+e.size})},0);else if(!e)for(;n0&&this._netUploadedOrQueued+1>n?(this._itemError("retryFailTooManyItems"),!1):(this.log("Retrying upload for '"+t+"' (id: "+e+")..."),!0))):(this.log("'"+e+"' is not a valid file ID","error"),!1)},_onCancel:function(e,t){this._netUploadedOrQueued--,clearTimeout(this._retryTimeouts[e]);var n=qq.indexOf(this._storedIds,e);!this._options.autoUpload&&n>=0&&this._storedIds.splice(n,1),this._uploadData.setStatus(e,qq.status.CANCELED)},_onComplete:function(e,t,n,i){return n.success?(n.thumbnailUrl&&(this._thumbnailUrls[e]=n.thumbnailUrl),this._netUploaded++,this._uploadData.setStatus(e,qq.status.UPLOAD_SUCCESSFUL)):(this._netUploadedOrQueued--,this._uploadData.setStatus(e,qq.status.UPLOAD_FAILED),n[this._options.retry.preventRetryResponseProperty]===!0&&(this._preventRetries[e]=!0)),this._maybeParseAndSendUploadError(e,t,n,i),!!n.success},_onDelete:function(e){this._uploadData.setStatus(e,qq.status.DELETING)},_onDeleteComplete:function(e,t,n){this.getName(e);n?this._handleDeleteFailed(e,t):this._handleDeleteSuccess(e)},_onInputChange:function(e){var t;if(qq.supportedFeatures.ajaxUploading){for(t=0;t0&&this.addFiles(e);qq.each(this._buttons,function(e,t){t.reset()})},_onProgress:function(e,t,n,i){this._totalProgress&&this._totalProgress.onIndividualProgress(e,n,i)},_onSubmit:function(e,t){},_onSubmitCallbackSuccess:function(e,t){this._onSubmit.apply(this,arguments),this._uploadData.setStatus(e,qq.status.SUBMITTED),this._onSubmitted.apply(this,arguments),this._options.autoUpload?(this._options.callbacks.onSubmitted.apply(this,arguments),this._uploadFile(e)):(this._storeForLater(e),this._options.callbacks.onSubmitted.apply(this,arguments))},_onSubmitDelete:function(e,t,n){var i,o=this.getUuid(e);return t&&(i=qq.bind(t,this,e,o,n)),this._isDeletePossible()?(this._handleCheckedCallback({name:"onSubmitDelete",callback:qq.bind(this._options.callbacks.onSubmitDelete,this,e),onSuccess:i||qq.bind(this._deleteHandler.sendDelete,this,e,o,n),identifier:e}),!0):(this.log("Delete request ignored for ID "+e+", 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(e){},_onTotalProgress:function(e,t){this._options.callbacks.onTotalProgress(e,t)},_onUploadPrep:function(e){},_onUpload:function(e,t){this._uploadData.setStatus(e,qq.status.UPLOADING)},_onUploadChunk:function(e,t){},_onUploadChunkSuccess:function(e,t){!this._preventRetries[e]&&this._options.retry.enableAuto&&(this._autoRetries[e]=0)},_onUploadStatusChange:function(e,t,n){n===qq.status.PAUSED&&clearTimeout(this._retryTimeouts[e])},_onValidateBatchCallbackFailure:function(e){var t=this;qq.each(e,function(e,n){t._fileOrBlobRejected(n.id)})},_onValidateBatchCallbackSuccess:function(e,t,n,i,o){var r,a=this._currentItemLimit,s=this._netUploadedOrQueued;0===a||s<=a?t.length>0?this._handleCheckedCallback({name:"onValidate",callback:qq.bind(this._options.callbacks.onValidate,this,e[0],o),onSuccess:qq.bind(this._onValidateCallbackSuccess,this,t,0,n,i),onFailure:qq.bind(this._onValidateCallbackFailure,this,t,0,n,i),identifier:"Item '"+t[0].file.name+"', size: "+t[0].file.size}):this._itemError("noFilesError"):(this._onValidateBatchCallbackFailure(t),r=this._options.messages.tooManyItemsError.replace(/\{netItems\}/g,s).replace(/\{itemLimit\}/g,a),this._batchError(r))},_onValidateCallbackFailure:function(e,t,n,i){var o=t+1;this._fileOrBlobRejected(e[t].id,e[t].file.name),this._maybeProcessNextItemAfterOnValidateCallback(!1,e,o,n,i)},_onValidateCallbackSuccess:function(e,t,n,i){var o=this,r=t+1,a=this._getValidationDescriptor(e[t]);this._validateFileOrBlobData(e[t],a).then(function(){o._upload(e[t].id,n,i),o._maybeProcessNextItemAfterOnValidateCallback(!0,e,r,n,i)},function(){o._maybeProcessNextItemAfterOnValidateCallback(!1,e,r,n,i)})},_prepareItemsForUpload:function(e,t,n){if(0===e.length)return void this._itemError("noFilesError");var i=this._getValidationDescriptors(e),o=this._getButtonId(e[0].file),r=this._getButton(o);this._handleCheckedCallback({name:"onValidateBatch",callback:qq.bind(this._options.callbacks.onValidateBatch,this,i,r),onSuccess:qq.bind(this._onValidateBatchCallbackSuccess,this,i,e,t,n,r),onFailure:qq.bind(this._onValidateBatchCallbackFailure,this,e),identifier:"batch validation"})},_preventLeaveInProgress:function(){var e=this;this._disposeSupport.attach(window,"beforeunload",function(t){if(e.getInProgress())return t=t||window.event,t.returnValue=e._options.messages.onLeave,e._options.messages.onLeave})},_refreshSessionData:function(){var e=this,t=this._options.session;qq.Session&&null!=this._options.session.endpoint&&(this._session||(qq.extend(t,{cors:this._options.cors}),t.log=qq.bind(this.log,this),t.addFileRecord=qq.bind(this._addCannedFile,this),this._session=new qq.Session(t)),setTimeout(function(){e._session.refresh().then(function(t,n){e._sessionRequestComplete(),e._options.callbacks.onSessionRequestComplete(t,!0,n)},function(t,n){e._options.callbacks.onSessionRequestComplete(t,!1,n)})},0))},_sessionRequestComplete:function(){},_setSize:function(e,t){this._uploadData.updateSize(e,t),this._totalProgress&&this._totalProgress.onNewSize(e)},_shouldAutoRetry:function(e){var t=this._uploadData.retrieve({id:e});return!!(!this._preventRetries[e]&&this._options.retry.enableAuto&&t.status!==qq.status.PAUSED&&(void 0===this._autoRetries[e]&&(this._autoRetries[e]=0),this._autoRetries[e]0&&s.sizeLimit&&r>s.sizeLimit?(this._itemError("sizeError",o,i),u.failure()):r>0&&r=0}function n(e){var t=!1;return qq.each(t,function(e,n){if(qq.indexOf(["Accept","Accept-Language","Content-Language","Content-Type"],n)<0)return t=!0,!1}),t}function i(e){return S.cors.expected&&void 0===e.withCredentials}function o(){var e;return(window.XMLHttpRequest||window.ActiveXObject)&&(e=qq.createXhrInstance(),void 0===e.withCredentials&&(e=new XDomainRequest,e.onload=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onprogress=function(){})),e}function r(e,t){var n=y[e]&&y[e].xhr;return n||(n=t?t:S.cors.expected?o():qq.createXhrInstance(),y[e].xhr=n),n}function a(e){var t,n=qq.indexOf(b,e),i=S.maxConnections;delete y[e],b.splice(n,1),b.length>=i&&n=0?o.send(qq.obj2url(s,"")):s&&S.contentType&&S.contentType.toLowerCase().indexOf("application/json")>=0?o.send(JSON.stringify(s)):o.send(s),o}function c(e,t,n){var i=S.endpointStore.get(e),o=y[e].addToPath;return void 0!=o&&(i+="/"+o),v&&t&&(i=qq.obj2url(t,i)),n&&(i=qq.obj2url(n,i)),i}function d(e){return function(){4===r(e).readyState&&s(e)}}function p(e){var t=S.onProgress;t&&(r(e).upload.onprogress=function(n){n.lengthComputable&&t(e,n.loaded,n.total)})}function h(e){return function(){s(e)}}function f(e){return function(){s(e,!0)}}function q(e){var o=r(e),a=S.customHeaders,s=y[e].additionalHeaders||{},u=S.method,l={};i(o)||(S.acceptHeader&&o.setRequestHeader("Accept",S.acceptHeader),S.allowXRequestedWithAndCacheControl&&(S.cors.expected&&t()&&!n(a)||(o.setRequestHeader("X-Requested-With","XMLHttpRequest"),o.setRequestHeader("Cache-Control","no-cache"))),!S.contentType||"POST"!==u&&"PUT"!==u||o.setRequestHeader("Content-Type",S.contentType),qq.extend(l,qq.isFunction(a)?a(e):a),qq.extend(l,s),qq.each(l,function(e,t){o.setRequestHeader(e,t)}))}function m(e){return qq.indexOf(S.successfulResponseCodes[S.method],e)>=0}function g(e,t,n,i,o,r,a){if(y[e]={addToPath:n,additionalParams:i,additionalQueryParams:o,additionalHeaders:r,payload:a},b.push(e)<=S.maxConnections)return l(e,t)}var _,v,b=[],y={},S={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(e,t){},onSend:function(e){},onComplete:function(e,t,n){},onProgress:null};if(qq.extend(S,e),_=S.log,qq.indexOf(S.validMethods,S.method)<0)throw new Error("'"+S.method+"' is not a supported method for this type of request!");v="GET"===S.method||"DELETE"===S.method,qq.extend(this,{initTransport:function(e){var t,n,i,o,r,a;return{withPath:function(e){return t=e,this},withParams:function(e){return n=e,this},withQueryParams:function(e){return a=e,this},withHeaders:function(e){return i=e,this},withPayload:function(e){return o=e,this},withCacheBuster:function(){return r=!0,this},send:function(s){return r&&qq.indexOf(["GET","DELETE"],S.method)>=0&&(n.qqtimestamp=(new Date).getTime()),g(e,s,t,n,a,i,o)}}},canceled:function(e){a(e)}})},qq.UploadHandler=function(e){"use strict";var t=e.proxy,n={},i=t.onCancel,o=t.getName;qq.extend(this,{add:function(e,t){n[e]=t,n[e].temp={}},cancel:function(e){var t=this,r=new qq.Promise;i(e,o(e),r).then(function(){t.isValid(e)&&(n[e].canceled=!0,t.expunge(e)),r.success()})},expunge:function(e){delete n[e]},getThirdPartyFileId:function(e){return n[e].key},isValid:function(e){return void 0!==n[e]},reset:function(){n={}},_getFileState:function(e){return n[e]},_setThirdPartyFileId:function(e,t){n[e].key=t},_wasCanceled:function(e){return!!n[e].canceled}})},qq.UploadHandlerController=function(e,t){"use strict";var n,i,o,r=this,a=!1,s=!1,u={paramsStore:{},maxConnections:3,chunking:{enabled:!1,multiple:{enabled:!1}},log:function(e,t){},onProgress:function(e,t,n,i){},onComplete:function(e,t,n,i){},onCancel:function(e,t){},onUploadPrep:function(e){},onUpload:function(e,t){},onUploadChunk:function(e,t,n){},onUploadChunkSuccess:function(e,t,n,i){},onAutoRetry:function(e,t,n,i){},onResume:function(e,t,n,i){},onUuidChanged:function(e,t){},getName:function(e){},setSize:function(e,t){},isQueued:function(e){},getIdsInProxyGroup:function(e){},getIdsInBatch:function(e){},isInProgress:function(e){}},l={done:function(e,t,n,i){var r=o._getChunkData(e,t);o._getFileState(e).attemptingResume=!1,delete o._getFileState(e).temp.chunkProgress[t],o._getFileState(e).loaded+=r.size,u.onUploadChunkSuccess(e,o._getChunkDataForCallback(r),n,i)},finalize:function(e){var t=u.getSize(e),n=u.getName(e);i("All chunks have been uploaded for "+e+" - finalizing...."),o.finalizeChunks(e).then(function(r,a){i("Finalize successful for "+e);var s=p.normalizeResponse(r,!0);u.onProgress(e,n,t,t),o._maybeDeletePersistedChunkData(e),p.cleanup(e,s,a)},function(t,o){var r=p.normalizeResponse(t,!1);i("Problem finalizing chunks for file ID "+e+" - "+r.error,"error"),(r.reset||o&&u.chunking.success.resetOnStatus.indexOf(o.status)>=0)&&l.reset(e),u.onAutoRetry(e,n,r,o)||p.cleanup(e,r,o)})},handleFailure:function(e,t,n,r){var a=u.getName(t);i("Chunked upload request failed for "+t+", chunk "+e),o.clearCachedChunk(t,e);var d,h=p.normalizeResponse(n,!1);if(h.reset)l.reset(t);else{var f=o._getFileState(t).chunking.inProgress;d=f?qq.indexOf(f,e):-1,d>=0&&(o._getFileState(t).chunking.inProgress.splice(d,1),o._getFileState(t).chunking.remaining.unshift(e))}o._getFileState(t).temp.ignoreFailure||(s&&(o._getFileState(t).temp.ignoreFailure=!0,i(qq.format("Going to attempt to abort these chunks: {}. These are currently in-progress: {}.",JSON.stringify(Object.keys(o._getXhrs(t))),JSON.stringify(o._getFileState(t).chunking.inProgress))),qq.each(o._getXhrs(t),function(e,n){i(qq.format("Attempting to abort file {}.{}. XHR readyState {}. ",t,e,n.readyState)),n.abort(),n._cancelled=!0}),o.moveInProgressToRemaining(t),c.free(t,!0)),u.onAutoRetry(t,a,h,r)||p.cleanup(t,h,r))},hasMoreParts:function(e){return!!o._getFileState(e).chunking.remaining.length},nextPart:function(e){var t=o._getFileState(e).chunking.remaining.shift();return t>=o._getTotalChunks(e)&&(t=null),t},reset:function(e){ +i("Server or callback has ordered chunking effort to be restarted on next attempt for item ID "+e,"error"),o._maybeDeletePersistedChunkData(e),o.reevaluateChunking(e),o._getFileState(e).loaded=0,o._getFileState(e).attemptingResume=!1},sendNext:function(e){var t=u.getSize(e),n=u.getName(e),r=l.nextPart(e),a=o._getChunkData(e,r),d=o._getFileState(e),h=d.attemptingResume,f=d.chunking.inProgress||[];if(null==d.loaded&&(d.loaded=0),h&&u.onResume(e,n,a,d.customResumeData)===!1&&(l.reset(e),r=l.nextPart(e),a=o._getChunkData(e,r),h=!1),null==r&&0===f.length)l.finalize(e);else{f.push(r),o._getFileState(e).chunking.inProgress=f,s&&c.open(e,r),s&&c.available()&&o._getFileState(e).chunking.remaining.length&&l.sendNext(e),0===a.blob.size&&(i(qq.format("Chunk {} for file {} will not be uploaded, zero sized chunk.",r,e),"error"),l.handleFailure(r,e,"File is no longer available",null));u.onUploadChunk(e,n,o._getChunkDataForCallback(a)).then(function(n){if(u.isInProgress(e)){i(qq.format("Sending chunked upload request for item {}.{}, bytes {}-{} of {}.",e,r,a.start+1,a.end,t));var s={chunkIdx:r,id:e,overrides:n,resuming:h};o.uploadChunk(s).then(function(t,n){i("Chunked upload request succeeded for "+e+", chunk "+r),o.clearCachedChunk(e,r);var a=o._getFileState(e).chunking.inProgress||[],s=p.normalizeResponse(t,!0),u=qq.indexOf(a,r);i(qq.format("Chunk {} for file {} uploaded successfully.",r,e)),l.done(e,r,s,n),u>=0&&a.splice(u,1),o._maybePersistChunkedState(e),l.hasMoreParts(e)||0!==a.length?l.hasMoreParts(e)?l.sendNext(e):i(qq.format("File ID {} has no more chunks to send and these chunk indexes are still marked as in-progress: {}",e,JSON.stringify(a))):l.finalize(e)},function(t,n){l.handleFailure(r,e,t,n)}).done(function(){o.clearXhr(e,r)})}else i(qq.format("Not sending chunked upload request for item {}.{} - no longer in progress.",e,r))},function(t){l.handleFailure(r,e,t,null)})}}},c={_open:[],_openChunks:{},_waiting:[],available:function(){var e=u.maxConnections,t=0,n=0;return qq.each(c._openChunks,function(e,i){t++,n+=i.length}),e-(c._open.length-t+n)},free:function(e,t){var n,r=!t,a=qq.indexOf(c._waiting,e),s=qq.indexOf(c._open,e);delete c._openChunks[e],p.getProxyOrBlob(e)instanceof qq.BlobProxy&&(i("Generated blob upload has ended for "+e+", disposing generated blob."),delete o._getFileState(e).file),a>=0?c._waiting.splice(a,1):r&&s>=0&&(c._open.splice(s,1),n=c._waiting.shift(),n>=0&&(c._open.push(n),p.start(n)))},getWaitingOrConnected:function(){var e=[];return qq.each(c._openChunks,function(t,n){n&&n.length&&e.push(parseInt(t))}),qq.each(c._open,function(t,n){c._openChunks[n]||e.push(parseInt(n))}),e=e.concat(c._waiting)},isUsingConnection:function(e){return qq.indexOf(c._open,e)>=0},open:function(e,t){return null==t&&c._waiting.push(e),!!c.available()&&(null==t?(c._waiting.pop(),c._open.push(e)):function(){var n=c._openChunks[e]||[];n.push(t),c._openChunks[e]=n}(),!0)},reset:function(){c._waiting=[],c._open=[]}},d={send:function(e,t){var n=o._getFileState(e);if(!n)return void i("Ignoring send request as this upload may have been cancelled, File ID "+e,"warn");n.loaded=0,i("Sending simple upload request for "+e),o.uploadFile(e).then(function(n,o){i("Simple upload request succeeded for "+e);var r=p.normalizeResponse(n,!0),a=u.getSize(e);u.onProgress(e,t,a,a),p.maybeNewUuid(e,r),p.cleanup(e,r,o)},function(n,o){i("Simple upload request failed for "+e);var r=p.normalizeResponse(n,!1);u.onAutoRetry(e,t,r,o)||p.cleanup(e,r,o)})}},p={cancel:function(e){i("Cancelling "+e),u.paramsStore.remove(e),c.free(e)},cleanup:function(e,t,n){var i=u.getName(e);u.onComplete(e,i,t,n),o._getFileState(e)&&o._clearXhrs&&o._clearXhrs(e),c.free(e)},getProxyOrBlob:function(e){return o.getProxy&&o.getProxy(e)||o.getFile&&o.getFile(e)},initHandler:function(){o=new(t?qq[t]:qq.traditional)[(qq.supportedFeatures.ajaxUploading?"Xhr":"Form")+"UploadHandler"](u,{getCustomResumeData:u.getCustomResumeData,getDataByUuid:u.getDataByUuid,getName:u.getName,getSize:u.getSize,getUuid:u.getUuid,log:i,onCancel:u.onCancel,onProgress:u.onProgress,onUuidChanged:u.onUuidChanged,onFinalizing:function(e){u.setStatus(e,qq.status.UPLOAD_FINALIZING)}}),o._removeExpiredChunkingRecords&&o._removeExpiredChunkingRecords()},isDeferredEligibleForUpload:function(e){return u.isQueued(e)},maybeDefer:function(e,t){return t&&!o.getFile(e)&&t instanceof qq.BlobProxy?(u.onUploadPrep(e),i("Attempting to generate a blob on-demand for "+e),t.create().then(function(t){i("Generated an on-demand blob for "+e),o.updateBlob(e,t),u.setSize(e,t.size),o.reevaluateChunking(e),p.maybeSendDeferredFiles(e)},function(t){var o={};t&&(o.error=t),i(qq.format("Failed to generate blob for ID {}. Error message: {}.",e,t),"error"),u.onComplete(e,u.getName(e),qq.extend(o,n),null),p.maybeSendDeferredFiles(e),c.free(e)}),!1):p.maybeSendDeferredFiles(e)},maybeSendDeferredFiles:function(e){var t=u.getIdsInProxyGroup(e),n=!1;return t&&t.length?(i("Maybe ready to upload proxy group file "+e),qq.each(t,function(t,i){if(p.isDeferredEligibleForUpload(i)&&o.getFile(i))n=i===e,p.now(i);else if(p.isDeferredEligibleForUpload(i))return!1})):(n=!0,p.now(e)),n},maybeNewUuid:function(e,t){void 0!==t.newUuid&&u.onUuidChanged(e,t.newUuid)},normalizeResponse:function(e,t){var n=e;return qq.isObject(e)||(n={},qq.isString(e)&&!t&&(n.error=e)),n.success=t,n},now:function(e){var t=u.getName(e);if(!r.isValid(e))throw new qq.Error(e+" is not a valid file ID to upload!");u.onUpload(e,t).then(function(n){n&&n.pause?(u.setStatus(e,qq.status.PAUSED),o.pause(e),c.free(e)):a&&o._shouldChunkThisFile(e)?l.sendNext(e):d.send(e,t)},function(n){if(n=n||{},i(e+" upload start aborted due to rejected onUpload Promise - details: "+n,"error"),!u.onAutoRetry(e,t,n.responseJSON||{})){var o=p.normalizeResponse(n.responseJSON,!1);p.cleanup(e,o)}})},start:function(e){var t=p.getProxyOrBlob(e);return t?p.maybeDefer(e,t):(p.now(e),!0)}};qq.extend(this,{add:function(e,t){o.add.apply(this,arguments)},upload:function(e){return!!c.open(e)&&p.start(e)},retry:function(e){return s&&(o._getFileState(e).temp.ignoreFailure=!1),c.isUsingConnection(e)?p.start(e):r.upload(e)},cancel:function(e){var t=o.cancel(e);qq.isGenericPromise(t)?t.then(function(){p.cancel(e)}):t!==!1&&p.cancel(e)},cancelAll:function(){var e,t=c.getWaitingOrConnected();if(t.length)for(e=t.length-1;e>=0;e--)r.cancel(t[e]);c.reset()},getFile:function(e){return o.getProxy&&o.getProxy(e)?o.getProxy(e).referenceBlob:o.getFile&&o.getFile(e)},isProxied:function(e){return!(!o.getProxy||!o.getProxy(e))},getInput:function(e){if(o.getInput)return o.getInput(e)},reset:function(){i("Resetting upload handler"),r.cancelAll(),c.reset(),o.reset()},expunge:function(e){if(r.isValid(e))return o.expunge(e)},isValid:function(e){return o.isValid(e)},hasResumeRecord:function(e){var t=o.isValid(e)&&o._getLocalStorageId&&o._getLocalStorageId(e);return!!t&&!!localStorage.getItem(t)},getResumableFilesData:function(){return o.getResumableFilesData?o.getResumableFilesData():[]},getThirdPartyFileId:function(e){if(r.isValid(e))return o.getThirdPartyFileId(e)},pause:function(e){return!!(r.isResumable(e)&&o.pause&&r.isValid(e)&&o.pause(e))&&(c.free(e),o.moveInProgressToRemaining(e),!0)},isAttemptingResume:function(e){return!!o.isAttemptingResume&&o.isAttemptingResume(e)},isResumable:function(e){return!!o.isResumable&&o.isResumable(e)}}),qq.extend(u,e),i=u.log,a=u.chunking.enabled&&qq.supportedFeatures.chunking,s=a&&u.chunking.concurrent.enabled,n=function(){var e={};return e[u.preventRetryParam]=!0,e}(),p.initHandler()},qq.WindowReceiveMessage=function(e){"use strict";var t={log:function(e,t){}},n={};qq.extend(t,e),qq.extend(this,{receiveMessage:function(e,t){var i=function(e){t(e.data)};window.postMessage?n[e]=qq(window).attach("message",i):log("iframe message passing not supported in this browser!","error")},stopReceivingMessages:function(e){if(window.postMessage){var t=n[e];t&&t()}}})},qq.FormUploadHandler=function(e){"use strict";function t(e){delete c[e],p&&(clearTimeout(d[e]),delete d[e],m.stopReceivingMessages(e));var t=document.getElementById(a._getIframeName(e));t&&(t.setAttribute("src","javascript:false;"),qq(t).remove())}function n(e){return e.split("_")[0]}function i(e){var t=qq.toElement("