This file is indexed.

/usr/share/javascript/angular.js/FileAPI.min.js is in libjs-angular-file-upload 12.0.4+dfsg1-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

1
2
3
4
/* FileAPI 2.0.7 - BSD | git://github.com/mailru/FileAPI.git
 * FileAPI — a set of  javascript tools for working with files. Multiupload, drag'n'drop and chunked file upload. Images: crop, resize and auto orientation by EXIF.
 */
(function(d){var e=d.HTMLCanvasElement&&d.HTMLCanvasElement.prototype,c=d.Blob&&(function(){try{return Boolean(new Blob())}catch(g){return false}}()),f=c&&d.Uint8Array&&(function(){try{return new Blob([new Uint8Array(100)]).size===100}catch(g){return false}}()),b=d.BlobBuilder||d.WebKitBlobBuilder||d.MozBlobBuilder||d.MSBlobBuilder,a=(c||b)&&d.atob&&d.ArrayBuffer&&d.Uint8Array&&function(h){var n,k,m,j,g,l;if(h.split(",")[0].indexOf("base64")>=0){n=atob(h.split(",")[1])}else{n=decodeURIComponent(h.split(",")[1])}k=new ArrayBuffer(n.length);m=new Uint8Array(k);for(j=0;j<n.length;j+=1){m[j]=n.charCodeAt(j)}g=h.split(",")[0].split(":")[1].split(";")[0];if(c){return new Blob([f?m:k],{type:g})}l=new b();l.append(k);return l.getBlob(g)};if(d.HTMLCanvasElement&&!e.toBlob){if(e.mozGetAsFile){e.toBlob=function(i,g,h){if(h&&e.toDataURL&&a){i(a(this.toDataURL(g,h)))}else{i(this.mozGetAsFile("blob",g))}}}else{if(e.toDataURL&&a){e.toBlob=function(i,g,h){i(a(this.toDataURL(g,h)))}}}}d.dataURLtoBlob=a})(window);(function(O,z){var M=1,X=function(){},h=O.document,w=h.doctype||{},E=O.navigator.userAgent,f=(O.createObjectURL&&O)||(O.URL&&URL.revokeObjectURL&&URL)||(O.webkitURL&&webkitURL),p=O.Blob,n=O.File,J=O.FileReader,A=O.FormData,S=O.XMLHttpRequest,u=O.jQuery,L=!!(n&&(J&&(O.Uint8Array||A||S.prototype.sendAsBinary)))&&!(/safari\//i.test(E)&&!/chrome\//i.test(E)&&/windows/i.test(E)),s=L&&("withCredentials" in (new S)),H=L&&!!p&&!!(p.prototype.webkitSlice||p.prototype.mozSlice||p.prototype.slice),Q=O.dataURLtoBlob,Z=/img/i,V=/canvas/i,U=/img|canvas/i,g=/input/i,N=/^data:[^,]+,/,B={}.toString,x=O.Math,i=function(aa){aa=new O.Number(x.pow(1024,aa));aa.from=function(ab){return x.round(ab*this)};return aa},D={},l=[],b="abort progress error load loadend",r="status statusText readyState response responseXML responseText responseBody".split(" "),o="currentTarget",I="preventDefault",Y=function(aa){return aa&&("length" in aa)},R=function(ae,ad,aa){if(ae){if(Y(ae)){for(var ac=0,af=ae.length;ac<af;ac++){if(ac in ae){ad.call(aa,ae[ac],ac,ae)}}}else{for(var ab in ae){if(ae.hasOwnProperty(ab)){ad.call(aa,ae[ab],ab,ae)}}}}},y=function(ad){var aa=arguments,ab=1,ac=function(af,ae){ad[ae]=af};for(;ab<aa.length;ab++){R(aa[ab],ac)}return ad},C=function(ad,ac,ab){if(ad){var aa=e.uid(ad);if(!D[aa]){D[aa]={}}var ae=(J&&ad)&&(ad instanceof J);R(ac.split(/\s+/),function(af){if(u&&!ae){u.event.add(ad,af,ab)}else{if(!D[aa][af]){D[aa][af]=[]}D[aa][af].push(ab);if(ad.addEventListener){ad.addEventListener(af,ab,false)}else{if(ad.attachEvent){ad.attachEvent("on"+af,ab)}else{ad["on"+af]=ab}}}})}},P=function(ae,ad,ac){if(ae){var ab=e.uid(ae),aa=D[ab]||{};var af=(J&&ae)&&(ae instanceof J);R(ad.split(/\s+/),function(ai){if(u&&!af){u.event.remove(ae,ai,ac)}else{var ah=aa[ai]||[],ag=ah.length;while(ag--){if(ah[ag]===ac){ah.splice(ag,1);break}}if(ae.addEventListener){ae.removeEventListener(ai,ac,false)}else{if(ae.detachEvent){ae.detachEvent("on"+ai,ac)}else{ae["on"+ai]=null}}}})}},k=function(ad,ac,ab){C(ad,ac,function aa(ae){P(ad,ac,aa);ab(ae)})},t=function(aa){if(!aa.target){aa.target=O.event&&O.event.srcElement||h}if(aa.target.nodeType===3){aa.target=aa.target.parentNode}return aa},G=function(aa){var ab=h.createElement("input");ab.setAttribute("type","file");return aa in ab},e={version:"2.0.7",cors:false,html5:true,media:false,formData:true,multiPassResize:true,debug:false,pingUrl:false,multiFlash:false,flashAbortTimeout:0,withCredentials:true,staticPath:"./dist/",flashUrl:0,flashImageUrl:0,postNameConcat:function(ab,aa){return ab+(aa!=null?"["+aa+"]":"")},ext2mime:{jpg:"image/jpeg",tif:"image/tiff",txt:"text/plain"},accept:{"image/*":"art bm bmp dwg dxf cbr cbz fif fpx gif ico iefs jfif jpe jpeg jpg jps jut mcf nap nif pbm pcx pgm pict pm png pnm qif qtif ras rast rf rp svf tga tif tiff xbm xbm xpm xwd","audio/*":"m4a flac aac rm mpa wav wma ogg mp3 mp2 m3u mod amf dmf dsm far gdm imf it m15 med okt s3m stm sfx ult uni xm sid ac3 dts cue aif aiff wpl ape mac mpc mpp shn wv nsf spc gym adplug adx dsp adp ymf ast afc hps xs","video/*":"m4v 3gp nsv ts ty strm rm rmvb m3u ifo mov qt divx xvid bivx vob nrg img iso pva wmv asf asx ogm m2v avi bin dat dvr-ms mpg mpeg mp4 mkv avc vp3 svq3 nuv viv dv fli flv wpl"},uploadRetry:0,networkDownRetryTimeout:5000,chunkSize:0,chunkUploadRetry:0,chunkNetworkDownRetryTimeout:2000,KB:i(1),MB:i(2),GB:i(3),TB:i(4),EMPTY_PNG:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAC0lEQVQIW2NkAAIAAAoAAggA9GkAAAAASUVORK5CYII=",expando:"fileapi"+(new Date).getTime(),uid:function(aa){return aa?(aa[e.expando]=aa[e.expando]||e.uid()):(++M,e.expando+M)},log:function(){if(e.debug&&e._supportConsoleLog){if(e._supportConsoleLogApply){console.log.apply(console,arguments)}else{console.log([].join.call(arguments," "))}}},newImage:function(ac,ab){var aa=h.createElement("img");if(ab){e.event.one(aa,"error load",function(ad){ab(ad.type=="error",aa);aa=null})}aa.src=ac;return aa},getXHR:function(){var ab;if(S){ab=new S}else{if(O.ActiveXObject){try{ab=new ActiveXObject("MSXML2.XMLHttp.3.0")}catch(aa){ab=new ActiveXObject("Microsoft.XMLHTTP")}}}return ab},isArray:Y,support:{dnd:s&&("ondrop" in h.createElement("div")),cors:s,html5:L,chunked:H,dataURI:true,accept:G("accept"),multiple:G("multiple")},event:{on:C,off:P,one:k,fix:t},throttle:function(ac,ab){var ae,aa;return function ad(){aa=arguments;if(!ae){ac.apply(O,aa);ae=setTimeout(function(){ae=0;ac.apply(O,aa)},ab)}}},F:function(){},parseJSON:function(ab){var aa;if(O.JSON&&JSON.parse){aa=JSON.parse(ab)}else{aa=(new Function("return ("+ab.replace(/([\r\n])/g,"\\$1")+");"))()}return aa},trim:function(aa){aa=String(aa);return aa.trim?aa.trim():aa.replace(/^\s+|\s+$/g,"")},defer:function(){var ac=[],aa,ab,ad={resolve:function(af,ae){ad.resolve=X;ab=af||false;aa=ae;while(ae=ac.shift()){ae(ab,aa)}},then:function(ae){if(ab!==z){ae(ab,aa)}else{ac.push(ae)}}};return ad},queue:function(ad){var ab=0,af=0,ae=false,ac=false,aa={inc:function(){af++},next:function(){ab++;setTimeout(aa.check,0)},check:function(){(ab>=af)&&!ae&&aa.end()},isFail:function(){return ae},fail:function(){!ae&&ad(ae=true)},end:function(){if(!ac){ac=true;ad()}}};return aa},each:R,afor:function(ae,ad){var ab=0,ac=ae.length;if(Y(ae)&&ac--){(function aa(){ad(ac!=ab&&aa,ae[ab],ab++)})()}else{ad(false)}},extend:y,isFile:function(aa){return B.call(aa)==="[object File]"},isBlob:function(aa){return this.isFile(aa)||(B.call(aa)==="[object Blob]")},isCanvas:function(aa){return aa&&V.test(aa.nodeName)},getFilesFilter:function(aa){aa=typeof aa=="string"?aa:(aa.getAttribute&&aa.getAttribute("accept")||"");return aa?new RegExp("("+aa.replace(/\./g,"\\.").replace(/,/g,"|")+")$","i"):/./},readAsDataURL:function(aa,ab){if(e.isCanvas(aa)){q(aa,ab,"load",e.toDataURL(aa))}else{m(aa,ab,"DataURL")}},readAsBinaryString:function(aa,ab){if(v("BinaryString")){m(aa,ab,"BinaryString")}else{m(aa,function(ac){if(ac.type=="load"){try{ac.result=e.toBinaryString(ac.result)}catch(ad){ac.type="error";ac.message=ad.toString()}}ab(ac)},"DataURL")}},readAsArrayBuffer:function(aa,ab){m(aa,ab,"ArrayBuffer")},readAsText:function(aa,ac,ab){if(!ab){ab=ac;ac="utf-8"}m(aa,ab,"Text",ac)},toDataURL:function(ab,aa){if(typeof ab=="string"){return ab}else{if(ab.toDataURL){return ab.toDataURL(aa||"image/png")}}},toBinaryString:function(aa){return O.atob(e.toDataURL(aa).replace(N,""))},readAsImage:function(ad,ae,ab){if(e.isFile(ad)){if(f){var af=f.createObjectURL(ad);if(af===z){q(ad,ae,"error")}else{e.readAsImage(af,ae,ab)}}else{e.readAsDataURL(ad,function(ah){if(ah.type=="load"){e.readAsImage(ah.result,ae,ab)}else{if(ab||ah.type=="error"){q(ad,ae,ah,null,{loaded:ah.loaded,total:ah.total})}}})}}else{if(e.isCanvas(ad)){q(ad,ae,"load",ad)}else{if(Z.test(ad.nodeName)){if(ad.complete){q(ad,ae,"load",ad)}else{var ac="error abort load";k(ad,ac,function ag(ah){if(ah.type=="load"&&f){f.revokeObjectURL(ad.src)}P(ad,ac,ag);q(ad,ae,ah,ad)})}}else{if(ad.iframe){q(ad,ae,{type:"error"})}else{var aa=e.newImage(ad.dataURL||ad);e.readAsImage(aa,ae,ab)}}}}},checkFileObj:function(aa){var ac={},ab=e.accept;if(typeof aa=="object"){ac=aa}else{ac.name=(aa+"").split(/\\|\//g).pop()}if(ac.type==null){ac.type=ac.name.split(".").pop()}R(ab,function(ae,ad){ae=new RegExp(ae.replace(/\s/g,"|"),"i");if(ae.test(ac.type)||e.ext2mime[ac.type]){ac.type=e.ext2mime[ac.type]||(ad.split("/")[0]+"/"+ac.type)}});return ac},getDropFiles:function(ab,af){var ac=[],ae=K(ab),ad=Y(ae.items)&&ae.items[0]&&T(ae.items[0]),aa=e.queue(function(){af(ac)});R((ad?ae.items:ae.files)||[],function(ah){aa.inc();try{if(ad){j(ah,function(aj,ai){if(aj){e.log("[err] getDropFiles:",aj)}else{ac.push.apply(ac,ai)}aa.next()})}else{d(ah,function(ai){ai&&ac.push(ah);aa.next()})}}catch(ag){aa.next();e.log("[err] getDropFiles: ",ag)}});aa.check()},getFiles:function(aa,ab,ad){var ac=[];if(ad){e.filterFiles(e.getFiles(aa),ab,ad);return null}if(aa.jquery){aa.each(function(){ac=ac.concat(e.getFiles(this))});aa=ac;ac=[]}if(typeof ab=="string"){ab=e.getFilesFilter(ab)}if(aa.originalEvent){aa=t(aa.originalEvent)}else{if(aa.srcElement){aa=t(aa)}}if(aa.dataTransfer){aa=aa.dataTransfer}else{if(aa.target){aa=aa.target}}if(aa.files){ac=aa.files;if(!L){ac[0].blob=aa;ac[0].iframe=true}}else{if(!L&&F(aa)){if(e.trim(aa.value)){ac=[e.checkFileObj(aa.value)];ac[0].blob=aa;ac[0].iframe=true}}else{if(Y(aa)){ac=aa}}}return e.filter(ac,function(ae){return !ab||ab.test(ae.name)})},getTotalSize:function(ac){var ab=0,aa=ac&&ac.length;while(aa--){ab+=ac[aa].size}return ab},getInfo:function(ac,ad){var ae={},ab=l.concat();if(e.isFile(ac)){(function aa(){var af=ab.shift();if(af){if(af.test(ac.type)){af(ac,function(ah,ag){if(ah){ad(ah)}else{y(ae,ag);aa()}})}else{aa()}}else{ad(false,ae)}})()}else{ad("not_support_info",ae)}},addInfoReader:function(ab,aa){aa.test=function(ac){return ab.test(ac)};l.push(aa)},filter:function(ab,ad){var aa=[],ac=0,af=ab.length,ae;for(;ac<af;ac++){if(ac in ab){ae=ab[ac];if(ad.call(ae,ae,ac,ab)){aa.push(ae)}}}return aa},filterFiles:function(ag,ah,af){if(ag.length){var ac=ag.concat(),ae,ab=[],aa=[];(function ad(){if(ac.length){ae=ac.shift();e.getInfo(ae,function(ai,aj){(ah(ae,ai?false:aj)?ab:aa).push(ae);ad()})}else{af(ab,aa)}})()}else{af([],ag)}},upload:function(ad){ad=y({jsonp:"callback",prepare:e.F,beforeupload:e.F,upload:e.F,fileupload:e.F,fileprogress:e.F,filecomplete:e.F,progress:e.F,complete:e.F,pause:e.F,imageOriginal:true,chunkSize:e.chunkSize,chunkUploadRetry:e.chunkUploadRetry,uploadRetry:e.uploadRetry},ad);if(ad.imageAutoOrientation&&!ad.imageTransform){ad.imageTransform={rotate:"auto"}}var ae=new e.XHR(ad),aa=this._getFilesDataArray(ad.files),ah=this,ab=0,af=0,ag,ac=false;R(aa,function(ai){ab+=ai.size});ae.files=[];R(aa,function(ai){ae.files.push(ai.file)});ae.total=ab;ae.loaded=0;ae.filesLeft=aa.length;ad.beforeupload(ae,ad);ag=function(){var al=aa.shift(),ak=al&&al.file,aj=false,ai=a(ad);ae.filesLeft=aa.length;if(ak&&ak.name===e.expando){ak=null;e.log("[warn] FileAPI.upload() — called without files")}if((ae.statusText!="abort"||ae.current)&&al){ac=false;ae.currentFile=ak;if(ak&&ad.prepare(ak,ai)===false){ag.call(ah);return}ai.file=ak;ah._getFormData(ai,al,function(an){if(!af){ad.upload(ae,ad)}var ao=new e.XHR(y({},ai,{upload:ak?function(){ad.fileupload(ak,ao,ai)}:X,progress:ak?function(ap){if(!aj){aj=(ap.loaded===ap.total);ad.fileprogress({type:"progress",total:al.total=ap.total,loaded:al.loaded=ap.loaded},ak,ao,ai);ad.progress({type:"progress",total:ab,loaded:ae.loaded=(af+al.size*(ap.loaded/ap.total))|0},ak,ao,ai)}}:X,complete:function(ap){R(r,function(aq){ae[aq]=ao[aq]});if(ak){al.total=(al.total||al.size);al.loaded=al.total;if(!ap){this.progress(al);aj=true;af+=al.size;ae.loaded=af}ad.filecomplete(ap,ao,ak,ai)}setTimeout(function(){ag.call(ah)},0)}}));ae.abort=function(ap){if(!ap){aa.length=0}this.current=ap;ao.abort()};ao.send(an)})}else{var am=ae.status==200||ae.status==201||ae.status==204;ad.complete(am?false:(ae.statusText||"error"),ae,ad);ac=true}};setTimeout(ag,0);ae.append=function(ai,aj){ai=e._getFilesDataArray([].concat(ai));R(ai,function(ak){ab+=ak.size;ae.files.push(ak.file);if(aj){aa.unshift(ak)}else{aa.push(ak)}});ae.statusText="";if(ac){ag.call(ah)}};ae.remove=function(ak){var aj=aa.length,ai;while(aj--){if(aa[aj].file==ak){ai=aa.splice(aj,1);ab-=ai.size}}return ai};return ae},_getFilesDataArray:function(ad){var ac=[],aa={};if(F(ad)){var ab=e.getFiles(ad);aa[ad.name||"file"]=ad.getAttribute("multiple")!==null?ab:ab[0]}else{if(Y(ad)&&F(ad[0])){R(ad,function(af){aa[af.name||"file"]=e.getFiles(af)})}else{aa=ad}}R(aa,function ae(ag,af){if(Y(ag)){R(ag,function(ah){ae(ah,af)})}else{if(ag&&(ag.name||ag.image)){ac.push({name:af,file:ag,size:ag.size,total:ag.size,loaded:0})}}});if(!ac.length){ac.push({file:{name:e.expando}})}return ac},_getFormData:function(an,ag,ak){var ae=ag.file,ab=ag.name,aa=ae.name,aj=ae.type,am=e.support.transform&&an.imageTransform,ah=new e.Form,ai=e.queue(function(){ak(ah)}),ad=am&&c(am),af=e.postNameConcat;R(an.data,function al(ap,ao){if(typeof ap=="object"){R(ap,function(aq,ar){al(aq,af(ao,ar))})}else{ah.append(ao,ap)}});(function ac(ao){if(ao.image){ai.inc();ao.toData(function(ap,aq){aa=aa||(new Date).getTime()+".png";ac(aq);ai.next()})}else{if(e.Image&&am&&(/^image/.test(ao.type)||U.test(ao.nodeName))){ai.inc();if(ad){am=[am]}e.Image.transform(ao,am,an.imageAutoOrientation,function(ar,ap){if(ad&&!ar){if(!Q&&!e.flashEngine){ah.multipart=true}ah.append(ab,ap[0],aa,am[0].type||aj)}else{var aq=0;if(!ar){R(ap,function(au,at){if(!Q&&!e.flashEngine){ah.multipart=true}if(!am[at].postName){aq=1}ah.append(am[at].postName||af(ab,at),au,aa,am[at].type||aj)})}if(ar||an.imageOriginal){ah.append(af(ab,(aq?"original":null)),ao,aa,aj)}}ai.next()})}else{if(aa!==e.expando){ah.append(ab,ao,aa)}}}})(ae);ai.check()},reset:function(ac,aa){var ab,ad;if(u){ad=u(ac).clone(true).insertBefore(ac).val("")[0];if(!aa){u(ac).remove()}}else{ab=ac.parentNode;ad=ab.insertBefore(ac.cloneNode(true),ac);ad.value="";if(!aa){ab.removeChild(ac)}R(D[e.uid(ac)],function(ae,af){R(ae,function(ag){P(ac,af,ag);C(ad,af,ag)})})}return ad},load:function(aa,ab){var ac=e.getXHR();if(ac){ac.open("GET",aa,true);if(ac.overrideMimeType){ac.overrideMimeType("text/plain; charset=x-user-defined")}C(ac,"progress",function(ad){if(ad.lengthComputable){ab({type:ad.type,loaded:ad.loaded,total:ad.total},ac)}});ac.onreadystatechange=function(){if(ac.readyState==4){ac.onreadystatechange=null;if(ac.status==200){aa=aa.split("/");var ad={name:aa[aa.length-1],size:ac.getResponseHeader("Content-Length"),type:ac.getResponseHeader("Content-Type")};ad.dataURL="data:"+ad.type+";base64,"+e.encode64(ac.responseBody||ac.responseText);ab({type:"load",result:ad},ac)}else{ab({type:"error"},ac)}}};ac.send(null)}else{ab({type:"error"})}return ac},encode64:function(ad){var aa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",ab="",ac=0;if(typeof ad!=="string"){ad=String(ad)}while(ac<ad.length){var ah=ad.charCodeAt(ac++)&255,af=ad.charCodeAt(ac++)&255,ae=ad.charCodeAt(ac++)&255,ak=ah>>2,aj=((ah&3)<<4)|(af>>4),ai,ag;if(isNaN(af)){ai=ag=64}else{ai=((af&15)<<2)|(ae>>6);ag=isNaN(ae)?64:ae&63}ab+=aa.charAt(ak)+aa.charAt(aj)+aa.charAt(ai)+aa.charAt(ag)}return ab}};function q(af,ae,ab,ac,ad){var aa={type:ab.type||ab,target:af,result:ac};y(aa,ad);ae(aa)}function v(aa){return J&&!!J.prototype["readAs"+aa]}function m(ab,ac,aa,ae){if(e.isBlob(ab)&&v(aa)){var ag=new J;C(ag,b,function af(ah){var ai=ah.type;if(ai=="progress"){q(ab,ac,ah,ah.target.result,{loaded:ah.loaded,total:ah.total})}else{if(ai=="loadend"){P(ag,b,af);ag=null}else{q(ab,ac,ah,ah.target.result)}}});try{if(ae){ag["readAs"+aa](ab,ae)}else{ag["readAs"+aa](ab)}}catch(ad){q(ab,ac,"error",z,{error:ad.toString()})}}else{q(ab,ac,"error",z,{error:"FileReader_not_support_"+aa})}}function d(aa,ad){if(!aa.type&&(aa.size%4096)===0&&(aa.size<=102400)){if(J){try{var ac=new J();k(ac,b,function(ae){var af=ae.type!="error";ad(af);if(af){ac.abort()}});ac.readAsDataURL(aa)}catch(ab){ad(false)}}else{ad(null)}}else{ad(true)}}function T(ab){var aa;if(ab.getAsEntry){aa=ab.getAsEntry()}else{if(ab.webkitGetAsEntry){aa=ab.webkitGetAsEntry()}}return aa}function j(ac,ad){if(!ac){ad("invalid entry")}else{if(ac.isFile){ac.file(function(ae){ae.fullPath=ac.fullPath;ad(false,[ae])},function(ae){ad("FileError.code: "+ae.code)})}else{if(ac.isDirectory){var ab=ac.createReader(),aa=[];ab.readEntries(function(ae){e.afor(ae,function(af,ag){j(ag,function(ai,ah){if(ai){e.log(ai)}else{aa=aa.concat(ah)}if(af){af()}else{ad(false,aa)}})})},function(ae){ad("directory_reader: "+ae)})}else{j(T(ac),ad)}}}}function a(aa){var ab={};R(aa,function(ad,ac){if(ad&&(typeof ad==="object")&&(ad.nodeType===void 0)){ad=y({},ad)}ab[ac]=ad});return ab}function F(aa){return g.test(aa&&aa.tagName)}function K(aa){return(aa.originalEvent||aa||"").dataTransfer||{}}function c(ab){var aa;for(aa in ab){if(ab.hasOwnProperty(aa)){if(!(ab[aa] instanceof Object||aa==="overlay"||aa==="filter")){return true}}}return false}e.addInfoReader(/^image/,function(aa,ac){if(!aa.__dimensions){var ab=aa.__dimensions=e.defer();e.readAsImage(aa,function(ad){var ae=ad.target;ab.resolve(ad.type=="load"?false:"error",{width:ae.width,height:ae.height});ae.src=e.EMPTY_PNG;ae=null})}aa.__dimensions.then(ac)});e.event.dnd=function(ad,ae,aa){var ac,ab;if(!aa){aa=ae;ae=e.F}if(J){C(ad,"dragenter dragleave dragover",ae.ff=ae.ff||function(af){var ah=K(af).types,ag=ah&&ah.length,ai=false;while(ag--){if(~ah[ag].indexOf("File")){af[I]();if(ab!==af.type){ab=af.type;if(ab!="dragleave"){ae.call(af[o],true,af)}ai=true}break}}if(ai){clearTimeout(ac);ac=setTimeout(function(){ae.call(af[o],ab!="dragleave",af)},50)}});C(ad,"drop",aa.ff=aa.ff||function(af){af[I]();ab=0;ae.call(af[o],false,af);e.getDropFiles(af,function(ag){aa.call(af[o],ag,af)})})}else{e.log("Drag'n'Drop -- not supported")}};e.event.dnd.off=function(ab,ac,aa){P(ab,"dragenter dragleave dragover",ac.ff);P(ab,"drop",aa.ff)};if(u&&!u.fn.dnd){u.fn.dnd=function(ab,aa){return this.each(function(){e.event.dnd(this,ab,aa)})};u.fn.offdnd=function(ab,aa){return this.each(function(){e.event.dnd.off(this,ab,aa)})}}O.FileAPI=y(e,O.FileAPI);e.log("FileAPI: "+e.version);e.log("protocol: "+O.location.protocol);e.log("doctype: ["+w.name+"] "+w.publicId+" "+w.systemId);R(h.getElementsByTagName("meta"),function(aa){if(/x-ua-compatible/i.test(aa.getAttribute("http-equiv"))){e.log("meta.http-equiv: "+aa.getAttribute("content"))}});try{e._supportConsoleLog=!!console.log;e._supportConsoleLogApply=!!console.log.apply}catch(W){}if(!e.flashUrl){e.flashUrl=e.staticPath+"FileAPI.flash.swf"}if(!e.flashImageUrl){e.flashImageUrl=e.staticPath+"FileAPI.flash.image.swf"}if(!e.flashWebcamUrl){e.flashWebcamUrl=e.staticPath+"FileAPI.flash.camera.swf"}})(window,void 0);(function(d,g,b){var c=Math.min,k=Math.round,h=function(){return g.createElement("canvas")},j=false,i={8:270,3:180,6:90,7:270,4:180,5:90};try{j=h().toDataURL("image/png").indexOf("data:image/png")>-1}catch(f){}function a(l){if(l instanceof a){var e=new a(l.file);d.extend(e.matrix,l.matrix);return e}else{if(!(this instanceof a)){return new a(l)}}this.file=l;this.size=l.size||100;this.matrix={sx:0,sy:0,sw:0,sh:0,dx:0,dy:0,dw:0,dh:0,resize:0,deg:0,quality:1,filter:0}}a.prototype={image:true,constructor:a,set:function(e){d.extend(this.matrix,e);return this},crop:function(e,n,l,m){if(l===b){l=e;m=n;e=n=0}return this.set({sx:e,sy:n,sw:l,sh:m||l})},resize:function(e,l,m){if(/min|max/.test(l)){m=l;l=e}return this.set({dw:e,dh:l||e,resize:m})},preview:function(e,l){return this.resize(e,l||e,"preview")},rotate:function(e){return this.set({deg:e})},filter:function(e){return this.set({filter:e})},overlay:function(e){return this.set({overlay:e})},clone:function(){return new a(this)},_load:function(m,l){var e=this;if(/img|video/i.test(m.nodeName)){l.call(e,null,m)}else{d.readAsImage(m,function(n){l.call(e,n.type!="load",n.result)})}},_apply:function(s,l){var e=h(),u=this.getMatrix(s),v=e.getContext("2d"),t=s.videoWidth||s.width,r=s.videoHeight||s.height,p=u.deg,q=u.dw,B=u.dh,n=t,A=r,o=u.filter,y,z=s,C=u.overlay,x=d.queue(function(){s.src=d.EMPTY_PNG;l(false,e)}),D=d.renderImageToCanvas;p=p-Math.floor(p/360)*360;s._type=this.file.type;while(u.multipass&&c(n/q,A/B)>2){n=(n/2+0.5)|0;A=(A/2+0.5)|0;y=h();y.width=n;y.height=A;if(z!==s){D(y,z,0,0,z.width,z.height,0,0,n,A);z=y}else{z=y;D(z,s,u.sx,u.sy,u.sw,u.sh,0,0,n,A);u.sx=u.sy=u.sw=u.sh=0}}e.width=(p%180)?B:q;e.height=(p%180)?q:B;e.type=u.type;e.quality=u.quality;v.rotate(p*Math.PI/180);D(v.canvas,z,u.sx,u.sy,u.sw||z.width,u.sh||z.height,(p==180||p==270?-q:0),(p==90||p==180?-B:0),q,B);q=e.width;B=e.height;C&&d.each([].concat(C),function(E){x.inc();var m=new window.Image,w=function(){var G=E.x|0,K=E.y|0,H=E.w||m.width,I=E.h||m.height,F=E.rel;G=(F==1||F==4||F==7)?(q-H+G)/2:(F==2||F==5||F==8?q-(H+G):G);K=(F==3||F==4||F==5)?(B-I+K)/2:(F>=6?B-(I+K):K);d.event.off(m,"error load abort",w);try{v.globalAlpha=E.opacity||1;v.drawImage(m,G,K,H,I)}catch(J){}x.next()};d.event.on(m,"error load abort",w);m.src=E.src;if(m.complete){w()}});if(o){x.inc();a.applyFilter(e,o,x.next)}x.check()},getMatrix:function(n){var l=d.extend({},this.matrix),v=l.sw=l.sw||n.videoWidth||n.naturalWidth||n.width,q=l.sh=l.sh||n.videoHeight||n.naturalHeight||n.height,e=l.dw=l.dw||v,s=l.dh=l.dh||q,r=v/q,t=e/s,o=l.resize;if(o=="preview"){if(e!=v||s!=q){var u,p;if(t>=r){u=v;p=u/t}else{p=q;u=p*t}if(u!=v||p!=q){l.sx=~~((v-u)/2);l.sy=~~((q-p)/2);v=u;q=p}}}else{if(o){if(!(v>e||q>s)){e=v;s=q}else{if(o=="min"){e=k(r<t?c(v,e):s*r);s=k(r<t?e/r:c(q,s))}else{e=k(r>=t?c(v,e):s*r);s=k(r>=t?e/r:c(q,s))}}}}l.sw=v;l.sh=q;l.dw=e;l.dh=s;l.multipass=d.multiPassResize;return l},_trans:function(e){this._load(this.file,function(l,m){if(l){e(l)}else{try{this._apply(m,e)}catch(l){d.log("[err] FileAPI.Image.fn._apply:",l);e(l)}}})},get:function(l){if(d.support.transform){var m=this,e=m.matrix;if(e.deg=="auto"){d.getInfo(m.file,function(n,o){e.deg=i[o&&o.exif&&o.exif.Orientation]||0;m._trans(l)})}else{m._trans(l)}}else{l("not_support_transform")}return this},toData:function(e){return this.get(e)}};a.exifOrientation=i;a.transform=function(n,m,l,o){function e(s,r){var q={},p=d.queue(function(t){o(t,q)});if(!s){d.each(m,function(x,v){if(!p.isFail()){var u=new a(r.nodeType?r:n),t=typeof x=="function";if(t){x(r,u)}else{if(x.width){u[x.preview?"preview":"resize"](x.width,x.height,x.strategy)}else{if(x.maxWidth&&(r.width>x.maxWidth||r.height>x.maxHeight)){u.resize(x.maxWidth,x.maxHeight,"max")}}}if(x.crop){var w=x.crop;u.crop(w.x|0,w.y|0,w.w||w.width,w.h||w.height)}if(x.rotate===b&&l){x.rotate="auto"}u.set({type:u.matrix.type||x.type||n.type||"image/png"});if(!t){u.set({deg:x.rotate,overlay:x.overlay,filter:x.filter,quality:x.quality||1})}p.inc();u.toData(function(y,z){if(y){p.fail()}else{q[v]=z;p.next()}})}})}else{p.fail()}}if(n.width){e(false,n)}else{d.getInfo(n,e)}};d.each(["TOP","CENTER","BOTTOM"],function(e,l){d.each(["LEFT","CENTER","RIGHT"],function(n,m){a[e+"_"+n]=l*3+m;a[n+"_"+e]=l*3+m})});a.toCanvas=function(l){var e=g.createElement("canvas");e.width=l.videoWidth||l.width;e.height=l.videoHeight||l.height;e.getContext("2d").drawImage(l,0,0);return e};a.fromDataURL=function(m,l,n){var e=d.newImage(m);d.extend(e,l);n(e)};a.applyFilter=function(e,l,m){if(typeof l=="function"){l(e,m)}else{if(window.Caman){window.Caman(e.tagName=="IMG"?a.toCanvas(e):e,function(){if(typeof l=="string"){this[l]()}else{d.each(l,function(n,o){this[o](n)},this)}this.render(m)})}}};d.renderImageToCanvas=function(l,m,r,q,s,n,u,t,e,p){try{return l.getContext("2d").drawImage(m,r,q,s,n,u,t,e,p)}catch(o){d.log("renderImageToCanvas failed");throw o}};d.support.canvas=d.support.transform=j;d.Image=a})(FileAPI,document);(function(a){a(FileAPI)}(function(b){if(!window.navigator||!window.navigator.platform||!(/iP(hone|od|ad)/).test(window.navigator.platform)){return}var a=b.renderImageToCanvas;b.detectSubsampling=function(c){var d,e;if(c.width*c.height>1024*1024){d=document.createElement("canvas");d.width=d.height=1;e=d.getContext("2d");e.drawImage(c,-c.width+1,0);return e.getImageData(0,0,1,1).data[3]===0}return false};b.detectVerticalSquash=function(g,j){var l=g.naturalHeight||g.height,d=document.createElement("canvas"),c=d.getContext("2d"),f,i,h,k,e;if(j){l/=2}d.width=1;d.height=l;c.drawImage(g,0,0);f=c.getImageData(0,0,1,l).data;i=0;h=l;k=l;while(k>i){e=f[(k-1)*4+3];if(e===0){h=k}else{i=k}k=(h+i)>>1}return(k/l)||1};b.renderImageToCanvas=function(h,t,p,o,n,g,s,r,i,k){if(t._type==="image/jpeg"){var f=h.getContext("2d"),d=document.createElement("canvas"),m=1024,c=d.getContext("2d"),e,q,l,j;d.width=m;d.height=m;f.save();e=b.detectSubsampling(t);if(e){p/=2;o/=2;n/=2;g/=2}q=b.detectVerticalSquash(t,e);if(e||q!==1){o*=q;i=Math.ceil(m*i/n);k=Math.ceil(m*k/g/q);r=0;j=0;while(j<g){s=0;l=0;while(l<n){c.clearRect(0,0,m,m);c.drawImage(t,p,o,n,g,-l,-j,n,g);f.drawImage(d,0,0,m,m,s,r,i,k);l+=m;s+=i}j+=m;r+=k}f.restore();return h}}return a(h,t,p,o,n,g,s,r,i,k)}}));(function(d,e){var a=e.document,g=e.FormData,c=function(){this.items=[]},f=e.encodeURIComponent;c.prototype={append:function(i,h,j,k){this.items.push({name:i,blob:h&&h.blob||(h==void 0?"":h),file:h&&(j||h.name),type:h&&(k||h.type)})},each:function(j){var h=0,k=this.items.length;for(;h<k;h++){j.call(this,this.items[h])}},toData:function(i,h){h._chunked=d.support.chunked&&h.chunkSize>0&&d.filter(this.items,function(j){return j.file}).length==1;if(!d.support.html5){d.log("FileAPI.Form.toHtmlData");this.toHtmlData(i)}else{if(!d.formData||this.multipart||!g){d.log("FileAPI.Form.toMultipartData");this.toMultipartData(i)}else{if(h._chunked){d.log("FileAPI.Form.toPlainData");this.toPlainData(i)}else{d.log("FileAPI.Form.toFormData");this.toFormData(i)}}}},_to:function(l,j,k,i){var h=d.queue(function(){j(l)});this.each(function(m){k(m,l,h,i)});h.check()},toHtmlData:function(h){this._to(a.createDocumentFragment(),h,function(j,l){var i=j.blob,k;if(j.file){d.reset(i,true);i.name=j.name;i.disabled=false;l.appendChild(i)}else{k=a.createElement("input");k.name=j.name;k.type="hidden";k.value=i;l.appendChild(k)}})},toPlainData:function(h){this._to({},h,function(j,k,i){if(j.file){k.type=j.file}if(j.blob.toBlob){i.inc();b(j,function(m,l){k.name=m.name;k.file=l;k.size=l.length;k.type=m.type;i.next()})}else{if(j.file){k.name=j.blob.name;k.file=j.blob;k.size=j.blob.size;k.type=j.type}else{if(!k.params){k.params=[]}k.params.push(f(j.name)+"="+f(j.blob))}}k.start=-1;k.end=k.file&&k.file.FileAPIReadPosition||-1;k.retry=0})},toFormData:function(h){this._to(new g,h,function(j,k,i){if(j.blob&&j.blob.toBlob){i.inc();b(j,function(m,l){k.append(m.name,l,m.file);i.next()})}else{if(j.file){k.append(j.name,j.blob,j.file)}else{k.append(j.name,j.blob)}}if(j.file){k.append("_"+j.name,j.file)}})},toMultipartData:function(h){this._to([],h,function(j,k,i,l){i.inc();b(j,function(n,m){k.push("--_"+l+('\r\nContent-Disposition: form-data; name="'+n.name+'"'+(n.file?'; filename="'+f(n.file)+'"':"")+(n.file?"\r\nContent-Type: "+(n.type||"application/octet-stream"):"")+"\r\n\r\n"+(n.file?m:f(m))+"\r\n"));i.next()},true)},d.expando)}};function b(l,o,m){var h=l.blob,i=l.file;if(i){if(!h.toDataURL){d.readAsBinaryString(h,function(q){if(q.type=="load"){o(l,q.result)}});return}var j={"image/jpeg":".jpe?g","image/png":".png"},n=j[l.type]?l.type:"image/png",k=j[n]||".png",p=h.quality||1;if(!i.match(new RegExp(k+"$","i"))){i+=k.replace("?","")}l.file=i;l.type=n;if(!m&&h.toBlob){h.toBlob(function(q){o(l,q)},n,p)}else{o(l,d.toBinaryString(h.toDataURL(n,p)))}}else{o(l,h)}}d.Form=c})(FileAPI,window);(function(e,b){var d=function(){},a=e.document,c=function(g){this.uid=b.uid();this.xhr={abort:d,getResponseHeader:d,getAllResponseHeaders:d};this.options=g},f={"":1,XML:1,Text:1,Body:1};c.prototype={status:0,statusText:"",constructor:c,getResponseHeader:function(g){return this.xhr.getResponseHeader(g)},getAllResponseHeaders:function(){return this.xhr.getAllResponseHeaders()||{}},end:function(g,i){var j=this,h=j.options;j.end=j.abort=d;j.status=g;if(i){j.statusText=i}b.log("xhr.end:",g,i);h.complete(g==200||g==201?false:j.statusText||"unknown",j);if(j.xhr&&j.xhr.node){setTimeout(function(){var k=j.xhr.node;try{k.parentNode.removeChild(k)}catch(l){}try{delete e[j.uid]}catch(l){}e[j.uid]=j.xhr.node=null},9)}},abort:function(){this.end(0,"abort");if(this.xhr){this.xhr.aborted=true;this.xhr.abort()}},send:function(h){var i=this,g=this.options;h.toData(function(j){g.upload(g,i);i._send.call(i,g,j)},g)},_send:function(v,m){var n=this,s,o=n.uid,u=n.uid+"Load",h=v.url;b.log("XHR._send:",m);if(!v.cache){h+=(~h.indexOf("?")?"&":"?")+b.uid()}if(m.nodeName){var q=v.jsonp;h=h.replace(/([a-z]+)=(\?)/i,"$1="+o);v.upload(v,n);var p=function(x){if(~h.indexOf(x.origin)){try{var w=b.parseJSON(x.data);if(w.id==o){j(w.status,w.statusText,w.response)}}catch(y){j(0,y.message)}}},j=e[o]=function(w,y,x){n.readyState=4;n.responseText=x;n.end(w,y);b.event.off(e,"message",p);e[o]=s=l=e[u]=null};n.xhr.abort=function(){try{if(l.stop){l.stop()}else{if(l.contentWindow.stop){l.contentWindow.stop()}else{l.contentWindow.document.execCommand("Stop")}}}catch(w){}j(0,"abort")};b.event.on(e,"message",p);e[u]=function(){try{var z=l.contentWindow,y=z.document,w=z.result||b.parseJSON(y.body.innerHTML);j(w.status,w.statusText,w.response)}catch(x){b.log("[transport.onload]",x)}};s=a.createElement("div");s.innerHTML='<form target="'+o+'" action="'+h+'" method="POST" enctype="multipart/form-data" style="position: absolute; top: -1000px; overflow: hidden; width: 1px; height: 1px;"><iframe name="'+o+'" src="javascript:false;" onload="'+u+'()"></iframe>'+(q&&(v.url.indexOf("=?")<0)?'<input value="'+o+'" name="'+q+'" type="hidden"/>':"")+"</form>";var i=s.getElementsByTagName("form")[0],l=s.getElementsByTagName("iframe")[0];i.appendChild(m);b.log(i.parentNode.innerHTML);a.body.appendChild(s);n.xhr.node=s;n.readyState=2;i.submit();i=null}else{h=h.replace(/([a-z]+)=(\?)&?/i,"");if(this.xhr&&this.xhr.aborted){b.log("Error: already aborted");return}s=n.xhr=b.getXHR();if(m.params){h+=(h.indexOf("?")<0?"?":"&")+m.params.join("&")}s.open("POST",h,true);if(b.withCredentials){s.withCredentials="true"}if(!v.headers||!v.headers["X-Requested-With"]){s.setRequestHeader("X-Requested-With","XMLHttpRequest")}b.each(v.headers,function(x,w){s.setRequestHeader(w,x)});if(v._chunked){if(s.upload){s.upload.addEventListener("progress",b.throttle(function(w){if(!m.retry){v.progress({type:w.type,total:m.size,loaded:m.start+w.loaded,totalSize:m.size},n,v)}},100),false)}s.onreadystatechange=function(){var x=parseInt(s.getResponseHeader("X-Last-Known-Byte"),10);n.status=s.status;n.statusText=s.statusText;n.readyState=s.readyState;if(s.readyState==4){try{for(var w in f){n["response"+w]=s["response"+w]}}catch(z){}s.onreadystatechange=null;if(!s.status||s.status-201>0){b.log("Error: "+s.status);if(((!s.status&&!s.aborted)||500==s.status||416==s.status)&&++m.retry<=v.chunkUploadRetry){var y=s.status?0:b.chunkNetworkDownRetryTimeout;v.pause(m.file,v);b.log("X-Last-Known-Byte: "+x);if(x){m.end=x}else{m.end=m.start-1;if(416==s.status){m.end=m.end-v.chunkSize}}setTimeout(function(){n._send(v,m)},y)}else{n.end(s.status)}}else{m.retry=0;if(m.end==m.size-1){n.end(s.status)}else{b.log("X-Last-Known-Byte: "+x);if(x){m.end=x}m.file.FileAPIReadPosition=m.end;setTimeout(function(){n._send(v,m)},0)}}s=null}};m.start=m.end+1;m.end=Math.max(Math.min(m.start+v.chunkSize,m.size)-1,m.start);var k=m.file,r=(k.slice||k.mozSlice||k.webkitSlice).call(k,m.start,m.end+1);if(m.size&&!r.size){setTimeout(function(){n.end(-1)})}else{s.setRequestHeader("Content-Range","bytes "+m.start+"-"+m.end+"/"+m.size);s.setRequestHeader("Content-Disposition","attachment; filename="+encodeURIComponent(m.name));s.setRequestHeader("Content-Type",m.type||"application/octet-stream");s.send(r)}k=r=null}else{if(s.upload){s.upload.addEventListener("progress",b.throttle(function(w){v.progress(w,n,v)},100),false)}s.onreadystatechange=function(){n.status=s.status;n.statusText=s.statusText;n.readyState=s.readyState;if(s.readyState==4){for(var w in f){n["response"+w]=s["response"+w]}s.onreadystatechange=null;if(!s.status||s.status>201){b.log("Error: "+s.status);if(((!s.status&&!s.aborted)||500==s.status)&&(v.retry||0)<v.uploadRetry){v.retry=(v.retry||0)+1;var x=b.networkDownRetryTimeout;v.pause(v.file,v);setTimeout(function(){n._send(v,m)},x)}else{n.end(s.status)}}else{n.end(s.status)}s=null}};if(b.isArray(m)){s.setRequestHeader("Content-Type","multipart/form-data; boundary=_"+b.expando);var g=m.join("")+"--_"+b.expando+"--";if(s.sendAsBinary){s.sendAsBinary(g)}else{var t=Array.prototype.map.call(g,function(w){return w.charCodeAt(0)&255});s.send(new Uint8Array(t).buffer)}}else{s.send(m)}}}}};b.XHR=c})(window,FileAPI);(function(e,d){var g=e.URL||e.webkitURL,h=e.document,k=e.navigator,i=k.getUserMedia||k.webkitGetUserMedia||k.mozGetUserMedia||k.msGetUserMedia,c=!!i;d.support.media=c;var f=function(l){this.video=l};f.prototype={isActive:function(){return !!this._active},start:function(q){var p=this,o=p.video,n,m,l=function(r){p._active=!r;clearTimeout(m);clearTimeout(n);q&&q(r,p)};i.call(k,{video:true},function(r){p.stream=r;o.src=g.createObjectURL(r);n=setInterval(function(){if(j(o)){l(null)}},1000);m=setTimeout(function(){l("timeout")},5000);o.play()},l)},stop:function(){try{this._active=false;this.video.pause();this.stream.stop()}catch(l){}},shot:function(){return new a(this.video)}};f.get=function(l){return new f(l.firstChild)};f.publish=function(m,l,p){if(typeof l=="function"){p=l;l={}}l=d.extend({},{width:"100%",height:"100%",start:true},l);if(m.jquery){m=m[0]}var o=function(q){if(q){p(q)}else{var r=f.get(m);if(l.start){r.start(p)}else{p(null,r)}}};m.style.width=b(l.width);m.style.height=b(l.height);if(d.html5&&c){var n=h.createElement("video");n.style.width=b(l.width);n.style.height=b(l.height);if(e.jQuery){jQuery(m).empty()}else{m.innerHTML=""}m.appendChild(n);o()}else{f.fallback(m,l,o)}};f.fallback=function(m,l,n){n("not_support_camera")};var a=function(n){var l=n.nodeName?d.Image.toCanvas(n):n;var m=d.Image(l);m.type="image/png";m.width=l.width;m.height=l.height;m.size=l.width*l.height*4;return m};function b(l){return l>=0?l+"px":l}function j(o){var m=h.createElement("canvas"),l,n=false;try{l=m.getContext("2d");l.drawImage(o,0,0,1,1);n=l.getImageData(0,0,1,1).data[4]!=255}catch(p){}return n}f.Shot=a;d.Camera=f})(window,FileAPI);(function(f,g,e){var a=f.document,c=f.location,b=f.navigator,d=e.each;e.support.flash=(function(){var i=b.mimeTypes,h=false;if(b.plugins&&typeof b.plugins["Shockwave Flash"]=="object"){h=b.plugins["Shockwave Flash"].description&&!(i&&i["application/x-shockwave-flash"]&&!i["application/x-shockwave-flash"].enabledPlugin)}else{try{h=!!(f.ActiveXObject&&new ActiveXObject("ShockwaveFlash.ShockwaveFlash"))}catch(j){e.log("Flash -- does not supported.")}}if(h&&/^file:/i.test(c)){e.log("[warn] Flash does not work on `file:` protocol.")}return h})();e.support.flash&&(0||!e.html5||!e.support.html5||(e.cors&&!e.support.cors)||(e.media&&!e.support.media))&&(function(){var m=e.uid(),j=0,k={},h=/^https?:/i,o={_fn:{},publish:function(w,y,x){x=x||{};w.innerHTML=n({id:y,src:i(e.flashUrl,"r="+e.version),wmode:x.camera?"":"transparent",flashvars:"callback="+(x.onEvent||"FileAPI.Flash.onEvent")+"&flashId="+y+"&storeKey="+b.userAgent.match(/\d/ig).join("")+"_"+e.version+(o.isReady||(e.pingUrl?"&ping="+e.pingUrl:""))+"&timeout="+e.flashAbortTimeout+(x.camera?"&useCamera="+i(e.flashWebcamUrl):"")+"&debug="+(e.debug?"1":"")},x)},init:function(){var x=a.body&&a.body.firstChild;if(x){do{if(x.nodeType==1){e.log("FlashAPI.state: awaiting");var w=a.createElement("div");w.id="_"+m;r(w,{top:1,right:1,width:5,height:5,position:"absolute",zIndex:1000000+""});x.parentNode.insertBefore(w,x);o.publish(w,m);return}}while(x=x.nextSibling)}if(j<10){setTimeout(o.init,++j*50)}},ready:function(){e.log("FlashAPI.state: ready");o.ready=e.F;o.isReady=true;o.patch();o.patchCamera&&o.patchCamera();e.event.on(a,"mouseover",o.mouseover);e.event.on(a,"click",function(w){if(o.mouseover(w)){w.preventDefault?w.preventDefault():(w.returnValue=true)}})},getEl:function(){return a.getElementById("_"+m)},getWrapper:function(w){do{if(/js-fileapi-wrapper/.test(w.className)){return w}}while((w=w.parentNode)&&(w!==a.body))},disableMouseover:false,mouseover:function(w){if(!o.disableMouseover){var A=e.event.fix(w).target;if(/input/i.test(A.nodeName)&&A.type=="file"&&!A.disabled){var y=A.getAttribute(m),B=o.getWrapper(A);if(e.multiFlash){if(y=="i"||y=="r"){return false}else{if(y!="p"){A.setAttribute(m,"i");var z=a.createElement("div");if(!B){e.log("[err] FlashAPI.mouseover: js-fileapi-wrapper not found");return}r(z,{top:0,left:0,width:A.offsetWidth,height:A.offsetHeight,zIndex:1000000+"",position:"absolute"});B.appendChild(z);o.publish(z,e.uid());A.setAttribute(m,"p")}}return true}else{if(B){var x=u(B);r(o.getEl(),x);o.curInp=A}}}else{if(!/object|embed/i.test(A.nodeName)){r(o.getEl(),{top:1,left:1,width:5,height:5})}}}},onEvent:function(w){var x=w.type;if(x=="ready"){try{o.getInput(w.flashId).setAttribute(m,"r")}catch(y){}o.ready();setTimeout(function(){o.mouseenter(w)},50);return true}else{if(x==="ping"){e.log("(flash -> js).ping:",[w.status,w.savedStatus],w.error)}else{if(x==="log"){e.log("(flash -> js).log:",w.target)}else{if(x in o){setTimeout(function(){e.log("FlashAPI.event."+w.type+":",w);o[x](w)},1)}}}}},mouseDown:function(w){o.disableMouseover=true},cancel:function(w){o.disableMouseover=false},mouseenter:function(w){var z=o.getInput(w.flashId);if(z){o.cmd(w,"multiple",z.getAttribute("multiple")!=null);var y=[],x={};d((z.getAttribute("accept")||"").split(/,\s*/),function(A){e.accept[A]&&d(e.accept[A].split(" "),function(B){x[B]=1})});d(x,function(A,B){y.push(B)});o.cmd(w,"accept",y.length?y.join(",")+","+y.join(",").toUpperCase():"*")}},get:function(w){return a[w]||f[w]||a.embeds[w]},getInput:function(y){if(e.multiFlash){try{var w=o.getWrapper(o.get(y));if(w){return w.getElementsByTagName("input")[0]}}catch(x){e.log('[err] Can not find "input" by flashId:',y,x)}}else{return o.curInp}},select:function(w){try{var A=o.getInput(w.flashId),x=e.uid(A),z=w.target.files,y;d(z,function(B){e.checkFileObj(B)});k[x]=z;if(a.createEvent){y=a.createEvent("Event");y.files=z;y.initEvent("change",true,true);A.dispatchEvent(y)}else{if(g){g(A).trigger({type:"change",files:z})}else{y=a.createEventObject();y.files=z;A.fireEvent("onchange",y)}}}finally{o.disableMouseover=false}},interval:null,cmd:function(z,w,y,x){if(o.uploadInProgress&&o.readInProgress){setTimeout(function(){o.cmd(z,w,y,x)},100)}else{this.cmdFn(z,w,y,x)}},cmdFn:function(A,w,y,x){try{e.log("(js -> flash)."+w+":",y);return o.get(A.flashId||A).cmd(w,y)}catch(z){e.log("(js -> flash).onError:",z);if(!x){setTimeout(function(){o.cmd(A,w,y,true)},50)}}},patch:function(){e.flashEngine=true;q(e,{readAsDataURL:function(x,y){if(p(x)){this.parent.apply(this,arguments)}else{e.log("FlashAPI.readAsBase64");o.readInProgress=true;o.cmd(x,"readAsBase64",{id:x.id,callback:t(function w(A,z){o.readInProgress=false;v(w);e.log("FlashAPI.readAsBase64:",A);y({type:A?"error":"load",error:A,result:"data:"+x.type+";base64,"+z})})})}},readAsText:function(w,x,y){if(y){e.log("[warn] FlashAPI.readAsText not supported `encoding` param")}else{y=x}e.readAsDataURL(w,function(z){if(z.type=="load"){try{z.result=f.atob(z.result.split(";base64,")[1])}catch(A){z.type="error";z.error=A.toString()}}y(z)})},getFiles:function(w,x,z){if(z){e.filterFiles(e.getFiles(w),x,z);return null}var y=e.isArray(w)?w:k[e.uid(w.target||w.srcElement||w)];if(!y){return this.parent.apply(this,arguments)}if(x){x=e.getFilesFilter(x);y=e.filter(y,function(A){return x.test(A.name)})}return y},getInfo:function(w,x){if(p(w)){this.parent.apply(this,arguments)}else{if(w.isShot){x(null,w.info={width:w.width,height:w.height})}else{if(!w.__info){var y=w.__info=e.defer();y.resolve(null,w.info=null)}w.__info.then(x)}}}});e.support.transform=true;e.Image&&q(e.Image.prototype,{get:function(x,w){this.set({scaleMode:w||"noScale"});return this.parent(x)},_load:function(w,x){e.log("FlashAPI.Image._load:",w);if(p(w)){this.parent.apply(this,arguments)}else{var y=this;e.getInfo(w,function(z){x.call(y,z,w)})}},_apply:function(y,z){e.log("FlashAPI.Image._apply:",y);if(p(y)){this.parent.apply(this,arguments)}else{var w=this.getMatrix(y.info),A=z;o.cmd(y,"imageTransform",{id:y.id,matrix:w,callback:t(function x(C,B){e.log("FlashAPI.Image._apply.callback:",C);v(x);if(C){A(C)}else{if(!e.support.html5&&(!e.support.dataURI||B.length>30000)){l({width:(w.deg%180)?w.dh:w.dw,height:(w.deg%180)?w.dw:w.dh,scale:w.scaleMode},B,A)}else{if(w.filter){A=function(E,D){if(E){z(E)}else{e.Image.applyFilter(D,w.filter,function(){z(E,this.canvas)})}}}e.newImage("data:"+y.type+";base64,"+B,A)}}})})}},toData:function(y){var x=this.file,z=x.info,w=this.getMatrix(z);e.log("FlashAPI.Image.toData");if(p(x)){this.parent.apply(this,arguments)}else{if(w.deg=="auto"){w.deg=e.Image.exifOrientation[z&&z.exif&&z.exif.Orientation]||0}y.call(this,!x.info,{id:x.id,flashId:x.flashId,name:x.name,type:x.type,matrix:w})}}});e.Image&&q(e.Image,{fromDataURL:function(x,w,y){if(!e.support.dataURI||x.length>30000){l(e.extend({scale:"exactFit"},w),x.replace(/^data:[^,]+,/,""),function(A,z){y(z)})}else{this.parent(x,w,y)}}});q(e.Form.prototype,{toData:function(y){var w=this.items,x=w.length;for(;x--;){if(w[x].file&&p(w[x].blob)){return this.parent.apply(this,arguments)}}e.log("FlashAPI.Form.toData");y(w)}});q(e.XHR.prototype,{_send:function(y,C){if(C.nodeName||C.append&&e.support.html5||e.isArray(C)&&(typeof C[0]==="string")){return this.parent.apply(this,arguments)}var B={},A={},D=this,z,x;d(C,function(E){if(E.file){A[E.name]=E=s(E.blob);x=E.id;z=E.flashId}else{B[E.name]=E.blob}});if(!x){z=m}if(!z){e.log("[err] FlashAPI._send: flashId -- undefined");return this.parent.apply(this,arguments)}else{e.log("FlashAPI.XHR._send: "+z+" -> "+x)}D.xhr={headers:{},abort:function(){o.uploadInProgress=false;o.cmd(z,"abort",{id:x})},getResponseHeader:function(E){return this.headers[E]},getAllResponseHeaders:function(){return this.headers}};var w=e.queue(function(){o.uploadInProgress=true;o.cmd(z,"upload",{url:i(y.url.replace(/([a-z]+)=(\?)&?/i,"")),data:B,files:x?A:null,headers:y.headers||{},callback:t(function E(G){var H=G.type,F=G.result;e.log("FlashAPI.upload."+H);if(H=="progress"){G.loaded=Math.min(G.loaded,G.total);G.lengthComputable=true;y.progress(G)}else{if(H=="complete"){o.uploadInProgress=false;v(E);if(typeof F=="string"){D.responseText=F.replace(/%22/g,'"').replace(/%5c/g,"\\").replace(/%26/g,"&").replace(/%25/g,"%")}D.end(G.status||200)}else{if(H=="abort"||H=="error"){o.uploadInProgress=false;D.end(G.status||0,G.message);v(E)}}}})})});d(A,function(E){w.inc();e.getInfo(E,w.next)});w.check()}})}};function n(w){return('<object id="#id#" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="'+(w.width||"100%")+'" height="'+(w.height||"100%")+'"><param name="movie" value="#src#" /><param name="flashvars" value="#flashvars#" /><param name="swliveconnect" value="true" /><param name="allowscriptaccess" value="always" /><param name="allownetworking" value="all" /><param name="menu" value="false" /><param name="wmode" value="#wmode#" /><embed flashvars="#flashvars#" swliveconnect="true" allownetworking="all" allowscriptaccess="always" name="#id#" src="#src#" width="'+(w.width||"100%")+'" height="'+(w.height||"100%")+'" menu="false" wmode="transparent" type="application/x-shockwave-flash"></embed></object>').replace(/#(\w+)#/ig,function(x,y){return w[y]})}function r(y,x){if(y&&y.style){var w,A;for(w in x){A=x[w];if(typeof A=="number"){A+="px"}try{y.style[w]=A}catch(z){}}}}function q(x,w){d(w,function(z,y){var A=x[y];x[y]=function(){this.parent=A;return z.apply(this,arguments)}})}function p(w){return w&&!w.flashId}function t(w){var x=w.wid=e.uid();o._fn[x]=w;return"FileAPI.Flash._fn."+x}function v(w){try{o._fn[w.wid]=null;delete o._fn[w.wid]}catch(x){}}function i(w,y){if(!h.test(w)){if(/^\.\//.test(w)||"/"!=w.charAt(0)){var x=c.pathname;x=x.substr(0,x.lastIndexOf("/"));w=(x+"/"+w).replace("/./","/")}if("//"!=w.substr(0,2)){w="//"+c.host+w}if(!h.test(w)){w=c.protocol+w}}if(y){w+=(/\?/.test(w)?"&":"?")+y}return w}function l(w,y,z){var B,C=e.uid(),x=a.createElement("div"),E=10;for(B in w){x.setAttribute(B,w[B]);x[B]=w[B]}r(x,w);w.width="100%";w.height="100%";x.innerHTML=n(e.extend({id:C,src:i(e.flashImageUrl,"r="+e.uid()),wmode:"opaque",flashvars:"scale="+w.scale+"&callback="+t(function D(){v(D);if(--E>0){A()}return true})},w));function A(){try{var F=o.get(C);F.setImage(y)}catch(G){e.log('[err] FlashAPI.Preview.setImage -- can not set "base64":',G)}}z(false,x);x=null}function s(w){return{id:w.id,name:w.name,matrix:w.matrix,flashId:w.flashId}}function u(x){var y=x.getBoundingClientRect(),w=a.body,A=(x&&x.ownerDocument).documentElement;function z(D){var C,B;C=B=0;if(D.offsetParent){do{C+=D.offsetLeft;B+=D.offsetTop}while(D=D.offsetParent)}return{left:C,top:B}}return{top:z(x).top,left:z(x).left,width:x.offsetWidth,height:x.offsetHeight}}e.Flash=o;e.newImage("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==",function(x,w){e.support.dataURI=!(w.width!=1||w.height!=1);o.init()})})()})(window,window.jQuery,FileAPI);(function(c,e,b){var a=b.each,d=[];if(b.support.flash&&(b.media&&!b.support.media)){(function(){function g(i){var j=i.wid=b.uid();b.Flash._fn[j]=i;return"FileAPI.Flash._fn."+j}function h(i){try{b.Flash._fn[i.wid]=null;delete b.Flash._fn[i.wid]}catch(j){}}var f=b.Flash;b.extend(b.Flash,{patchCamera:function(){b.Camera.fallback=function(l,k,m){var i=b.uid();b.log("FlashAPI.Camera.publish: "+i);f.publish(l,i,b.extend(k,{camera:true,onEvent:g(function j(n){if(n.type==="camera"){h(j);if(n.error){b.log("FlashAPI.Camera.publish.error: "+n.error);m(n.error)}else{b.log("FlashAPI.Camera.publish.success: "+i);m(null)}}})}))};a(d,function(i){b.Camera.fallback.apply(b.Camera,i)});d=[];b.extend(b.Camera.prototype,{_id:function(){return this.video.id},start:function(k){var j=this;f.cmd(this._id(),"camera.on",{callback:g(function i(l){h(i);if(l.error){b.log("FlashAPI.camera.on.error: "+l.error);k(l.error,j)}else{b.log("FlashAPI.camera.on.success: "+j._id());j._active=true;k(null,j)}})})},stop:function(){this._active=false;f.cmd(this._id(),"camera.off")},shot:function(){b.log("FlashAPI.Camera.shot:",this._id());var i=b.Flash.cmd(this._id(),"shot",{});i.type="image/png";i.flashId=this._id();i.isShot=true;return new b.Camera.Shot(i)}})}});b.Camera.fallback=function(){d.push(arguments)}}())}}(window,window.jQuery,FileAPI));if(typeof define==="function"&&define.amd){define("FileAPI",[],function(){return FileAPI})};