@mapcatch/util 2.0.9-a → 2.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -464,7 +464,7 @@ void main() {
464
464
  `)}function DOMParser$1(e){if(e=e||{locator:!0},this.assign=e.assign||conventions$1.assign,this.domHandler=e.domHandler||DOMHandler,this.onError=e.onError||e.errorHandler,e.errorHandler&&typeof e.errorHandler!="function")throw new TypeError("errorHandler object is no longer supported, switch to onError!");e.errorHandler&&e.errorHandler("warning","The `errorHandler` option has been deprecated, use `onError` instead!",this),this.normalizeLineEndings=e.normalizeLineEndings||normalizeLineEndings,this.locator=!!e.locator,this.xmlns=this.assign(Object.create(null),e.xmlns)}DOMParser$1.prototype.parseFromString=function(e,n){if(!isValidMimeType(n))throw new TypeError('DOMParser.parseFromString: the provided mimeType "'+n+'" is not valid.');var l=this.assign(Object.create(null),this.xmlns),u=entities.XML_ENTITIES,d=l[""]||null;hasDefaultHTMLNamespace(n)?(u=entities.HTML_ENTITIES,d=NAMESPACE.HTML):n===MIME_TYPE.XML_SVG_IMAGE&&(d=NAMESPACE.SVG),l[""]=d,l.xml=l.xml||NAMESPACE.XML;var p=new this.domHandler({mimeType:n,defaultNamespace:d,onError:this.onError}),y=this.locator?{}:void 0;this.locator&&p.setDocumentLocator(y);var o=new XMLReader;o.errorHandler=p,o.domBuilder=p;var j=!conventions$1.isHTMLMimeType(n);return j&&typeof e!="string"&&o.errorHandler.fatalError("source is not a string"),o.parse(this.normalizeLineEndings(String(e)),l,u),p.doc.documentElement||o.errorHandler.fatalError("missing root element"),p.doc};function DOMHandler(e){var n=e||{};this.mimeType=n.mimeType||MIME_TYPE.XML_APPLICATION,this.defaultNamespace=n.defaultNamespace||null,this.cdata=!1,this.currentElement=void 0,this.doc=void 0,this.locator=void 0,this.onError=n.onError}function position(e,n){n.lineNumber=e.lineNumber,n.columnNumber=e.columnNumber}DOMHandler.prototype={startDocument:function(){var e=new DOMImplementation;this.doc=isHTMLMimeType(this.mimeType)?e.createHTMLDocument(!1):e.createDocument(this.defaultNamespace,"")},startElement:function(e,n,l,u){var d=this.doc,p=d.createElementNS(e,l||n),y=u.length;appendElement(this,p),this.currentElement=p,this.locator&&position(this.locator,p);for(var o=0;o<y;o++){var e=u.getURI(o),j=u.getValue(o),l=u.getQName(o),Re=d.createAttributeNS(e,l);this.locator&&position(u.getLocator(o),Re),Re.value=Re.nodeValue=j,p.setAttributeNode(Re)}},endElement:function(e,n,l){this.currentElement=this.currentElement.parentNode},startPrefixMapping:function(e,n){},endPrefixMapping:function(e){},processingInstruction:function(e,n){var l=this.doc.createProcessingInstruction(e,n);this.locator&&position(this.locator,l),appendElement(this,l)},ignorableWhitespace:function(e,n,l){},characters:function(e,n,l){if(e=_toString.apply(this,arguments),e){if(this.cdata)var u=this.doc.createCDATASection(e);else var u=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(u):/^\s*$/.test(e)&&this.doc.appendChild(u),this.locator&&position(this.locator,u)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){e&&(e.lineNumber=0),this.locator=e},comment:function(e,n,l){e=_toString.apply(this,arguments);var u=this.doc.createComment(e);this.locator&&position(this.locator,u),appendElement(this,u)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,n,l,u){var d=this.doc.implementation;if(d&&d.createDocumentType){var p=d.createDocumentType(e,n,l,u);this.locator&&position(this.locator,p),appendElement(this,p),this.doc.doctype=p}},reportError:function(e,n){if(typeof this.onError=="function")try{this.onError(e,n,this)}catch(l){throw new ParseError("Reporting "+e+' "'+n+'" caused '+l,this.locator)}else console.error("[xmldom "+e+"] "+n,_locator(this.locator))},warning:function(e){this.reportError("warning",e)},error:function(e){this.reportError("error",e)},fatalError:function(e){throw this.reportError("fatalError",e),new ParseError(e,this.locator)}};function _locator(e){if(e)return`
465
465
  @#[line:`+e.lineNumber+",col:"+e.columnNumber+"]"}function _toString(e,n,l){return typeof e=="string"?e.substr(n,l):e.length>=n+l||n?new java.lang.String(e,n,l)+"":e}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(e){DOMHandler.prototype[e]=function(){return null}});function appendElement(e,n){e.currentElement?e.currentElement.appendChild(n):e.doc.appendChild(n)}function onErrorStopParsing(e){if(e==="error")throw"onErrorStopParsing"}function onWarningStopParsing(){throw"onWarningStopParsing"}domParser$1.__DOMHandler=DOMHandler;domParser$1.DOMParser=DOMParser$1;domParser$1.normalizeLineEndings=normalizeLineEndings;domParser$1.onErrorStopParsing=onErrorStopParsing;domParser$1.onWarningStopParsing=onWarningStopParsing;var conventions=conventions$5;conventions.assign;conventions.hasDefaultHTMLNamespace;conventions.isHTMLMimeType;conventions.isValidMimeType;conventions.MIME_TYPE;conventions.NAMESPACE;var domParser=domParser$1,DOMParser=domParser.DOMParser;const getData=function(e,n){return util.imageHasData(e)?n&&n(e):getImageData(e,n),!0};function getImageData(e,n){try{var l=findEXIFinJPEG(e);e.exifdata=l.exif,e.xmpdata=l.xmp,n&&n(e)}catch(u){e.exifdata={},e.xmpdata={},n(e,u)}}function findEXIFinJPEG(e){var n=new DataView(e);let l,u;for(var d=2,p=e.byteLength,y=new DOMParser,o;d<p&&n.getUint8(d)==255;){if(o=n.getUint8(d+1),o==225)if(util.getStringFromDB(n,d+4,4)=="http"){var j=d+3,Re=n.getUint16(d+2)-1,_e=util.getStringFromDB(n,j,Re),$=_e.indexOf("xmpmeta>")+8;_e=_e.substring(_e.indexOf("<x:xmpmeta"),$);var Je=_e.indexOf("x:xmpmeta")+10;_e=_e.slice(0,Je)+'xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" xmlns:ext="http://www.gettyimages.com/xsltExtension/1.0" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/" xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/" xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/" '+_e.slice(Je);var Ve=y.parseFromString(_e,"text/xml");u=util.xml2Object(Ve)}else l=readEXIFData(n,d+4,n.getUint16(d+2)-2);if(u&&l)break;d+=2+n.getUint16(d+2)}return{exif:l||{},xmp:u||{}}}function readEXIFData(e,n){if(util.getStringFromDB(e,n,4)!="Exif")return!1;var l,u,d,p,y,o=n+6;if(e.getUint16(o)==18761)l=!1;else if(e.getUint16(o)==19789)l=!0;else return!1;if(e.getUint16(o+2,!l)!=42)return!1;var j=e.getUint32(o+4,!l);if(j<8)return!1;if(u=readTags(e,o,o+j,TiffTags,l),u.ExifIFDPointer){p=readTags(e,o,o+u.ExifIFDPointer,ExifTags,l);for(d in p){switch(d){case"LightSource":case"Flash":case"MeteringMode":case"ExposureProgram":case"SensingMethod":case"SceneCaptureType":case"SceneType":case"CustomRendered":case"WhiteBalance":case"GainControl":case"Contrast":case"Saturation":case"Sharpness":case"SubjectDistanceRange":case"FileSource":p[d]=StringValues[d][p[d]];break;case"ExifVersion":case"FlashpixVersion":p[d]=String.fromCharCode(p[d][0],p[d][1],p[d][2],p[d][3]);break;case"ComponentsConfiguration":p[d]=StringValues.Components[p[d][0]]+StringValues.Components[p[d][1]]+StringValues.Components[p[d][2]]+StringValues.Components[p[d][3]];break}u[d]=p[d]}}if(u.GPSInfoIFDPointer){y=readTags(e,o,o+u.GPSInfoIFDPointer,GPSTags,l);for(d in y){switch(d){case"GPSVersionID":y[d]=y[d][0]+"."+y[d][1]+"."+y[d][2]+"."+y[d][3];break}u[d]=y[d]}}return u}function readTags(e,n,l,u,d){var p=e.getUint16(l,!d),y={},o,j,Re;for(Re=0;Re<p;Re++)o=l+Re*12+2,j=u[e.getUint16(o,!d)],y[j]=readTagValue(e,o,n,l,d);return y}function readTagValue(e,n,l,u,d){var p=e.getUint16(n+2,!d),y=e.getUint32(n+4,!d),o=e.getUint32(n+8,!d)+l,j,Re,_e,$,Je,Ve;switch(p){case 1:case 7:if(y==1)return e.getUint8(n+8,!d);for(j=y>4?o:n+8,Re=[],$=0;$<y;$++)Re[$]=e.getUint8(j+$);return Re;case 2:return j=y>4?o:n+8,util.getStringFromDB(e,j,y-1);case 3:if(y==1)return e.getUint16(n+8,!d);for(j=y>2?o:n+8,Re=[],$=0;$<y;$++)Re[$]=e.getUint16(j+2*$,!d);return Re;case 4:if(y==1)return e.getUint32(n+8,!d);for(Re=[],$=0;$<y;$++)Re[$]=e.getUint32(o+4*$,!d);return Re;case 5:if(y==1)return Je=e.getUint32(o,!d),Ve=e.getUint32(o+4,!d),_e=new Number(Je/Ve),_e.numerator=Je,_e.denominator=Ve,_e;for(Re=[],$=0;$<y;$++)Je=e.getUint32(o+8*$,!d),Ve=e.getUint32(o+4+8*$,!d),Re[$]=new Number(Je/Ve),Re[$].numerator=Je,Re[$].denominator=Ve;return Re;case 9:if(y==1)return e.getInt32(n+8,!d);for(Re=[],$=0;$<y;$++)Re[$]=e.getInt32(o+4*$,!d);return Re;case 10:if(y==1)return e.getInt32(o,!d)/e.getInt32(o+4,!d);for(Re=[],$=0;$<y;$++)Re[$]=e.getInt32(o+8*$,!d)/e.getInt32(o+4+8*$,!d);return Re}}const decoder=new TextDecoder,toUTF8String=(e,n=0,l=e.length)=>decoder.decode(e.slice(n,l)),toHexString=(e,n=0,l=e.length)=>e.slice(n,l).reduce((u,d)=>u+("0"+d.toString(16)).slice(-2),""),readInt16LE=(e,n=0)=>{const l=e[n]+e[n+1]*256;return l|(l&b0(2,15))*131070},readUInt16BE=(e,n=0)=>e[n]*b0(2,8)+e[n+1],readUInt16LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8),readUInt24LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8)+e[n+2]*b0(2,16),readInt32LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8)+e[n+2]*b0(2,16)+(e[n+3]<<24),readUInt32BE=(e,n=0)=>e[n]*b0(2,24)+e[n+1]*b0(2,16)+e[n+2]*b0(2,8)+e[n+3],readUInt32LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8)+e[n+2]*b0(2,16)+e[n+3]*b0(2,24),methods={readUInt16BE,readUInt16LE,readUInt32BE,readUInt32LE};function readUInt(e,n,l,u){l=l||0;const d=u?"BE":"LE",p="readUInt"+n+d;return methods[p](e,l)}function readBox(e,n){if(e.length-n<4)return;const l=readUInt32BE(e,n);if(!(e.length-n<l))return{name:toUTF8String(e,4+n,8+n),offset:n,size:l}}function findBox(e,n,l){for(;l<e.length;){const u=readBox(e,l);if(!u)break;if(u.name===n)return u;l+=u.size}}const BMP={validate:e=>toUTF8String(e,0,2)==="BM",calculate:e=>({height:Math.abs(readInt32LE(e,22)),width:readUInt32LE(e,18)})},TYPE_ICON=1,SIZE_HEADER$1=2+2+2,SIZE_IMAGE_ENTRY=1+1+1+1+2+2+4+4;function getSizeFromOffset(e,n){const l=e[n];return l===0?256:l}function getImageSize$2(e,n){const l=SIZE_HEADER$1+n*SIZE_IMAGE_ENTRY;return{height:getSizeFromOffset(e,l+1),width:getSizeFromOffset(e,l)}}const ICO={validate(e){const n=readUInt16LE(e,0),l=readUInt16LE(e,4);return n!==0||l===0?!1:readUInt16LE(e,2)===TYPE_ICON},calculate(e){const n=readUInt16LE(e,4),l=getImageSize$2(e,0);if(n===1)return l;const u=[l];for(let d=1;d<n;d+=1)u.push(getImageSize$2(e,d));return{height:l.height,images:u,width:l.width}}},TYPE_CURSOR=2,CUR={validate(e){const n=readUInt16LE(e,0),l=readUInt16LE(e,4);return n!==0||l===0?!1:readUInt16LE(e,2)===TYPE_CURSOR},calculate:e=>ICO.calculate(e)},DDS={validate:e=>readUInt32LE(e,0)===542327876,calculate:e=>({height:readUInt32LE(e,12),width:readUInt32LE(e,16)})},gifRegexp=/^GIF8[79]a/,GIF={validate:e=>gifRegexp.test(toUTF8String(e,0,6)),calculate:e=>({height:readUInt16LE(e,8),width:readUInt16LE(e,6)})},brandMap={avif:"avif",mif1:"heif",msf1:"heif",heic:"heic",heix:"heic",hevc:"heic",hevx:"heic"},HEIF={validate(e){const n=toUTF8String(e,4,8),l=toUTF8String(e,8,12);return n==="ftyp"&&l in brandMap},calculate(e){const n=findBox(e,"meta",0),l=n&&findBox(e,"iprp",n.offset+12),u=l&&findBox(e,"ipco",l.offset+8),d=u&&findBox(e,"ispe",u.offset+8);if(d)return{height:readUInt32BE(e,d.offset+16),width:readUInt32BE(e,d.offset+12),type:toUTF8String(e,8,12)};throw new TypeError("Invalid HEIF, no size found")}},SIZE_HEADER=4+4,FILE_LENGTH_OFFSET=4,ENTRY_LENGTH_OFFSET=4,ICON_TYPE_SIZE={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function readImageHeader(e,n){const l=n+ENTRY_LENGTH_OFFSET;return[toUTF8String(e,n,l),readUInt32BE(e,l)]}function getImageSize$1(e){const n=ICON_TYPE_SIZE[e];return{width:n,height:n,type:e}}const ICNS={validate:e=>toUTF8String(e,0,4)==="icns",calculate(e){const n=e.length,l=readUInt32BE(e,FILE_LENGTH_OFFSET);let u=SIZE_HEADER,d=readImageHeader(e,u),p=getImageSize$1(d[0]);if(u+=d[1],u===l)return p;const y={height:p.height,images:[p],width:p.width};for(;u<l&&u<n;)d=readImageHeader(e,u),p=getImageSize$1(d[0]),u+=d[1],y.images.push(p);return y}},J2C={validate:e=>toHexString(e,0,4)==="ff4fff51",calculate:e=>({height:readUInt32BE(e,12),width:readUInt32BE(e,8)})},JP2={validate(e){if(readUInt32BE(e,4)!==1783636e3||readUInt32BE(e,0)<1)return!1;const n=findBox(e,"ftyp",0);return n?readUInt32BE(e,n.offset+4)===1718909296:!1},calculate(e){const n=findBox(e,"jp2h",0),l=n&&findBox(e,"ihdr",n.offset+8);if(l)return{height:readUInt32BE(e,l.offset+8),width:readUInt32BE(e,l.offset+12)};throw new TypeError("Unsupported JPEG 2000 format")}},EXIF_MARKER="45786966",APP1_DATA_SIZE_BYTES=2,EXIF_HEADER_BYTES=6,TIFF_BYTE_ALIGN_BYTES=2,BIG_ENDIAN_BYTE_ALIGN="4d4d",LITTLE_ENDIAN_BYTE_ALIGN="4949",IDF_ENTRY_BYTES=12,NUM_DIRECTORY_ENTRIES_BYTES=2;function isEXIF(e){return toHexString(e,2,6)===EXIF_MARKER}function extractSize(e,n){return{height:readUInt16BE(e,n),width:readUInt16BE(e,n+2)}}function extractOrientation(e,n){const u=EXIF_HEADER_BYTES+8,d=readUInt(e,16,u,n);for(let p=0;p<d;p++){const y=u+NUM_DIRECTORY_ENTRIES_BYTES+p*IDF_ENTRY_BYTES,o=y+IDF_ENTRY_BYTES;if(y>e.length)return;const j=e.slice(y,o);if(readUInt(j,16,0,n)===274)return readUInt(j,16,2,n)!==3||readUInt(j,32,4,n)!==1?void 0:readUInt(j,16,8,n)}}function validateExifBlock(e,n){const l=e.slice(APP1_DATA_SIZE_BYTES,n),u=toHexString(l,EXIF_HEADER_BYTES,EXIF_HEADER_BYTES+TIFF_BYTE_ALIGN_BYTES),d=u===BIG_ENDIAN_BYTE_ALIGN;if(d||u===LITTLE_ENDIAN_BYTE_ALIGN)return extractOrientation(l,d)}function validateInput(e,n){if(n>e.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(e[n]!==255)throw new TypeError("Invalid JPG, marker table corrupted")}const JPG={validate:e=>toHexString(e,0,2)==="ffd8",calculate(e){e=e.slice(4);let n,l;for(;e.length;){const u=readUInt16BE(e,0);if(isEXIF(e)&&(n=validateExifBlock(e,u)),validateInput(e,u),l=e[u+1],l===192||l===193||l===194){const d=extractSize(e,u+5);return n?{height:d.height,orientation:n,width:d.width}:d}e=e.slice(u+2)}throw new TypeError("Invalid JPG, no size found")}},KTX={validate:e=>{const n=toUTF8String(e,1,7);return["KTX 11","KTX 20"].includes(n)},calculate:e=>{const n=e[5]===49?"ktx":"ktx2",l=n==="ktx"?36:20;return{height:readUInt32LE(e,l+4),width:readUInt32LE(e,l),type:n}}},pngSignature=`PNG\r
466
466
  
467
- `,pngImageHeaderChunkName="IHDR",pngFriedChunkName="CgBI",PNG={validate(e){if(pngSignature===toUTF8String(e,1,8)){let n=toUTF8String(e,12,16);if(n===pngFriedChunkName&&(n=toUTF8String(e,28,32)),n!==pngImageHeaderChunkName)throw new TypeError("Invalid PNG");return!0}return!1},calculate(e){return toUTF8String(e,12,16)===pngFriedChunkName?{height:readUInt32BE(e,36),width:readUInt32BE(e,32)}:{height:readUInt32BE(e,20),width:readUInt32BE(e,16)}}},PNMTypes={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},handlers={default:e=>{let n=[];for(;e.length>0;){const l=e.shift();if(l[0]!=="#"){n=l.split(" ");break}}if(n.length===2)return{height:parseInt(n[1],10),width:parseInt(n[0],10)};throw new TypeError("Invalid PNM")},pam:e=>{const n={};for(;e.length>0;){const l=e.shift();if(l.length>16||l.charCodeAt(0)>128)continue;const[u,d]=l.split(" ");if(u&&d&&(n[u.toLowerCase()]=parseInt(d,10)),n.height&&n.width)break}if(n.height&&n.width)return{height:n.height,width:n.width};throw new TypeError("Invalid PAM")}},PNM={validate:e=>toUTF8String(e,0,2)in PNMTypes,calculate(e){const n=toUTF8String(e,0,2),l=PNMTypes[n],u=toUTF8String(e,3).split(/[\r\n]+/);return(handlers[l]||handlers.default)(u)}},PSD={validate:e=>toUTF8String(e,0,4)==="8BPS",calculate:e=>({height:readUInt32BE(e,14),width:readUInt32BE(e,18)})},svgReg=/<svg\s([^>"']|"[^"]*"|'[^']*')*>/,extractorRegExps={height:/\sheight=(['"])([^%]+?)\1/,root:svgReg,viewbox:/\sviewBox=(['"])(.+?)\1/i,width:/\swidth=(['"])([^%]+?)\1/},INCH_CM=2.54,units={in:96,cm:96/INCH_CM,em:16,ex:8,m:96/INCH_CM*100,mm:96/INCH_CM/10,pc:96/72/12,pt:96/72,px:1},unitsReg=new RegExp(`^([0-9.]+(?:e\\d+)?)(${Object.keys(units).join("|")})?$`);function parseLength(e){const n=unitsReg.exec(e);if(!!n)return Math.round(Number(n[1])*(units[n[2]]||1))}function parseViewbox(e){const n=e.split(" ");return{height:parseLength(n[3]),width:parseLength(n[2])}}function parseAttributes(e){const n=e.match(extractorRegExps.width),l=e.match(extractorRegExps.height),u=e.match(extractorRegExps.viewbox);return{height:l&&parseLength(l[2]),viewbox:u&&parseViewbox(u[2]),width:n&&parseLength(n[2])}}function calculateByDimensions(e){return{height:e.height,width:e.width}}function calculateByViewbox(e,n){const l=n.width/n.height;return e.width?{height:Math.floor(e.width/l),width:e.width}:e.height?{height:e.height,width:Math.floor(e.height*l)}:{height:n.height,width:n.width}}const SVG={validate:e=>svgReg.test(toUTF8String(e,0,1e3)),calculate(e){const n=toUTF8String(e).match(extractorRegExps.root);if(n){const l=parseAttributes(n[0]);if(l.width&&l.height)return calculateByDimensions(l);if(l.viewbox)return calculateByViewbox(l,l.viewbox)}throw new TypeError("Invalid SVG")}},TGA={validate(e){return readUInt16LE(e,0)===0&&readUInt16LE(e,4)===0},calculate(e){return{height:readUInt16LE(e,14),width:readUInt16LE(e,12)}}};function readIFD(e,n){const l=readUInt(e,32,4,n);return e.slice(l+2)}function readValue(e,n){const l=readUInt(e,16,8,n);return(readUInt(e,16,10,n)<<16)+l}function nextTag(e){if(e.length>24)return e.slice(12)}function extractTags(e,n){const l={};let u=e;for(;u&&u.length;){const d=readUInt(u,16,0,n),p=readUInt(u,16,2,n),y=readUInt(u,32,4,n);if(d===0)break;y===1&&(p===3||p===4)&&(l[d]=readValue(u,n)),u=nextTag(u)}return l}function determineEndianness(e){const n=toUTF8String(e,0,2);if(n==="II")return"LE";if(n==="MM")return"BE"}const signatures=["49492a00","4d4d002a"],TIFF={validate:e=>signatures.includes(toHexString(e,0,4)),calculate(e){const n=determineEndianness(e)==="BE",l=readIFD(e,n),u=extractTags(l,n),d=u[256],p=u[257];if(!d||!p)throw new TypeError("Invalid Tiff. Missing tags");return{height:p,width:d}}};function calculateExtended(e){return{height:1+readUInt24LE(e,7),width:1+readUInt24LE(e,4)}}function calculateLossless(e){return{height:1+((e[4]&15)<<10|e[3]<<2|(e[2]&192)>>6),width:1+((e[2]&63)<<8|e[1])}}function calculateLossy(e){return{height:readInt16LE(e,8)&16383,width:readInt16LE(e,6)&16383}}const WEBP={validate(e){const n=toUTF8String(e,0,4)==="RIFF",l=toUTF8String(e,8,12)==="WEBP",u=toUTF8String(e,12,15)==="VP8";return n&&l&&u},calculate(e){const n=toUTF8String(e,12,16);if(e=e.slice(20,30),n==="VP8X"){const u=e[0],d=(u&192)===0,p=(u&1)===0;if(d&&p)return calculateExtended(e);throw new TypeError("Invalid WebP")}if(n==="VP8 "&&e[0]!==47)return calculateLossy(e);const l=toHexString(e,3,6);if(n==="VP8L"&&l!=="9d012a")return calculateLossless(e);throw new TypeError("Invalid WebP")}},typeHandlers=new Map([["bmp",BMP],["cur",CUR],["dds",DDS],["gif",GIF],["heif",HEIF],["icns",ICNS],["ico",ICO],["j2c",J2C],["jp2",JP2],["jpg",JPG],["ktx",KTX],["png",PNG],["pnm",PNM],["psd",PSD],["svg",SVG],["tga",TGA],["tiff",TIFF],["webp",WEBP]]),types=Array.from(typeHandlers.keys()),firstBytes=new Map([[56,"psd"],[66,"bmp"],[68,"dds"],[71,"gif"],[73,"tiff"],[77,"tiff"],[82,"webp"],[105,"icns"],[137,"png"],[255,"jpg"]]);function detector(e){const n=e[0],l=firstBytes.get(n);return l&&typeHandlers.get(l).validate(e)?l:types.find(u=>typeHandlers.get(u).validate(e))}const globalOptions={disabledTypes:[]};function lookup(e){var l;const n=detector(e);if(typeof n!="undefined"){if(globalOptions.disabledTypes.indexOf(n)>-1)throw new TypeError("disabled file type: "+n);const u=typeHandlers.get(n).calculate(e);if(u!==void 0)return u.type=(l=u.type)!=null?l:n,u}throw new TypeError("unsupported file type: "+n)}var sparkMd5={exports:{}};(function(e,n){(function(l){e.exports=l()})(function(l){var u=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function d(tt,We){var Ue=tt[0],Qe=tt[1],He=tt[2],tr=tt[3];Ue+=(Qe&He|~Qe&tr)+We[0]-680876936|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[1]-389564586|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[2]+606105819|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[3]-1044525330|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[4]-176418897|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[5]+1200080426|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[6]-1473231341|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[7]-45705983|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[8]+1770035416|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[9]-1958414417|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[10]-42063|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[11]-1990404162|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[12]+1804603682|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[13]-40341101|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[14]-1502002290|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[15]+1236535329|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&tr|He&~tr)+We[1]-165796510|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[6]-1069501632|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[11]+643717713|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[0]-373897302|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[5]-701558691|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[10]+38016083|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[15]-660478335|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[4]-405537848|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[9]+568446438|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[14]-1019803690|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[3]-187363961|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[8]+1163531501|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[13]-1444681467|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[2]-51403784|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[7]+1735328473|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[12]-1926607734|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe^He^tr)+We[5]-378558|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[8]-2022574463|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[11]+1839030562|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[14]-35309556|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[1]-1530992060|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[4]+1272893353|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[7]-155497632|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[10]-1094730640|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[13]+681279174|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[0]-358537222|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[3]-722521979|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[6]+76029189|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[9]-640364487|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[12]-421815835|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[15]+530742520|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[2]-995338651|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(He^(Qe|~tr))+We[0]-198630844|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[7]+1126891415|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[14]-1416354905|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[5]-57434055|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[12]+1700485571|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[3]-1894986606|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[10]-1051523|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[1]-2054922799|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[8]+1873313359|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[15]-30611744|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[6]-1560198380|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[13]+1309151649|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[4]-145523070|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[11]-1120210379|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[2]+718787259|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[9]-343485551|0,Qe=(Qe<<21|Qe>>>11)+He|0,tt[0]=Ue+tt[0]|0,tt[1]=Qe+tt[1]|0,tt[2]=He+tt[2]|0,tt[3]=tr+tt[3]|0}function p(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt.charCodeAt(Ue)+(tt.charCodeAt(Ue+1)<<8)+(tt.charCodeAt(Ue+2)<<16)+(tt.charCodeAt(Ue+3)<<24);return We}function y(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt[Ue]+(tt[Ue+1]<<8)+(tt[Ue+2]<<16)+(tt[Ue+3]<<24);return We}function o(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,p(tt.substring(Qe-64,Qe)));for(tt=tt.substring(Qe-64),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt.charCodeAt(Qe)<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function j(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,y(tt.subarray(Qe-64,Qe)));for(tt=Qe-64<We?tt.subarray(Qe-64):new Uint8Array(0),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt[Qe]<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function Re(tt){var We="",Ue;for(Ue=0;Ue<4;Ue+=1)We+=u[tt>>Ue*8+4&15]+u[tt>>Ue*8&15];return We}function _e(tt){var We;for(We=0;We<tt.length;We+=1)tt[We]=Re(tt[We]);return tt.join("")}_e(o("hello")),typeof ArrayBuffer!="undefined"&&!ArrayBuffer.prototype.slice&&function(){function tt(We,Ue){return We=We|0||0,We<0?Math.max(We+Ue,0):Math.min(We,Ue)}ArrayBuffer.prototype.slice=function(We,Ue){var Qe=this.byteLength,He=tt(We,Qe),tr=Qe,or,xt,Er,_r;return Ue!==l&&(tr=tt(Ue,Qe)),He>tr?new ArrayBuffer(0):(or=tr-He,xt=new ArrayBuffer(or),Er=new Uint8Array(xt),_r=new Uint8Array(this,He,or),Er.set(_r),xt)}}();function $(tt){return/[\u0080-\uFFFF]/.test(tt)&&(tt=unescape(encodeURIComponent(tt))),tt}function Je(tt,We){var Ue=tt.length,Qe=new ArrayBuffer(Ue),He=new Uint8Array(Qe),tr;for(tr=0;tr<Ue;tr+=1)He[tr]=tt.charCodeAt(tr);return We?He:Qe}function Ve(tt){return String.fromCharCode.apply(null,new Uint8Array(tt))}function Ze(tt,We,Ue){var Qe=new Uint8Array(tt.byteLength+We.byteLength);return Qe.set(new Uint8Array(tt)),Qe.set(new Uint8Array(We),tt.byteLength),Ue?Qe:Qe.buffer}function Fe(tt){var We=[],Ue=tt.length,Qe;for(Qe=0;Qe<Ue-1;Qe+=2)We.push(parseInt(tt.substr(Qe,2),16));return String.fromCharCode.apply(String,We)}function st(){this.reset()}return st.prototype.append=function(tt){return this.appendBinary($(tt)),this},st.prototype.appendBinary=function(tt){this._buff+=tt,this._length+=tt.length;var We=this._buff.length,Ue;for(Ue=64;Ue<=We;Ue+=64)d(this._hash,p(this._buff.substring(Ue-64,Ue)));return this._buff=this._buff.substring(Ue-64),this},st.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe,He=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],tr;for(Qe=0;Qe<Ue;Qe+=1)He[Qe>>2]|=We.charCodeAt(Qe)<<(Qe%4<<3);return this._finish(He,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},st.prototype.setState=function(tt){return this._buff=tt.buff,this._length=tt.length,this._hash=tt.hash,this},st.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},st.prototype._finish=function(tt,We){var Ue=We,Qe,He,tr;if(tt[Ue>>2]|=128<<(Ue%4<<3),Ue>55)for(d(this._hash,tt),Ue=0;Ue<16;Ue+=1)tt[Ue]=0;Qe=this._length*8,Qe=Qe.toString(16).match(/(.*?)(.{0,8})$/),He=parseInt(Qe[2],16),tr=parseInt(Qe[1],16)||0,tt[14]=He,tt[15]=tr,d(this._hash,tt)},st.hash=function(tt,We){return st.hashBinary($(tt),We)},st.hashBinary=function(tt,We){var Ue=o(tt),Qe=_e(Ue);return We?Fe(Qe):Qe},st.ArrayBuffer=function(){this.reset()},st.ArrayBuffer.prototype.append=function(tt){var We=Ze(this._buff.buffer,tt,!0),Ue=We.length,Qe;for(this._length+=tt.byteLength,Qe=64;Qe<=Ue;Qe+=64)d(this._hash,y(We.subarray(Qe-64,Qe)));return this._buff=Qe-64<Ue?new Uint8Array(We.buffer.slice(Qe-64)):new Uint8Array(0),this},st.ArrayBuffer.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],He,tr;for(He=0;He<Ue;He+=1)Qe[He>>2]|=We[He]<<(He%4<<3);return this._finish(Qe,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.ArrayBuffer.prototype.getState=function(){var tt=st.prototype.getState.call(this);return tt.buff=Ve(tt.buff),tt},st.ArrayBuffer.prototype.setState=function(tt){return tt.buff=Je(tt.buff,!0),st.prototype.setState.call(this,tt)},st.ArrayBuffer.prototype.destroy=st.prototype.destroy,st.ArrayBuffer.prototype._finish=st.prototype._finish,st.ArrayBuffer.hash=function(tt,We){var Ue=j(new Uint8Array(tt)),Qe=_e(Ue);return We?Fe(Qe):Qe},st})})(sparkMd5);const SparkMD5=sparkMd5.exports,getPhotoMetadata=e=>es(exports,null,function*(){let n=getFileExtent(e),l={};if(n==="jpg"||n==="jpeg")try{l=yield _formatMetadata(e)}catch(u){l=yield getImageSize(e)}else l=yield getImageSize(e);return l.filesize=getFileSize(e),l});function _formatMetadata(e,n=1){return es(this,null,function*(){let l=yield getFileBuffer(e,n),u=getMd5(l);return new Promise((d,p)=>{getData(l.buffer,function(y,o){if(o)return o.message==="Offset is outside the bounds of the DataView"&&n<3?d(_formatMetadata(e,n+1)):p(o);let{exif:j,xmp:Re}=getAllTags(y);j=JSON.parse(JSON.stringify(j).replaceAll("\\u0000",""))||{},j.PixelXDimension&&j.PixelYDimension&&j.PixelXDimension!=65535&&j.PixelYDimension!=65535?d({exif:j,xmp:Re,width:j.PixelXDimension,height:j.PixelYDimension,md5:u}):getImageSize(e).then(_e=>{d({exif:j,xmp:Re,width:_e.width,height:_e.height,md5:u})})})})})}function getImageSize(e){return es(this,null,function*(){try{let n=yield getFileBuffer(e),l=lookup(n),u=getMd5(Buffer.concat([n.subarray(0,10240),n.subarray(n.length/2,10240),n.subarray(-10240)]));return{width:l.width,height:l.height,md5:u}}catch(n){return{width:0,height:0}}})}function getAllTags(e){return util.imageHasData(e)?{exif:e.exifdata||{},xmp:e.xmpdata||{}}:{exif:{},xmp:{}}}function getFileExtent(e){return typeof e=="string"?e.split(".").pop().toLowerCase():e.name.split(".").pop().toLowerCase()}function getFileBuffer(e,n){return es(this,null,function*(){if(typeof e=="string")if(n){let l=fs__default.default.openSync(e),u=Buffer.alloc(65536*n);return yield new Promise(d=>{fs__default.default.read(l,u,0,u.length,0,()=>{d(),fs__default.default.closeSync(l)})}),u}else return fs__default.default.readFileSync(e);else return n&&(e=e.slice(0,65536*n)),yield new Promise((l,u)=>{var d=new FileReader;d.readAsArrayBuffer(e),d.onload=p=>{l(p.target.result)},d.onerror=p=>{u(p)}})})}function getFileSize(e){return typeof e=="string"?fs__default.default.statSync(e).size:e.size}function getMd5(e){let n=new SparkMD5.ArrayBuffer;return n.append(e),n.end()}function parsePhoto(e){return es(this,null,function*(){let n=yield getPhotoMetadata(e);const{width:l,height:u,exif:d,xmp:p,filesize:y,md5:o}=n;let j={width:l,height:u,filesize:y,md5:o},Re=NaN,_e=NaN,$=NaN,Je=NaN,Ve=NaN,Ze=NaN,Fe=NaN,st=NaN,tt=NaN,We=[Re,_e,$],Ue=flatObject(p),{GPSAltitude:Qe,GPSLatitude:He,GPSLatitudeRef:tr,GPSLongitude:or,GPSLongitudeRef:xt}=d||{};or&&He&&(We=[getGeoCoordOperator(xt)*toRadian(or),getGeoCoordOperator(tr)*toRadian(He),+Qe]);for(let Er in Ue){let _r=Ue[Er];if(Er==="drone-dji:GpsLongtitude"||Er==="drone-dji:GpsLongitude")Re=Number(_r);else if(Er==="drone-dji:GpsLatitude")_e=Number(_r);else if(Er==="drone-dji:AbsoluteAltitude")$=Number(_r);else if(Er==="drone-dji:GimbalYawDegree")Je=Number(_r);else if(Er==="drone-dji:GimbalPitchDegree")Ve=Number(_r);else if(Er==="drone-dji:GimbalRollDegree")Ze=Number(_r);else if(Er==="drone-dji:RtkStdLon")Fe=Number(_r);else if(Er==="drone-dji:RtkStdLat")st=Number(_r);else if(Er==="drone-dji:RtkStdHgt")tt=Number(_r);else if(Er==="drone-dji:DewarpFlag")j.dewarp_flag=Boolean(Number(_r));else if(Er==="drone-dji:RtkFlag")j.rtk_flag=Number(_r);else if(Er==="drone-dji:RelativeAltitude")j.relative_altitude=Number(_r);else if(Er==="tiff:Model")j.camera_model=_r;else if(Er==="drone-dji:DewarpData"){let hr=_r.split(";")[1].split(",").map(Kr=>Number(Kr));hr[2]=l/2+hr[2],hr[3]=u/2+hr[3],j.pre_calib_param=hr}else Er==="drone-dji:CaptureUUID"?j.capture_uuid=_r:Er==="drone-dji:DroneID"?j.drone_id=_r:Er==="drone-dji:DroneSerialNumber"?j.drone_serial_number=_r:Er==="drone-dji:CameraSerialNumber"&&(j.camera_serial_number=_r)}for(let Er in Ue){let _r=Ue[Er];Er==="drone-dji:GpsStatus"&&_r==="RTK"&&Number.isNaN(Fe)?(Fe=.02,st=.02):Er==="drone-dji:AltitudeType"&&_r==="RtkAlt"&&Number.isNaN(tt)&&(tt=.02)}if(!Number.isNaN(Fe)&&!Number.isNaN(st)&&!Number.isNaN(tt)&&(j.pos_std=[Fe,st,tt]),!Number.isNaN(Je)&&!Number.isNaN(Ve)&&!Number.isNaN(Ze)&&(j.pitch_roll_yaw=[Ve,Ze,Je],j.orientation=getRotationMatrix(Ve,Ze,Je)),d!=null&&d.DateTime?j.capture_time=hooks(d.DateTime,"YYYY:MM:DD HH:mm:ss").valueOf():d!=null&&d.DateTimeOriginal&&(j.capture_time=hooks(d.DateTimeOriginal,"YYYY:MM:DD HH:mm:ss").valueOf()),d!=null&&d.FocalLengthIn35mmFilm&&(j.focal_length_in_35mm=d.FocalLengthIn35mmFilm),hasNaN(We)&&(We=[Re,_e,$]),!hasNaN(We))if(j.pos=We,j.absolute_altitude=We[2],j.coordinate_system={type:2,label:"WGS 84",type_name:"Geographic",epsg_code:4326},hasNaN([Fe,st,tt]))j.pos_sigma=[2,2,5];else{let Er=[],_r=Math.sqrt(Math.pow(Fe,2)+Math.pow(st,2));_r<.03?Er[0]=Er[1]=.03:_r<.2?Er[0]=Er[1]=.2:Er[0]=Er[1]=2,tt<.03?Er[2]=.06:tt<.2?Er[2]=.5:Er[2]=5,j.pos_sigma=Er}return j})}function parsePhotos(e,n){let l=[],u=e,d=e.length,p=10,y=0;return new Promise(o=>{const j=()=>{for(let _e=y;_e<p;_e++){let $=u.pop();if(!$)break;y++,parsePhoto($).then(Je=>{y--;let Ve=$.split(".").pop(),Ze={width:Je.width,height:Je.height,ext:Ve,parameters:Je.pre_calib_param||null},Fe=l.find(st=>st.width===Ze.width&&st.height===Ze.height&&st.ext===Ze.ext&&_$1.isEqual(st.parameters,Ze.parameters));Fe||(Fe=Ze,Fe.fileList=[],l.push(Fe)),Fe.fileList.push({name:$.split("\\").pop(),filesize:Je.filesize,md5:Je.md5,filePath:$,meta_data:Je}),Re()}).catch(Je=>{y--,Re(),console.error(Je)})}},Re=()=>{u.length?j():y||o(l);let _e=d-u.length-y;n&&n(_e,d)};j()})}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var l=arguments[n];for(var u in l)({}).hasOwnProperty.call(l,u)&&(e[u]=l[u])}return e},_extends.apply(null,arguments)}var DEFAULT_CONFIG={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function isNumber(e){return typeof e=="number"}function isBigNumber(e){return!e||typeof e!="object"||typeof e.constructor!="function"?!1:e.isBigNumber===!0&&typeof e.constructor.prototype=="object"&&e.constructor.prototype.isBigNumber===!0||typeof e.constructor.isDecimal=="function"&&e.constructor.isDecimal(e)===!0}function isComplex(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isComplex===!0||!1}function isFraction(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isFraction===!0||!1}function isUnit(e){return e&&e.constructor.prototype.isUnit===!0||!1}function isString(e){return typeof e=="string"}var isArray=Array.isArray;function isMatrix(e){return e&&e.constructor.prototype.isMatrix===!0||!1}function isCollection(e){return Array.isArray(e)||isMatrix(e)}function isDenseMatrix(e){return e&&e.isDenseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isSparseMatrix(e){return e&&e.isSparseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isRange(e){return e&&e.constructor.prototype.isRange===!0||!1}function isIndex(e){return e&&e.constructor.prototype.isIndex===!0||!1}function isBoolean(e){return typeof e=="boolean"}function isResultSet(e){return e&&e.constructor.prototype.isResultSet===!0||!1}function isHelp(e){return e&&e.constructor.prototype.isHelp===!0||!1}function isFunction(e){return typeof e=="function"}function isDate(e){return e instanceof Date}function isRegExp(e){return e instanceof RegExp}function isObject(e){return!!(e&&typeof e=="object"&&e.constructor===Object&&!isComplex(e)&&!isFraction(e))}function isNull(e){return e===null}function isUndefined(e){return e===void 0}function isAccessorNode(e){return e&&e.isAccessorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isArrayNode(e){return e&&e.isArrayNode===!0&&e.constructor.prototype.isNode===!0||!1}function isAssignmentNode(e){return e&&e.isAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isBlockNode(e){return e&&e.isBlockNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConditionalNode(e){return e&&e.isConditionalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConstantNode(e){return e&&e.isConstantNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionAssignmentNode(e){return e&&e.isFunctionAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionNode(e){return e&&e.isFunctionNode===!0&&e.constructor.prototype.isNode===!0||!1}function isIndexNode(e){return e&&e.isIndexNode===!0&&e.constructor.prototype.isNode===!0||!1}function isNode(e){return e&&e.isNode===!0&&e.constructor.prototype.isNode===!0||!1}function isObjectNode(e){return e&&e.isObjectNode===!0&&e.constructor.prototype.isNode===!0||!1}function isOperatorNode(e){return e&&e.isOperatorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isParenthesisNode(e){return e&&e.isParenthesisNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRangeNode(e){return e&&e.isRangeNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRelationalNode(e){return e&&e.isRelationalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isSymbolNode(e){return e&&e.isSymbolNode===!0&&e.constructor.prototype.isNode===!0||!1}function isChain(e){return e&&e.constructor.prototype.isChain===!0||!1}function typeOf(e){var n=typeof e;return n==="object"?e===null?"null":isBigNumber(e)?"BigNumber":e.constructor&&e.constructor.name?e.constructor.name:"Object":n}function clone$2(e){var n=typeof e;if(n==="number"||n==="string"||n==="boolean"||e===null||e===void 0)return e;if(typeof e.clone=="function")return e.clone();if(Array.isArray(e))return e.map(function(l){return clone$2(l)});if(e instanceof Date)return new Date(e.valueOf());if(isBigNumber(e))return e;if(isObject(e))return mapObject(e,clone$2);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(e,")"))}function mapObject(e,n){var l={};for(var u in e)hasOwnProperty(e,u)&&(l[u]=n(e[u]));return l}function extend(e,n){for(var l in n)hasOwnProperty(n,l)&&(e[l]=n[l]);return e}function deepStrictEqual(e,n){var l,u,d;if(Array.isArray(e)){if(!Array.isArray(n)||e.length!==n.length)return!1;for(u=0,d=e.length;u<d;u++)if(!deepStrictEqual(e[u],n[u]))return!1;return!0}else{if(typeof e=="function")return e===n;if(e instanceof Object){if(Array.isArray(n)||!(n instanceof Object))return!1;for(l in e)if(!(l in n)||!deepStrictEqual(e[l],n[l]))return!1;for(l in n)if(!(l in e))return!1;return!0}else return e===n}}function hasOwnProperty(e,n){return e&&Object.hasOwnProperty.call(e,n)}function pickShallow(e,n){for(var l={},u=0;u<n.length;u++){var d=n[u],p=e[d];p!==void 0&&(l[d]=p)}return l}var MATRIX_OPTIONS=["Matrix","Array"],NUMBER_OPTIONS=["number","BigNumber","Fraction"],config$1=function e(n){if(n)throw new Error(`The global config is readonly.
467
+ `,pngImageHeaderChunkName="IHDR",pngFriedChunkName="CgBI",PNG={validate(e){if(pngSignature===toUTF8String(e,1,8)){let n=toUTF8String(e,12,16);if(n===pngFriedChunkName&&(n=toUTF8String(e,28,32)),n!==pngImageHeaderChunkName)throw new TypeError("Invalid PNG");return!0}return!1},calculate(e){return toUTF8String(e,12,16)===pngFriedChunkName?{height:readUInt32BE(e,36),width:readUInt32BE(e,32)}:{height:readUInt32BE(e,20),width:readUInt32BE(e,16)}}},PNMTypes={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},handlers={default:e=>{let n=[];for(;e.length>0;){const l=e.shift();if(l[0]!=="#"){n=l.split(" ");break}}if(n.length===2)return{height:parseInt(n[1],10),width:parseInt(n[0],10)};throw new TypeError("Invalid PNM")},pam:e=>{const n={};for(;e.length>0;){const l=e.shift();if(l.length>16||l.charCodeAt(0)>128)continue;const[u,d]=l.split(" ");if(u&&d&&(n[u.toLowerCase()]=parseInt(d,10)),n.height&&n.width)break}if(n.height&&n.width)return{height:n.height,width:n.width};throw new TypeError("Invalid PAM")}},PNM={validate:e=>toUTF8String(e,0,2)in PNMTypes,calculate(e){const n=toUTF8String(e,0,2),l=PNMTypes[n],u=toUTF8String(e,3).split(/[\r\n]+/);return(handlers[l]||handlers.default)(u)}},PSD={validate:e=>toUTF8String(e,0,4)==="8BPS",calculate:e=>({height:readUInt32BE(e,14),width:readUInt32BE(e,18)})},svgReg=/<svg\s([^>"']|"[^"]*"|'[^']*')*>/,extractorRegExps={height:/\sheight=(['"])([^%]+?)\1/,root:svgReg,viewbox:/\sviewBox=(['"])(.+?)\1/i,width:/\swidth=(['"])([^%]+?)\1/},INCH_CM=2.54,units={in:96,cm:96/INCH_CM,em:16,ex:8,m:96/INCH_CM*100,mm:96/INCH_CM/10,pc:96/72/12,pt:96/72,px:1},unitsReg=new RegExp(`^([0-9.]+(?:e\\d+)?)(${Object.keys(units).join("|")})?$`);function parseLength(e){const n=unitsReg.exec(e);if(!!n)return Math.round(Number(n[1])*(units[n[2]]||1))}function parseViewbox(e){const n=e.split(" ");return{height:parseLength(n[3]),width:parseLength(n[2])}}function parseAttributes(e){const n=e.match(extractorRegExps.width),l=e.match(extractorRegExps.height),u=e.match(extractorRegExps.viewbox);return{height:l&&parseLength(l[2]),viewbox:u&&parseViewbox(u[2]),width:n&&parseLength(n[2])}}function calculateByDimensions(e){return{height:e.height,width:e.width}}function calculateByViewbox(e,n){const l=n.width/n.height;return e.width?{height:Math.floor(e.width/l),width:e.width}:e.height?{height:e.height,width:Math.floor(e.height*l)}:{height:n.height,width:n.width}}const SVG={validate:e=>svgReg.test(toUTF8String(e,0,1e3)),calculate(e){const n=toUTF8String(e).match(extractorRegExps.root);if(n){const l=parseAttributes(n[0]);if(l.width&&l.height)return calculateByDimensions(l);if(l.viewbox)return calculateByViewbox(l,l.viewbox)}throw new TypeError("Invalid SVG")}},TGA={validate(e){return readUInt16LE(e,0)===0&&readUInt16LE(e,4)===0},calculate(e){return{height:readUInt16LE(e,14),width:readUInt16LE(e,12)}}};function readIFD(e,n){const l=readUInt(e,32,4,n);return e.slice(l+2)}function readValue(e,n){const l=readUInt(e,16,8,n);return(readUInt(e,16,10,n)<<16)+l}function nextTag(e){if(e.length>24)return e.slice(12)}function extractTags(e,n){const l={};let u=e;for(;u&&u.length;){const d=readUInt(u,16,0,n),p=readUInt(u,16,2,n),y=readUInt(u,32,4,n);if(d===0)break;y===1&&(p===3||p===4)&&(l[d]=readValue(u,n)),u=nextTag(u)}return l}function determineEndianness(e){const n=toUTF8String(e,0,2);if(n==="II")return"LE";if(n==="MM")return"BE"}const signatures=["49492a00","4d4d002a"],TIFF={validate:e=>signatures.includes(toHexString(e,0,4)),calculate(e){const n=determineEndianness(e)==="BE",l=readIFD(e,n),u=extractTags(l,n),d=u[256],p=u[257];if(!d||!p)throw new TypeError("Invalid Tiff. Missing tags");return{height:p,width:d}}};function calculateExtended(e){return{height:1+readUInt24LE(e,7),width:1+readUInt24LE(e,4)}}function calculateLossless(e){return{height:1+((e[4]&15)<<10|e[3]<<2|(e[2]&192)>>6),width:1+((e[2]&63)<<8|e[1])}}function calculateLossy(e){return{height:readInt16LE(e,8)&16383,width:readInt16LE(e,6)&16383}}const WEBP={validate(e){const n=toUTF8String(e,0,4)==="RIFF",l=toUTF8String(e,8,12)==="WEBP",u=toUTF8String(e,12,15)==="VP8";return n&&l&&u},calculate(e){const n=toUTF8String(e,12,16);if(e=e.slice(20,30),n==="VP8X"){const u=e[0],d=(u&192)===0,p=(u&1)===0;if(d&&p)return calculateExtended(e);throw new TypeError("Invalid WebP")}if(n==="VP8 "&&e[0]!==47)return calculateLossy(e);const l=toHexString(e,3,6);if(n==="VP8L"&&l!=="9d012a")return calculateLossless(e);throw new TypeError("Invalid WebP")}},typeHandlers=new Map([["bmp",BMP],["cur",CUR],["dds",DDS],["gif",GIF],["heif",HEIF],["icns",ICNS],["ico",ICO],["j2c",J2C],["jp2",JP2],["jpg",JPG],["ktx",KTX],["png",PNG],["pnm",PNM],["psd",PSD],["svg",SVG],["tga",TGA],["tiff",TIFF],["webp",WEBP]]),types=Array.from(typeHandlers.keys()),firstBytes=new Map([[56,"psd"],[66,"bmp"],[68,"dds"],[71,"gif"],[73,"tiff"],[77,"tiff"],[82,"webp"],[105,"icns"],[137,"png"],[255,"jpg"]]);function detector(e){const n=e[0],l=firstBytes.get(n);return l&&typeHandlers.get(l).validate(e)?l:types.find(u=>typeHandlers.get(u).validate(e))}const globalOptions={disabledTypes:[]};function lookup(e){var l;const n=detector(e);if(typeof n!="undefined"){if(globalOptions.disabledTypes.indexOf(n)>-1)throw new TypeError("disabled file type: "+n);const u=typeHandlers.get(n).calculate(e);if(u!==void 0)return u.type=(l=u.type)!=null?l:n,u}throw new TypeError("unsupported file type: "+n)}var sparkMd5={exports:{}};(function(e,n){(function(l){e.exports=l()})(function(l){var u=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function d(tt,We){var Ue=tt[0],Qe=tt[1],He=tt[2],tr=tt[3];Ue+=(Qe&He|~Qe&tr)+We[0]-680876936|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[1]-389564586|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[2]+606105819|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[3]-1044525330|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[4]-176418897|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[5]+1200080426|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[6]-1473231341|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[7]-45705983|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[8]+1770035416|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[9]-1958414417|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[10]-42063|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[11]-1990404162|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[12]+1804603682|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[13]-40341101|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[14]-1502002290|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[15]+1236535329|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&tr|He&~tr)+We[1]-165796510|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[6]-1069501632|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[11]+643717713|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[0]-373897302|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[5]-701558691|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[10]+38016083|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[15]-660478335|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[4]-405537848|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[9]+568446438|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[14]-1019803690|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[3]-187363961|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[8]+1163531501|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[13]-1444681467|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[2]-51403784|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[7]+1735328473|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[12]-1926607734|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe^He^tr)+We[5]-378558|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[8]-2022574463|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[11]+1839030562|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[14]-35309556|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[1]-1530992060|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[4]+1272893353|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[7]-155497632|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[10]-1094730640|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[13]+681279174|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[0]-358537222|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[3]-722521979|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[6]+76029189|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[9]-640364487|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[12]-421815835|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[15]+530742520|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[2]-995338651|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(He^(Qe|~tr))+We[0]-198630844|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[7]+1126891415|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[14]-1416354905|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[5]-57434055|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[12]+1700485571|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[3]-1894986606|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[10]-1051523|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[1]-2054922799|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[8]+1873313359|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[15]-30611744|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[6]-1560198380|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[13]+1309151649|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[4]-145523070|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[11]-1120210379|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[2]+718787259|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[9]-343485551|0,Qe=(Qe<<21|Qe>>>11)+He|0,tt[0]=Ue+tt[0]|0,tt[1]=Qe+tt[1]|0,tt[2]=He+tt[2]|0,tt[3]=tr+tt[3]|0}function p(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt.charCodeAt(Ue)+(tt.charCodeAt(Ue+1)<<8)+(tt.charCodeAt(Ue+2)<<16)+(tt.charCodeAt(Ue+3)<<24);return We}function y(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt[Ue]+(tt[Ue+1]<<8)+(tt[Ue+2]<<16)+(tt[Ue+3]<<24);return We}function o(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,p(tt.substring(Qe-64,Qe)));for(tt=tt.substring(Qe-64),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt.charCodeAt(Qe)<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function j(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,y(tt.subarray(Qe-64,Qe)));for(tt=Qe-64<We?tt.subarray(Qe-64):new Uint8Array(0),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt[Qe]<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function Re(tt){var We="",Ue;for(Ue=0;Ue<4;Ue+=1)We+=u[tt>>Ue*8+4&15]+u[tt>>Ue*8&15];return We}function _e(tt){var We;for(We=0;We<tt.length;We+=1)tt[We]=Re(tt[We]);return tt.join("")}_e(o("hello")),typeof ArrayBuffer!="undefined"&&!ArrayBuffer.prototype.slice&&function(){function tt(We,Ue){return We=We|0||0,We<0?Math.max(We+Ue,0):Math.min(We,Ue)}ArrayBuffer.prototype.slice=function(We,Ue){var Qe=this.byteLength,He=tt(We,Qe),tr=Qe,or,xt,Er,_r;return Ue!==l&&(tr=tt(Ue,Qe)),He>tr?new ArrayBuffer(0):(or=tr-He,xt=new ArrayBuffer(or),Er=new Uint8Array(xt),_r=new Uint8Array(this,He,or),Er.set(_r),xt)}}();function $(tt){return/[\u0080-\uFFFF]/.test(tt)&&(tt=unescape(encodeURIComponent(tt))),tt}function Je(tt,We){var Ue=tt.length,Qe=new ArrayBuffer(Ue),He=new Uint8Array(Qe),tr;for(tr=0;tr<Ue;tr+=1)He[tr]=tt.charCodeAt(tr);return We?He:Qe}function Ve(tt){return String.fromCharCode.apply(null,new Uint8Array(tt))}function Ze(tt,We,Ue){var Qe=new Uint8Array(tt.byteLength+We.byteLength);return Qe.set(new Uint8Array(tt)),Qe.set(new Uint8Array(We),tt.byteLength),Ue?Qe:Qe.buffer}function Fe(tt){var We=[],Ue=tt.length,Qe;for(Qe=0;Qe<Ue-1;Qe+=2)We.push(parseInt(tt.substr(Qe,2),16));return String.fromCharCode.apply(String,We)}function st(){this.reset()}return st.prototype.append=function(tt){return this.appendBinary($(tt)),this},st.prototype.appendBinary=function(tt){this._buff+=tt,this._length+=tt.length;var We=this._buff.length,Ue;for(Ue=64;Ue<=We;Ue+=64)d(this._hash,p(this._buff.substring(Ue-64,Ue)));return this._buff=this._buff.substring(Ue-64),this},st.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe,He=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],tr;for(Qe=0;Qe<Ue;Qe+=1)He[Qe>>2]|=We.charCodeAt(Qe)<<(Qe%4<<3);return this._finish(He,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},st.prototype.setState=function(tt){return this._buff=tt.buff,this._length=tt.length,this._hash=tt.hash,this},st.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},st.prototype._finish=function(tt,We){var Ue=We,Qe,He,tr;if(tt[Ue>>2]|=128<<(Ue%4<<3),Ue>55)for(d(this._hash,tt),Ue=0;Ue<16;Ue+=1)tt[Ue]=0;Qe=this._length*8,Qe=Qe.toString(16).match(/(.*?)(.{0,8})$/),He=parseInt(Qe[2],16),tr=parseInt(Qe[1],16)||0,tt[14]=He,tt[15]=tr,d(this._hash,tt)},st.hash=function(tt,We){return st.hashBinary($(tt),We)},st.hashBinary=function(tt,We){var Ue=o(tt),Qe=_e(Ue);return We?Fe(Qe):Qe},st.ArrayBuffer=function(){this.reset()},st.ArrayBuffer.prototype.append=function(tt){var We=Ze(this._buff.buffer,tt,!0),Ue=We.length,Qe;for(this._length+=tt.byteLength,Qe=64;Qe<=Ue;Qe+=64)d(this._hash,y(We.subarray(Qe-64,Qe)));return this._buff=Qe-64<Ue?new Uint8Array(We.buffer.slice(Qe-64)):new Uint8Array(0),this},st.ArrayBuffer.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],He,tr;for(He=0;He<Ue;He+=1)Qe[He>>2]|=We[He]<<(He%4<<3);return this._finish(Qe,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.ArrayBuffer.prototype.getState=function(){var tt=st.prototype.getState.call(this);return tt.buff=Ve(tt.buff),tt},st.ArrayBuffer.prototype.setState=function(tt){return tt.buff=Je(tt.buff,!0),st.prototype.setState.call(this,tt)},st.ArrayBuffer.prototype.destroy=st.prototype.destroy,st.ArrayBuffer.prototype._finish=st.prototype._finish,st.ArrayBuffer.hash=function(tt,We){var Ue=j(new Uint8Array(tt)),Qe=_e(Ue);return We?Fe(Qe):Qe},st})})(sparkMd5);const SparkMD5=sparkMd5.exports,getPhotoMetadata=e=>es(exports,null,function*(){let n=getFileExtent(e),l={};if(n==="jpg"||n==="jpeg")try{l=yield _formatMetadata(e)}catch(u){l=yield getImageSize(e)}else l=yield getImageSize(e);return l.filesize=getFileSize(e),l});function _formatMetadata(e,n=1){return es(this,null,function*(){let l=yield getFileBuffer(e,n),u=getMd5(l);return new Promise((d,p)=>{getData(l,function(y,o){if(o)return o.message==="Offset is outside the bounds of the DataView"&&n<3?d(_formatMetadata(e,n+1)):p(o);let{exif:j,xmp:Re}=getAllTags(y);j=JSON.parse(JSON.stringify(j).replaceAll("\\u0000",""))||{},j.PixelXDimension&&j.PixelYDimension&&j.PixelXDimension!=65535&&j.PixelYDimension!=65535?d({exif:j,xmp:Re,width:j.PixelXDimension,height:j.PixelYDimension,md5:u}):getImageSize(e).then(_e=>{d({exif:j,xmp:Re,width:_e.width,height:_e.height,md5:u})})})})})}function getImageSize(e){return es(this,null,function*(){try{let n=yield getFileBuffer(e),l=lookup(n),u=getMd5(Buffer.concat([n.subarray(0,10240),n.subarray(n.length/2,10240),n.subarray(-10240)]));return{width:l.width,height:l.height,md5:u}}catch(n){return{width:0,height:0}}})}function getAllTags(e){return util.imageHasData(e)?{exif:e.exifdata||{},xmp:e.xmpdata||{}}:{exif:{},xmp:{}}}function getFileExtent(e){return typeof e=="string"?e.split(".").pop().toLowerCase():e.name.split(".").pop().toLowerCase()}function getFileBuffer(e,n){return es(this,null,function*(){if(typeof e=="string")if(n){let l=fs__default.default.openSync(e),u=Buffer.alloc(65536*n);return yield new Promise(d=>{fs__default.default.read(l,u,0,u.length,0,()=>{d(),fs__default.default.closeSync(l)})}),u}else return fs__default.default.readFileSync(e);else return n&&(e=e.slice(0,65536*n)),yield new Promise((l,u)=>{var d=new FileReader;d.readAsArrayBuffer(e),d.onload=p=>{l(p.target.result)},d.onerror=p=>{u(p)}})})}function getFileSize(e){return typeof e=="string"?fs__default.default.statSync(e).size:e.size}function getMd5(e){let n=new SparkMD5.ArrayBuffer;return n.append(e),n.end()}function parsePhoto(e){return es(this,null,function*(){let n=yield getPhotoMetadata(e);const{width:l,height:u,exif:d,xmp:p,filesize:y,md5:o}=n;let j={width:l,height:u,filesize:y,md5:o},Re=NaN,_e=NaN,$=NaN,Je=NaN,Ve=NaN,Ze=NaN,Fe=NaN,st=NaN,tt=NaN,We=[Re,_e,$],Ue=flatObject(p),{GPSAltitude:Qe,GPSLatitude:He,GPSLatitudeRef:tr,GPSLongitude:or,GPSLongitudeRef:xt}=d||{};or&&He&&(We=[getGeoCoordOperator(xt)*toRadian(or),getGeoCoordOperator(tr)*toRadian(He),+Qe]);for(let Er in Ue){let _r=Ue[Er];if(Er==="drone-dji:GpsLongtitude"||Er==="drone-dji:GpsLongitude")Re=Number(_r);else if(Er==="drone-dji:GpsLatitude")_e=Number(_r);else if(Er==="drone-dji:AbsoluteAltitude")$=Number(_r);else if(Er==="drone-dji:GimbalYawDegree")Je=Number(_r);else if(Er==="drone-dji:GimbalPitchDegree")Ve=Number(_r);else if(Er==="drone-dji:GimbalRollDegree")Ze=Number(_r);else if(Er==="drone-dji:RtkStdLon")Fe=Number(_r);else if(Er==="drone-dji:RtkStdLat")st=Number(_r);else if(Er==="drone-dji:RtkStdHgt")tt=Number(_r);else if(Er==="drone-dji:DewarpFlag")j.dewarp_flag=Boolean(Number(_r));else if(Er==="drone-dji:RtkFlag")j.rtk_flag=Number(_r);else if(Er==="drone-dji:RelativeAltitude")j.relative_altitude=Number(_r);else if(Er==="tiff:Model")j.camera_model=_r;else if(Er==="drone-dji:DewarpData"){let hr=_r.split(";")[1].split(",").map(Kr=>Number(Kr));hr[2]=l/2+hr[2],hr[3]=u/2+hr[3],j.pre_calib_param=hr}else Er==="drone-dji:CaptureUUID"?j.capture_uuid=_r:Er==="drone-dji:DroneID"?j.drone_id=_r:Er==="drone-dji:DroneSerialNumber"?j.drone_serial_number=_r:Er==="drone-dji:CameraSerialNumber"&&(j.camera_serial_number=_r)}for(let Er in Ue){let _r=Ue[Er];Er==="drone-dji:GpsStatus"&&_r==="RTK"&&Number.isNaN(Fe)?(Fe=.02,st=.02):Er==="drone-dji:AltitudeType"&&_r==="RtkAlt"&&Number.isNaN(tt)&&(tt=.02)}if(!Number.isNaN(Fe)&&!Number.isNaN(st)&&!Number.isNaN(tt)&&(j.pos_std=[Fe,st,tt]),!Number.isNaN(Je)&&!Number.isNaN(Ve)&&!Number.isNaN(Ze)&&(j.pitch_roll_yaw=[Ve,Ze,Je],j.orientation=getRotationMatrix(Ve,Ze,Je)),d!=null&&d.DateTime?j.capture_time=hooks(d.DateTime,"YYYY:MM:DD HH:mm:ss").valueOf():d!=null&&d.DateTimeOriginal&&(j.capture_time=hooks(d.DateTimeOriginal,"YYYY:MM:DD HH:mm:ss").valueOf()),d!=null&&d.FocalLengthIn35mmFilm&&(j.focal_length_in_35mm=d.FocalLengthIn35mmFilm),hasNaN(We)&&(We=[Re,_e,$]),!hasNaN(We))if(j.pos=We,j.absolute_altitude=We[2],j.coordinate_system={type:2,label:"WGS 84",type_name:"Geographic",epsg_code:4326},hasNaN([Fe,st,tt]))j.pos_sigma=[2,2,5];else{let Er=[],_r=Math.sqrt(Math.pow(Fe,2)+Math.pow(st,2));_r<.03?Er[0]=Er[1]=.03:_r<.2?Er[0]=Er[1]=.2:Er[0]=Er[1]=2,tt<.03?Er[2]=.06:tt<.2?Er[2]=.5:Er[2]=5,j.pos_sigma=Er}return j})}function parsePhotos(e,n){let l=[],u=e,d=e.length,p=10,y=0;return new Promise(o=>{const j=()=>{for(let _e=y;_e<p;_e++){let $=u.pop();if(!$)break;y++,parsePhoto($).then(Je=>{y--;let Ve=$.split(".").pop(),Ze={width:Je.width,height:Je.height,ext:Ve,parameters:Je.pre_calib_param||null},Fe=l.find(st=>st.width===Ze.width&&st.height===Ze.height&&st.ext===Ze.ext&&_$1.isEqual(st.parameters,Ze.parameters));Fe||(Fe=Ze,Fe.fileList=[],l.push(Fe)),Fe.fileList.push({name:$.split("\\").pop(),filesize:Je.filesize,md5:Je.md5,filePath:$,meta_data:Je}),Re()}).catch(Je=>{y--,Re(),console.error(Je)})}},Re=()=>{u.length?j():y||o(l);let _e=d-u.length-y;n&&n(_e,d)};j()})}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var l=arguments[n];for(var u in l)({}).hasOwnProperty.call(l,u)&&(e[u]=l[u])}return e},_extends.apply(null,arguments)}var DEFAULT_CONFIG={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function isNumber(e){return typeof e=="number"}function isBigNumber(e){return!e||typeof e!="object"||typeof e.constructor!="function"?!1:e.isBigNumber===!0&&typeof e.constructor.prototype=="object"&&e.constructor.prototype.isBigNumber===!0||typeof e.constructor.isDecimal=="function"&&e.constructor.isDecimal(e)===!0}function isComplex(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isComplex===!0||!1}function isFraction(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isFraction===!0||!1}function isUnit(e){return e&&e.constructor.prototype.isUnit===!0||!1}function isString(e){return typeof e=="string"}var isArray=Array.isArray;function isMatrix(e){return e&&e.constructor.prototype.isMatrix===!0||!1}function isCollection(e){return Array.isArray(e)||isMatrix(e)}function isDenseMatrix(e){return e&&e.isDenseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isSparseMatrix(e){return e&&e.isSparseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isRange(e){return e&&e.constructor.prototype.isRange===!0||!1}function isIndex(e){return e&&e.constructor.prototype.isIndex===!0||!1}function isBoolean(e){return typeof e=="boolean"}function isResultSet(e){return e&&e.constructor.prototype.isResultSet===!0||!1}function isHelp(e){return e&&e.constructor.prototype.isHelp===!0||!1}function isFunction(e){return typeof e=="function"}function isDate(e){return e instanceof Date}function isRegExp(e){return e instanceof RegExp}function isObject(e){return!!(e&&typeof e=="object"&&e.constructor===Object&&!isComplex(e)&&!isFraction(e))}function isNull(e){return e===null}function isUndefined(e){return e===void 0}function isAccessorNode(e){return e&&e.isAccessorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isArrayNode(e){return e&&e.isArrayNode===!0&&e.constructor.prototype.isNode===!0||!1}function isAssignmentNode(e){return e&&e.isAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isBlockNode(e){return e&&e.isBlockNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConditionalNode(e){return e&&e.isConditionalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConstantNode(e){return e&&e.isConstantNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionAssignmentNode(e){return e&&e.isFunctionAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionNode(e){return e&&e.isFunctionNode===!0&&e.constructor.prototype.isNode===!0||!1}function isIndexNode(e){return e&&e.isIndexNode===!0&&e.constructor.prototype.isNode===!0||!1}function isNode(e){return e&&e.isNode===!0&&e.constructor.prototype.isNode===!0||!1}function isObjectNode(e){return e&&e.isObjectNode===!0&&e.constructor.prototype.isNode===!0||!1}function isOperatorNode(e){return e&&e.isOperatorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isParenthesisNode(e){return e&&e.isParenthesisNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRangeNode(e){return e&&e.isRangeNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRelationalNode(e){return e&&e.isRelationalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isSymbolNode(e){return e&&e.isSymbolNode===!0&&e.constructor.prototype.isNode===!0||!1}function isChain(e){return e&&e.constructor.prototype.isChain===!0||!1}function typeOf(e){var n=typeof e;return n==="object"?e===null?"null":isBigNumber(e)?"BigNumber":e.constructor&&e.constructor.name?e.constructor.name:"Object":n}function clone$2(e){var n=typeof e;if(n==="number"||n==="string"||n==="boolean"||e===null||e===void 0)return e;if(typeof e.clone=="function")return e.clone();if(Array.isArray(e))return e.map(function(l){return clone$2(l)});if(e instanceof Date)return new Date(e.valueOf());if(isBigNumber(e))return e;if(isObject(e))return mapObject(e,clone$2);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(e,")"))}function mapObject(e,n){var l={};for(var u in e)hasOwnProperty(e,u)&&(l[u]=n(e[u]));return l}function extend(e,n){for(var l in n)hasOwnProperty(n,l)&&(e[l]=n[l]);return e}function deepStrictEqual(e,n){var l,u,d;if(Array.isArray(e)){if(!Array.isArray(n)||e.length!==n.length)return!1;for(u=0,d=e.length;u<d;u++)if(!deepStrictEqual(e[u],n[u]))return!1;return!0}else{if(typeof e=="function")return e===n;if(e instanceof Object){if(Array.isArray(n)||!(n instanceof Object))return!1;for(l in e)if(!(l in n)||!deepStrictEqual(e[l],n[l]))return!1;for(l in n)if(!(l in e))return!1;return!0}else return e===n}}function hasOwnProperty(e,n){return e&&Object.hasOwnProperty.call(e,n)}function pickShallow(e,n){for(var l={},u=0;u<n.length;u++){var d=n[u],p=e[d];p!==void 0&&(l[d]=p)}return l}var MATRIX_OPTIONS=["Matrix","Array"],NUMBER_OPTIONS=["number","BigNumber","Fraction"],config$1=function e(n){if(n)throw new Error(`The global config is readonly.
468
468
  Please create a mathjs instance if you want to change the default configuration.
469
469
  Example:
470
470
 
@@ -70675,7 +70675,7 @@ function _formatMetadata(e, n = 1) {
70675
70675
  return es(this, null, function* () {
70676
70676
  let l = yield getFileBuffer(e, n), u = getMd5(l);
70677
70677
  return new Promise((d, p) => {
70678
- getData(l.buffer, function(y, o) {
70678
+ getData(l, function(y, o) {
70679
70679
  if (o)
70680
70680
  return o.message === "Offset is outside the bounds of the DataView" && n < 3 ? d(_formatMetadata(e, n + 1)) : p(o);
70681
70681
  let { exif: j, xmp: Re } = getAllTags(y);
@@ -464,7 +464,7 @@ void main() {
464
464
  `)}function DOMParser$1(e){if(e=e||{locator:!0},this.assign=e.assign||conventions$1.assign,this.domHandler=e.domHandler||DOMHandler,this.onError=e.onError||e.errorHandler,e.errorHandler&&typeof e.errorHandler!="function")throw new TypeError("errorHandler object is no longer supported, switch to onError!");e.errorHandler&&e.errorHandler("warning","The `errorHandler` option has been deprecated, use `onError` instead!",this),this.normalizeLineEndings=e.normalizeLineEndings||normalizeLineEndings,this.locator=!!e.locator,this.xmlns=this.assign(Object.create(null),e.xmlns)}DOMParser$1.prototype.parseFromString=function(e,n){if(!isValidMimeType(n))throw new TypeError('DOMParser.parseFromString: the provided mimeType "'+n+'" is not valid.');var l=this.assign(Object.create(null),this.xmlns),u=entities.XML_ENTITIES,d=l[""]||null;hasDefaultHTMLNamespace(n)?(u=entities.HTML_ENTITIES,d=NAMESPACE.HTML):n===MIME_TYPE.XML_SVG_IMAGE&&(d=NAMESPACE.SVG),l[""]=d,l.xml=l.xml||NAMESPACE.XML;var p=new this.domHandler({mimeType:n,defaultNamespace:d,onError:this.onError}),y=this.locator?{}:void 0;this.locator&&p.setDocumentLocator(y);var o=new XMLReader;o.errorHandler=p,o.domBuilder=p;var j=!conventions$1.isHTMLMimeType(n);return j&&typeof e!="string"&&o.errorHandler.fatalError("source is not a string"),o.parse(this.normalizeLineEndings(String(e)),l,u),p.doc.documentElement||o.errorHandler.fatalError("missing root element"),p.doc};function DOMHandler(e){var n=e||{};this.mimeType=n.mimeType||MIME_TYPE.XML_APPLICATION,this.defaultNamespace=n.defaultNamespace||null,this.cdata=!1,this.currentElement=void 0,this.doc=void 0,this.locator=void 0,this.onError=n.onError}function position(e,n){n.lineNumber=e.lineNumber,n.columnNumber=e.columnNumber}DOMHandler.prototype={startDocument:function(){var e=new DOMImplementation;this.doc=isHTMLMimeType(this.mimeType)?e.createHTMLDocument(!1):e.createDocument(this.defaultNamespace,"")},startElement:function(e,n,l,u){var d=this.doc,p=d.createElementNS(e,l||n),y=u.length;appendElement(this,p),this.currentElement=p,this.locator&&position(this.locator,p);for(var o=0;o<y;o++){var e=u.getURI(o),j=u.getValue(o),l=u.getQName(o),Re=d.createAttributeNS(e,l);this.locator&&position(u.getLocator(o),Re),Re.value=Re.nodeValue=j,p.setAttributeNode(Re)}},endElement:function(e,n,l){this.currentElement=this.currentElement.parentNode},startPrefixMapping:function(e,n){},endPrefixMapping:function(e){},processingInstruction:function(e,n){var l=this.doc.createProcessingInstruction(e,n);this.locator&&position(this.locator,l),appendElement(this,l)},ignorableWhitespace:function(e,n,l){},characters:function(e,n,l){if(e=_toString.apply(this,arguments),e){if(this.cdata)var u=this.doc.createCDATASection(e);else var u=this.doc.createTextNode(e);this.currentElement?this.currentElement.appendChild(u):/^\s*$/.test(e)&&this.doc.appendChild(u),this.locator&&position(this.locator,u)}},skippedEntity:function(e){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(e){e&&(e.lineNumber=0),this.locator=e},comment:function(e,n,l){e=_toString.apply(this,arguments);var u=this.doc.createComment(e);this.locator&&position(this.locator,u),appendElement(this,u)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(e,n,l,u){var d=this.doc.implementation;if(d&&d.createDocumentType){var p=d.createDocumentType(e,n,l,u);this.locator&&position(this.locator,p),appendElement(this,p),this.doc.doctype=p}},reportError:function(e,n){if(typeof this.onError=="function")try{this.onError(e,n,this)}catch(l){throw new ParseError("Reporting "+e+' "'+n+'" caused '+l,this.locator)}else console.error("[xmldom "+e+"] "+n,_locator(this.locator))},warning:function(e){this.reportError("warning",e)},error:function(e){this.reportError("error",e)},fatalError:function(e){throw this.reportError("fatalError",e),new ParseError(e,this.locator)}};function _locator(e){if(e)return`
465
465
  @#[line:`+e.lineNumber+",col:"+e.columnNumber+"]"}function _toString(e,n,l){return typeof e=="string"?e.substr(n,l):e.length>=n+l||n?new java.lang.String(e,n,l)+"":e}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(e){DOMHandler.prototype[e]=function(){return null}});function appendElement(e,n){e.currentElement?e.currentElement.appendChild(n):e.doc.appendChild(n)}function onErrorStopParsing(e){if(e==="error")throw"onErrorStopParsing"}function onWarningStopParsing(){throw"onWarningStopParsing"}domParser$1.__DOMHandler=DOMHandler,domParser$1.DOMParser=DOMParser$1,domParser$1.normalizeLineEndings=normalizeLineEndings,domParser$1.onErrorStopParsing=onErrorStopParsing,domParser$1.onWarningStopParsing=onWarningStopParsing;var conventions=conventions$5;conventions.assign,conventions.hasDefaultHTMLNamespace,conventions.isHTMLMimeType,conventions.isValidMimeType,conventions.MIME_TYPE,conventions.NAMESPACE;var domParser=domParser$1,DOMParser=domParser.DOMParser;const getData=function(e,n){return util.imageHasData(e)?n&&n(e):getImageData(e,n),!0};function getImageData(e,n){try{var l=findEXIFinJPEG(e);e.exifdata=l.exif,e.xmpdata=l.xmp,n&&n(e)}catch(u){e.exifdata={},e.xmpdata={},n(e,u)}}function findEXIFinJPEG(e){var n=new DataView(e);let l,u;for(var d=2,p=e.byteLength,y=new DOMParser,o;d<p&&n.getUint8(d)==255;){if(o=n.getUint8(d+1),o==225)if(util.getStringFromDB(n,d+4,4)=="http"){var j=d+3,Re=n.getUint16(d+2)-1,_e=util.getStringFromDB(n,j,Re),$=_e.indexOf("xmpmeta>")+8;_e=_e.substring(_e.indexOf("<x:xmpmeta"),$);var Je=_e.indexOf("x:xmpmeta")+10;_e=_e.slice(0,Je)+'xmlns:Iptc4xmpCore="http://iptc.org/std/Iptc4xmpCore/1.0/xmlns/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tiff="http://ns.adobe.com/tiff/1.0/" xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus" xmlns:ext="http://www.gettyimages.com/xsltExtension/1.0" xmlns:exif="http://ns.adobe.com/exif/1.0/" xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#" xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" xmlns:crs="http://ns.adobe.com/camera-raw-settings/1.0/" xmlns:xapGImg="http://ns.adobe.com/xap/1.0/g/img/" xmlns:Iptc4xmpExt="http://iptc.org/std/Iptc4xmpExt/2008-02-29/" '+_e.slice(Je);var Ve=y.parseFromString(_e,"text/xml");u=util.xml2Object(Ve)}else l=readEXIFData(n,d+4,n.getUint16(d+2)-2);if(u&&l)break;d+=2+n.getUint16(d+2)}return{exif:l||{},xmp:u||{}}}function readEXIFData(e,n){if(util.getStringFromDB(e,n,4)!="Exif")return!1;var l,u,d,p,y,o=n+6;if(e.getUint16(o)==18761)l=!1;else if(e.getUint16(o)==19789)l=!0;else return!1;if(e.getUint16(o+2,!l)!=42)return!1;var j=e.getUint32(o+4,!l);if(j<8)return!1;if(u=readTags(e,o,o+j,TiffTags,l),u.ExifIFDPointer){p=readTags(e,o,o+u.ExifIFDPointer,ExifTags,l);for(d in p){switch(d){case"LightSource":case"Flash":case"MeteringMode":case"ExposureProgram":case"SensingMethod":case"SceneCaptureType":case"SceneType":case"CustomRendered":case"WhiteBalance":case"GainControl":case"Contrast":case"Saturation":case"Sharpness":case"SubjectDistanceRange":case"FileSource":p[d]=StringValues[d][p[d]];break;case"ExifVersion":case"FlashpixVersion":p[d]=String.fromCharCode(p[d][0],p[d][1],p[d][2],p[d][3]);break;case"ComponentsConfiguration":p[d]=StringValues.Components[p[d][0]]+StringValues.Components[p[d][1]]+StringValues.Components[p[d][2]]+StringValues.Components[p[d][3]];break}u[d]=p[d]}}if(u.GPSInfoIFDPointer){y=readTags(e,o,o+u.GPSInfoIFDPointer,GPSTags,l);for(d in y){switch(d){case"GPSVersionID":y[d]=y[d][0]+"."+y[d][1]+"."+y[d][2]+"."+y[d][3];break}u[d]=y[d]}}return u}function readTags(e,n,l,u,d){var p=e.getUint16(l,!d),y={},o,j,Re;for(Re=0;Re<p;Re++)o=l+Re*12+2,j=u[e.getUint16(o,!d)],y[j]=readTagValue(e,o,n,l,d);return y}function readTagValue(e,n,l,u,d){var p=e.getUint16(n+2,!d),y=e.getUint32(n+4,!d),o=e.getUint32(n+8,!d)+l,j,Re,_e,$,Je,Ve;switch(p){case 1:case 7:if(y==1)return e.getUint8(n+8,!d);for(j=y>4?o:n+8,Re=[],$=0;$<y;$++)Re[$]=e.getUint8(j+$);return Re;case 2:return j=y>4?o:n+8,util.getStringFromDB(e,j,y-1);case 3:if(y==1)return e.getUint16(n+8,!d);for(j=y>2?o:n+8,Re=[],$=0;$<y;$++)Re[$]=e.getUint16(j+2*$,!d);return Re;case 4:if(y==1)return e.getUint32(n+8,!d);for(Re=[],$=0;$<y;$++)Re[$]=e.getUint32(o+4*$,!d);return Re;case 5:if(y==1)return Je=e.getUint32(o,!d),Ve=e.getUint32(o+4,!d),_e=new Number(Je/Ve),_e.numerator=Je,_e.denominator=Ve,_e;for(Re=[],$=0;$<y;$++)Je=e.getUint32(o+8*$,!d),Ve=e.getUint32(o+4+8*$,!d),Re[$]=new Number(Je/Ve),Re[$].numerator=Je,Re[$].denominator=Ve;return Re;case 9:if(y==1)return e.getInt32(n+8,!d);for(Re=[],$=0;$<y;$++)Re[$]=e.getInt32(o+4*$,!d);return Re;case 10:if(y==1)return e.getInt32(o,!d)/e.getInt32(o+4,!d);for(Re=[],$=0;$<y;$++)Re[$]=e.getInt32(o+8*$,!d)/e.getInt32(o+4+8*$,!d);return Re}}const decoder=new TextDecoder,toUTF8String=(e,n=0,l=e.length)=>decoder.decode(e.slice(n,l)),toHexString=(e,n=0,l=e.length)=>e.slice(n,l).reduce((u,d)=>u+("0"+d.toString(16)).slice(-2),""),readInt16LE=(e,n=0)=>{const l=e[n]+e[n+1]*256;return l|(l&b0(2,15))*131070},readUInt16BE=(e,n=0)=>e[n]*b0(2,8)+e[n+1],readUInt16LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8),readUInt24LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8)+e[n+2]*b0(2,16),readInt32LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8)+e[n+2]*b0(2,16)+(e[n+3]<<24),readUInt32BE=(e,n=0)=>e[n]*b0(2,24)+e[n+1]*b0(2,16)+e[n+2]*b0(2,8)+e[n+3],readUInt32LE=(e,n=0)=>e[n]+e[n+1]*b0(2,8)+e[n+2]*b0(2,16)+e[n+3]*b0(2,24),methods={readUInt16BE,readUInt16LE,readUInt32BE,readUInt32LE};function readUInt(e,n,l,u){l=l||0;const d=u?"BE":"LE",p="readUInt"+n+d;return methods[p](e,l)}function readBox(e,n){if(e.length-n<4)return;const l=readUInt32BE(e,n);if(!(e.length-n<l))return{name:toUTF8String(e,4+n,8+n),offset:n,size:l}}function findBox(e,n,l){for(;l<e.length;){const u=readBox(e,l);if(!u)break;if(u.name===n)return u;l+=u.size}}const BMP={validate:e=>toUTF8String(e,0,2)==="BM",calculate:e=>({height:Math.abs(readInt32LE(e,22)),width:readUInt32LE(e,18)})},TYPE_ICON=1,SIZE_HEADER$1=2+2+2,SIZE_IMAGE_ENTRY=1+1+1+1+2+2+4+4;function getSizeFromOffset(e,n){const l=e[n];return l===0?256:l}function getImageSize$2(e,n){const l=SIZE_HEADER$1+n*SIZE_IMAGE_ENTRY;return{height:getSizeFromOffset(e,l+1),width:getSizeFromOffset(e,l)}}const ICO={validate(e){const n=readUInt16LE(e,0),l=readUInt16LE(e,4);return n!==0||l===0?!1:readUInt16LE(e,2)===TYPE_ICON},calculate(e){const n=readUInt16LE(e,4),l=getImageSize$2(e,0);if(n===1)return l;const u=[l];for(let d=1;d<n;d+=1)u.push(getImageSize$2(e,d));return{height:l.height,images:u,width:l.width}}},TYPE_CURSOR=2,CUR={validate(e){const n=readUInt16LE(e,0),l=readUInt16LE(e,4);return n!==0||l===0?!1:readUInt16LE(e,2)===TYPE_CURSOR},calculate:e=>ICO.calculate(e)},DDS={validate:e=>readUInt32LE(e,0)===542327876,calculate:e=>({height:readUInt32LE(e,12),width:readUInt32LE(e,16)})},gifRegexp=/^GIF8[79]a/,GIF={validate:e=>gifRegexp.test(toUTF8String(e,0,6)),calculate:e=>({height:readUInt16LE(e,8),width:readUInt16LE(e,6)})},brandMap={avif:"avif",mif1:"heif",msf1:"heif",heic:"heic",heix:"heic",hevc:"heic",hevx:"heic"},HEIF={validate(e){const n=toUTF8String(e,4,8),l=toUTF8String(e,8,12);return n==="ftyp"&&l in brandMap},calculate(e){const n=findBox(e,"meta",0),l=n&&findBox(e,"iprp",n.offset+12),u=l&&findBox(e,"ipco",l.offset+8),d=u&&findBox(e,"ispe",u.offset+8);if(d)return{height:readUInt32BE(e,d.offset+16),width:readUInt32BE(e,d.offset+12),type:toUTF8String(e,8,12)};throw new TypeError("Invalid HEIF, no size found")}},SIZE_HEADER=4+4,FILE_LENGTH_OFFSET=4,ENTRY_LENGTH_OFFSET=4,ICON_TYPE_SIZE={ICON:32,"ICN#":32,"icm#":16,icm4:16,icm8:16,"ics#":16,ics4:16,ics8:16,is32:16,s8mk:16,icp4:16,icl4:32,icl8:32,il32:32,l8mk:32,icp5:32,ic11:32,ich4:48,ich8:48,ih32:48,h8mk:48,icp6:64,ic12:32,it32:128,t8mk:128,ic07:128,ic08:256,ic13:256,ic09:512,ic14:512,ic10:1024};function readImageHeader(e,n){const l=n+ENTRY_LENGTH_OFFSET;return[toUTF8String(e,n,l),readUInt32BE(e,l)]}function getImageSize$1(e){const n=ICON_TYPE_SIZE[e];return{width:n,height:n,type:e}}const ICNS={validate:e=>toUTF8String(e,0,4)==="icns",calculate(e){const n=e.length,l=readUInt32BE(e,FILE_LENGTH_OFFSET);let u=SIZE_HEADER,d=readImageHeader(e,u),p=getImageSize$1(d[0]);if(u+=d[1],u===l)return p;const y={height:p.height,images:[p],width:p.width};for(;u<l&&u<n;)d=readImageHeader(e,u),p=getImageSize$1(d[0]),u+=d[1],y.images.push(p);return y}},J2C={validate:e=>toHexString(e,0,4)==="ff4fff51",calculate:e=>({height:readUInt32BE(e,12),width:readUInt32BE(e,8)})},JP2={validate(e){if(readUInt32BE(e,4)!==1783636e3||readUInt32BE(e,0)<1)return!1;const n=findBox(e,"ftyp",0);return n?readUInt32BE(e,n.offset+4)===1718909296:!1},calculate(e){const n=findBox(e,"jp2h",0),l=n&&findBox(e,"ihdr",n.offset+8);if(l)return{height:readUInt32BE(e,l.offset+8),width:readUInt32BE(e,l.offset+12)};throw new TypeError("Unsupported JPEG 2000 format")}},EXIF_MARKER="45786966",APP1_DATA_SIZE_BYTES=2,EXIF_HEADER_BYTES=6,TIFF_BYTE_ALIGN_BYTES=2,BIG_ENDIAN_BYTE_ALIGN="4d4d",LITTLE_ENDIAN_BYTE_ALIGN="4949",IDF_ENTRY_BYTES=12,NUM_DIRECTORY_ENTRIES_BYTES=2;function isEXIF(e){return toHexString(e,2,6)===EXIF_MARKER}function extractSize(e,n){return{height:readUInt16BE(e,n),width:readUInt16BE(e,n+2)}}function extractOrientation(e,n){const u=EXIF_HEADER_BYTES+8,d=readUInt(e,16,u,n);for(let p=0;p<d;p++){const y=u+NUM_DIRECTORY_ENTRIES_BYTES+p*IDF_ENTRY_BYTES,o=y+IDF_ENTRY_BYTES;if(y>e.length)return;const j=e.slice(y,o);if(readUInt(j,16,0,n)===274)return readUInt(j,16,2,n)!==3||readUInt(j,32,4,n)!==1?void 0:readUInt(j,16,8,n)}}function validateExifBlock(e,n){const l=e.slice(APP1_DATA_SIZE_BYTES,n),u=toHexString(l,EXIF_HEADER_BYTES,EXIF_HEADER_BYTES+TIFF_BYTE_ALIGN_BYTES),d=u===BIG_ENDIAN_BYTE_ALIGN;if(d||u===LITTLE_ENDIAN_BYTE_ALIGN)return extractOrientation(l,d)}function validateInput(e,n){if(n>e.length)throw new TypeError("Corrupt JPG, exceeded buffer limits");if(e[n]!==255)throw new TypeError("Invalid JPG, marker table corrupted")}const JPG={validate:e=>toHexString(e,0,2)==="ffd8",calculate(e){e=e.slice(4);let n,l;for(;e.length;){const u=readUInt16BE(e,0);if(isEXIF(e)&&(n=validateExifBlock(e,u)),validateInput(e,u),l=e[u+1],l===192||l===193||l===194){const d=extractSize(e,u+5);return n?{height:d.height,orientation:n,width:d.width}:d}e=e.slice(u+2)}throw new TypeError("Invalid JPG, no size found")}},KTX={validate:e=>{const n=toUTF8String(e,1,7);return["KTX 11","KTX 20"].includes(n)},calculate:e=>{const n=e[5]===49?"ktx":"ktx2",l=n==="ktx"?36:20;return{height:readUInt32LE(e,l+4),width:readUInt32LE(e,l),type:n}}},pngSignature=`PNG\r
466
466
  
467
- `,pngImageHeaderChunkName="IHDR",pngFriedChunkName="CgBI",PNG={validate(e){if(pngSignature===toUTF8String(e,1,8)){let n=toUTF8String(e,12,16);if(n===pngFriedChunkName&&(n=toUTF8String(e,28,32)),n!==pngImageHeaderChunkName)throw new TypeError("Invalid PNG");return!0}return!1},calculate(e){return toUTF8String(e,12,16)===pngFriedChunkName?{height:readUInt32BE(e,36),width:readUInt32BE(e,32)}:{height:readUInt32BE(e,20),width:readUInt32BE(e,16)}}},PNMTypes={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},handlers={default:e=>{let n=[];for(;e.length>0;){const l=e.shift();if(l[0]!=="#"){n=l.split(" ");break}}if(n.length===2)return{height:parseInt(n[1],10),width:parseInt(n[0],10)};throw new TypeError("Invalid PNM")},pam:e=>{const n={};for(;e.length>0;){const l=e.shift();if(l.length>16||l.charCodeAt(0)>128)continue;const[u,d]=l.split(" ");if(u&&d&&(n[u.toLowerCase()]=parseInt(d,10)),n.height&&n.width)break}if(n.height&&n.width)return{height:n.height,width:n.width};throw new TypeError("Invalid PAM")}},PNM={validate:e=>toUTF8String(e,0,2)in PNMTypes,calculate(e){const n=toUTF8String(e,0,2),l=PNMTypes[n],u=toUTF8String(e,3).split(/[\r\n]+/);return(handlers[l]||handlers.default)(u)}},PSD={validate:e=>toUTF8String(e,0,4)==="8BPS",calculate:e=>({height:readUInt32BE(e,14),width:readUInt32BE(e,18)})},svgReg=/<svg\s([^>"']|"[^"]*"|'[^']*')*>/,extractorRegExps={height:/\sheight=(['"])([^%]+?)\1/,root:svgReg,viewbox:/\sviewBox=(['"])(.+?)\1/i,width:/\swidth=(['"])([^%]+?)\1/},INCH_CM=2.54,units={in:96,cm:96/INCH_CM,em:16,ex:8,m:96/INCH_CM*100,mm:96/INCH_CM/10,pc:96/72/12,pt:96/72,px:1},unitsReg=new RegExp(`^([0-9.]+(?:e\\d+)?)(${Object.keys(units).join("|")})?$`);function parseLength(e){const n=unitsReg.exec(e);if(!!n)return Math.round(Number(n[1])*(units[n[2]]||1))}function parseViewbox(e){const n=e.split(" ");return{height:parseLength(n[3]),width:parseLength(n[2])}}function parseAttributes(e){const n=e.match(extractorRegExps.width),l=e.match(extractorRegExps.height),u=e.match(extractorRegExps.viewbox);return{height:l&&parseLength(l[2]),viewbox:u&&parseViewbox(u[2]),width:n&&parseLength(n[2])}}function calculateByDimensions(e){return{height:e.height,width:e.width}}function calculateByViewbox(e,n){const l=n.width/n.height;return e.width?{height:Math.floor(e.width/l),width:e.width}:e.height?{height:e.height,width:Math.floor(e.height*l)}:{height:n.height,width:n.width}}const SVG={validate:e=>svgReg.test(toUTF8String(e,0,1e3)),calculate(e){const n=toUTF8String(e).match(extractorRegExps.root);if(n){const l=parseAttributes(n[0]);if(l.width&&l.height)return calculateByDimensions(l);if(l.viewbox)return calculateByViewbox(l,l.viewbox)}throw new TypeError("Invalid SVG")}},TGA={validate(e){return readUInt16LE(e,0)===0&&readUInt16LE(e,4)===0},calculate(e){return{height:readUInt16LE(e,14),width:readUInt16LE(e,12)}}};function readIFD(e,n){const l=readUInt(e,32,4,n);return e.slice(l+2)}function readValue(e,n){const l=readUInt(e,16,8,n);return(readUInt(e,16,10,n)<<16)+l}function nextTag(e){if(e.length>24)return e.slice(12)}function extractTags(e,n){const l={};let u=e;for(;u&&u.length;){const d=readUInt(u,16,0,n),p=readUInt(u,16,2,n),y=readUInt(u,32,4,n);if(d===0)break;y===1&&(p===3||p===4)&&(l[d]=readValue(u,n)),u=nextTag(u)}return l}function determineEndianness(e){const n=toUTF8String(e,0,2);if(n==="II")return"LE";if(n==="MM")return"BE"}const signatures=["49492a00","4d4d002a"],TIFF={validate:e=>signatures.includes(toHexString(e,0,4)),calculate(e){const n=determineEndianness(e)==="BE",l=readIFD(e,n),u=extractTags(l,n),d=u[256],p=u[257];if(!d||!p)throw new TypeError("Invalid Tiff. Missing tags");return{height:p,width:d}}};function calculateExtended(e){return{height:1+readUInt24LE(e,7),width:1+readUInt24LE(e,4)}}function calculateLossless(e){return{height:1+((e[4]&15)<<10|e[3]<<2|(e[2]&192)>>6),width:1+((e[2]&63)<<8|e[1])}}function calculateLossy(e){return{height:readInt16LE(e,8)&16383,width:readInt16LE(e,6)&16383}}const WEBP={validate(e){const n=toUTF8String(e,0,4)==="RIFF",l=toUTF8String(e,8,12)==="WEBP",u=toUTF8String(e,12,15)==="VP8";return n&&l&&u},calculate(e){const n=toUTF8String(e,12,16);if(e=e.slice(20,30),n==="VP8X"){const u=e[0],d=(u&192)===0,p=(u&1)===0;if(d&&p)return calculateExtended(e);throw new TypeError("Invalid WebP")}if(n==="VP8 "&&e[0]!==47)return calculateLossy(e);const l=toHexString(e,3,6);if(n==="VP8L"&&l!=="9d012a")return calculateLossless(e);throw new TypeError("Invalid WebP")}},typeHandlers=new Map([["bmp",BMP],["cur",CUR],["dds",DDS],["gif",GIF],["heif",HEIF],["icns",ICNS],["ico",ICO],["j2c",J2C],["jp2",JP2],["jpg",JPG],["ktx",KTX],["png",PNG],["pnm",PNM],["psd",PSD],["svg",SVG],["tga",TGA],["tiff",TIFF],["webp",WEBP]]),types=Array.from(typeHandlers.keys()),firstBytes=new Map([[56,"psd"],[66,"bmp"],[68,"dds"],[71,"gif"],[73,"tiff"],[77,"tiff"],[82,"webp"],[105,"icns"],[137,"png"],[255,"jpg"]]);function detector(e){const n=e[0],l=firstBytes.get(n);return l&&typeHandlers.get(l).validate(e)?l:types.find(u=>typeHandlers.get(u).validate(e))}const globalOptions={disabledTypes:[]};function lookup(e){var l;const n=detector(e);if(typeof n!="undefined"){if(globalOptions.disabledTypes.indexOf(n)>-1)throw new TypeError("disabled file type: "+n);const u=typeHandlers.get(n).calculate(e);if(u!==void 0)return u.type=(l=u.type)!=null?l:n,u}throw new TypeError("unsupported file type: "+n)}var sparkMd5={exports:{}};(function(e,n){(function(l){e.exports=l()})(function(l){var u=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function d(tt,We){var Ue=tt[0],Qe=tt[1],He=tt[2],tr=tt[3];Ue+=(Qe&He|~Qe&tr)+We[0]-680876936|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[1]-389564586|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[2]+606105819|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[3]-1044525330|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[4]-176418897|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[5]+1200080426|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[6]-1473231341|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[7]-45705983|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[8]+1770035416|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[9]-1958414417|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[10]-42063|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[11]-1990404162|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[12]+1804603682|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[13]-40341101|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[14]-1502002290|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[15]+1236535329|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&tr|He&~tr)+We[1]-165796510|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[6]-1069501632|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[11]+643717713|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[0]-373897302|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[5]-701558691|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[10]+38016083|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[15]-660478335|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[4]-405537848|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[9]+568446438|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[14]-1019803690|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[3]-187363961|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[8]+1163531501|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[13]-1444681467|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[2]-51403784|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[7]+1735328473|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[12]-1926607734|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe^He^tr)+We[5]-378558|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[8]-2022574463|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[11]+1839030562|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[14]-35309556|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[1]-1530992060|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[4]+1272893353|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[7]-155497632|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[10]-1094730640|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[13]+681279174|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[0]-358537222|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[3]-722521979|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[6]+76029189|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[9]-640364487|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[12]-421815835|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[15]+530742520|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[2]-995338651|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(He^(Qe|~tr))+We[0]-198630844|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[7]+1126891415|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[14]-1416354905|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[5]-57434055|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[12]+1700485571|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[3]-1894986606|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[10]-1051523|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[1]-2054922799|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[8]+1873313359|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[15]-30611744|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[6]-1560198380|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[13]+1309151649|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[4]-145523070|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[11]-1120210379|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[2]+718787259|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[9]-343485551|0,Qe=(Qe<<21|Qe>>>11)+He|0,tt[0]=Ue+tt[0]|0,tt[1]=Qe+tt[1]|0,tt[2]=He+tt[2]|0,tt[3]=tr+tt[3]|0}function p(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt.charCodeAt(Ue)+(tt.charCodeAt(Ue+1)<<8)+(tt.charCodeAt(Ue+2)<<16)+(tt.charCodeAt(Ue+3)<<24);return We}function y(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt[Ue]+(tt[Ue+1]<<8)+(tt[Ue+2]<<16)+(tt[Ue+3]<<24);return We}function o(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,p(tt.substring(Qe-64,Qe)));for(tt=tt.substring(Qe-64),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt.charCodeAt(Qe)<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function j(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,y(tt.subarray(Qe-64,Qe)));for(tt=Qe-64<We?tt.subarray(Qe-64):new Uint8Array(0),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt[Qe]<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function Re(tt){var We="",Ue;for(Ue=0;Ue<4;Ue+=1)We+=u[tt>>Ue*8+4&15]+u[tt>>Ue*8&15];return We}function _e(tt){var We;for(We=0;We<tt.length;We+=1)tt[We]=Re(tt[We]);return tt.join("")}_e(o("hello")),typeof ArrayBuffer!="undefined"&&!ArrayBuffer.prototype.slice&&function(){function tt(We,Ue){return We=We|0||0,We<0?Math.max(We+Ue,0):Math.min(We,Ue)}ArrayBuffer.prototype.slice=function(We,Ue){var Qe=this.byteLength,He=tt(We,Qe),tr=Qe,or,xt,Er,_r;return Ue!==l&&(tr=tt(Ue,Qe)),He>tr?new ArrayBuffer(0):(or=tr-He,xt=new ArrayBuffer(or),Er=new Uint8Array(xt),_r=new Uint8Array(this,He,or),Er.set(_r),xt)}}();function $(tt){return/[\u0080-\uFFFF]/.test(tt)&&(tt=unescape(encodeURIComponent(tt))),tt}function Je(tt,We){var Ue=tt.length,Qe=new ArrayBuffer(Ue),He=new Uint8Array(Qe),tr;for(tr=0;tr<Ue;tr+=1)He[tr]=tt.charCodeAt(tr);return We?He:Qe}function Ve(tt){return String.fromCharCode.apply(null,new Uint8Array(tt))}function Ze(tt,We,Ue){var Qe=new Uint8Array(tt.byteLength+We.byteLength);return Qe.set(new Uint8Array(tt)),Qe.set(new Uint8Array(We),tt.byteLength),Ue?Qe:Qe.buffer}function Fe(tt){var We=[],Ue=tt.length,Qe;for(Qe=0;Qe<Ue-1;Qe+=2)We.push(parseInt(tt.substr(Qe,2),16));return String.fromCharCode.apply(String,We)}function st(){this.reset()}return st.prototype.append=function(tt){return this.appendBinary($(tt)),this},st.prototype.appendBinary=function(tt){this._buff+=tt,this._length+=tt.length;var We=this._buff.length,Ue;for(Ue=64;Ue<=We;Ue+=64)d(this._hash,p(this._buff.substring(Ue-64,Ue)));return this._buff=this._buff.substring(Ue-64),this},st.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe,He=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],tr;for(Qe=0;Qe<Ue;Qe+=1)He[Qe>>2]|=We.charCodeAt(Qe)<<(Qe%4<<3);return this._finish(He,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},st.prototype.setState=function(tt){return this._buff=tt.buff,this._length=tt.length,this._hash=tt.hash,this},st.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},st.prototype._finish=function(tt,We){var Ue=We,Qe,He,tr;if(tt[Ue>>2]|=128<<(Ue%4<<3),Ue>55)for(d(this._hash,tt),Ue=0;Ue<16;Ue+=1)tt[Ue]=0;Qe=this._length*8,Qe=Qe.toString(16).match(/(.*?)(.{0,8})$/),He=parseInt(Qe[2],16),tr=parseInt(Qe[1],16)||0,tt[14]=He,tt[15]=tr,d(this._hash,tt)},st.hash=function(tt,We){return st.hashBinary($(tt),We)},st.hashBinary=function(tt,We){var Ue=o(tt),Qe=_e(Ue);return We?Fe(Qe):Qe},st.ArrayBuffer=function(){this.reset()},st.ArrayBuffer.prototype.append=function(tt){var We=Ze(this._buff.buffer,tt,!0),Ue=We.length,Qe;for(this._length+=tt.byteLength,Qe=64;Qe<=Ue;Qe+=64)d(this._hash,y(We.subarray(Qe-64,Qe)));return this._buff=Qe-64<Ue?new Uint8Array(We.buffer.slice(Qe-64)):new Uint8Array(0),this},st.ArrayBuffer.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],He,tr;for(He=0;He<Ue;He+=1)Qe[He>>2]|=We[He]<<(He%4<<3);return this._finish(Qe,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.ArrayBuffer.prototype.getState=function(){var tt=st.prototype.getState.call(this);return tt.buff=Ve(tt.buff),tt},st.ArrayBuffer.prototype.setState=function(tt){return tt.buff=Je(tt.buff,!0),st.prototype.setState.call(this,tt)},st.ArrayBuffer.prototype.destroy=st.prototype.destroy,st.ArrayBuffer.prototype._finish=st.prototype._finish,st.ArrayBuffer.hash=function(tt,We){var Ue=j(new Uint8Array(tt)),Qe=_e(Ue);return We?Fe(Qe):Qe},st})})(sparkMd5);const SparkMD5=sparkMd5.exports,getPhotoMetadata=e=>es(this,null,function*(){let n=getFileExtent(e),l={};if(n==="jpg"||n==="jpeg")try{l=yield _formatMetadata(e)}catch(u){l=yield getImageSize(e)}else l=yield getImageSize(e);return l.filesize=getFileSize(e),l});function _formatMetadata(e,n=1){return es(this,null,function*(){let l=yield getFileBuffer(e,n),u=getMd5(l);return new Promise((d,p)=>{getData(l.buffer,function(y,o){if(o)return o.message==="Offset is outside the bounds of the DataView"&&n<3?d(_formatMetadata(e,n+1)):p(o);let{exif:j,xmp:Re}=getAllTags(y);j=JSON.parse(JSON.stringify(j).replaceAll("\\u0000",""))||{},j.PixelXDimension&&j.PixelYDimension&&j.PixelXDimension!=65535&&j.PixelYDimension!=65535?d({exif:j,xmp:Re,width:j.PixelXDimension,height:j.PixelYDimension,md5:u}):getImageSize(e).then(_e=>{d({exif:j,xmp:Re,width:_e.width,height:_e.height,md5:u})})})})})}function getImageSize(e){return es(this,null,function*(){try{let n=yield getFileBuffer(e),l=lookup(n),u=getMd5(Buffer.concat([n.subarray(0,10240),n.subarray(n.length/2,10240),n.subarray(-10240)]));return{width:l.width,height:l.height,md5:u}}catch(n){return{width:0,height:0}}})}function getAllTags(e){return util.imageHasData(e)?{exif:e.exifdata||{},xmp:e.xmpdata||{}}:{exif:{},xmp:{}}}function getFileExtent(e){return typeof e=="string"?e.split(".").pop().toLowerCase():e.name.split(".").pop().toLowerCase()}function getFileBuffer(e,n){return es(this,null,function*(){if(typeof e=="string")if(n){let l=fs__default.default.openSync(e),u=Buffer.alloc(65536*n);return yield new Promise(d=>{fs__default.default.read(l,u,0,u.length,0,()=>{d(),fs__default.default.closeSync(l)})}),u}else return fs__default.default.readFileSync(e);else return n&&(e=e.slice(0,65536*n)),yield new Promise((l,u)=>{var d=new FileReader;d.readAsArrayBuffer(e),d.onload=p=>{l(p.target.result)},d.onerror=p=>{u(p)}})})}function getFileSize(e){return typeof e=="string"?fs__default.default.statSync(e).size:e.size}function getMd5(e){let n=new SparkMD5.ArrayBuffer;return n.append(e),n.end()}function parsePhoto(e){return es(this,null,function*(){let n=yield getPhotoMetadata(e);const{width:l,height:u,exif:d,xmp:p,filesize:y,md5:o}=n;let j={width:l,height:u,filesize:y,md5:o},Re=NaN,_e=NaN,$=NaN,Je=NaN,Ve=NaN,Ze=NaN,Fe=NaN,st=NaN,tt=NaN,We=[Re,_e,$],Ue=flatObject(p),{GPSAltitude:Qe,GPSLatitude:He,GPSLatitudeRef:tr,GPSLongitude:or,GPSLongitudeRef:xt}=d||{};or&&He&&(We=[getGeoCoordOperator(xt)*toRadian(or),getGeoCoordOperator(tr)*toRadian(He),+Qe]);for(let Er in Ue){let _r=Ue[Er];if(Er==="drone-dji:GpsLongtitude"||Er==="drone-dji:GpsLongitude")Re=Number(_r);else if(Er==="drone-dji:GpsLatitude")_e=Number(_r);else if(Er==="drone-dji:AbsoluteAltitude")$=Number(_r);else if(Er==="drone-dji:GimbalYawDegree")Je=Number(_r);else if(Er==="drone-dji:GimbalPitchDegree")Ve=Number(_r);else if(Er==="drone-dji:GimbalRollDegree")Ze=Number(_r);else if(Er==="drone-dji:RtkStdLon")Fe=Number(_r);else if(Er==="drone-dji:RtkStdLat")st=Number(_r);else if(Er==="drone-dji:RtkStdHgt")tt=Number(_r);else if(Er==="drone-dji:DewarpFlag")j.dewarp_flag=Boolean(Number(_r));else if(Er==="drone-dji:RtkFlag")j.rtk_flag=Number(_r);else if(Er==="drone-dji:RelativeAltitude")j.relative_altitude=Number(_r);else if(Er==="tiff:Model")j.camera_model=_r;else if(Er==="drone-dji:DewarpData"){let hr=_r.split(";")[1].split(",").map(Kr=>Number(Kr));hr[2]=l/2+hr[2],hr[3]=u/2+hr[3],j.pre_calib_param=hr}else Er==="drone-dji:CaptureUUID"?j.capture_uuid=_r:Er==="drone-dji:DroneID"?j.drone_id=_r:Er==="drone-dji:DroneSerialNumber"?j.drone_serial_number=_r:Er==="drone-dji:CameraSerialNumber"&&(j.camera_serial_number=_r)}for(let Er in Ue){let _r=Ue[Er];Er==="drone-dji:GpsStatus"&&_r==="RTK"&&Number.isNaN(Fe)?(Fe=.02,st=.02):Er==="drone-dji:AltitudeType"&&_r==="RtkAlt"&&Number.isNaN(tt)&&(tt=.02)}if(!Number.isNaN(Fe)&&!Number.isNaN(st)&&!Number.isNaN(tt)&&(j.pos_std=[Fe,st,tt]),!Number.isNaN(Je)&&!Number.isNaN(Ve)&&!Number.isNaN(Ze)&&(j.pitch_roll_yaw=[Ve,Ze,Je],j.orientation=getRotationMatrix(Ve,Ze,Je)),d!=null&&d.DateTime?j.capture_time=hooks(d.DateTime,"YYYY:MM:DD HH:mm:ss").valueOf():d!=null&&d.DateTimeOriginal&&(j.capture_time=hooks(d.DateTimeOriginal,"YYYY:MM:DD HH:mm:ss").valueOf()),d!=null&&d.FocalLengthIn35mmFilm&&(j.focal_length_in_35mm=d.FocalLengthIn35mmFilm),hasNaN(We)&&(We=[Re,_e,$]),!hasNaN(We))if(j.pos=We,j.absolute_altitude=We[2],j.coordinate_system={type:2,label:"WGS 84",type_name:"Geographic",epsg_code:4326},hasNaN([Fe,st,tt]))j.pos_sigma=[2,2,5];else{let Er=[],_r=Math.sqrt(Math.pow(Fe,2)+Math.pow(st,2));_r<.03?Er[0]=Er[1]=.03:_r<.2?Er[0]=Er[1]=.2:Er[0]=Er[1]=2,tt<.03?Er[2]=.06:tt<.2?Er[2]=.5:Er[2]=5,j.pos_sigma=Er}return j})}function parsePhotos(e,n){let l=[],u=e,d=e.length,p=10,y=0;return new Promise(o=>{const j=()=>{for(let _e=y;_e<p;_e++){let $=u.pop();if(!$)break;y++,parsePhoto($).then(Je=>{y--;let Ve=$.split(".").pop(),Ze={width:Je.width,height:Je.height,ext:Ve,parameters:Je.pre_calib_param||null},Fe=l.find(st=>st.width===Ze.width&&st.height===Ze.height&&st.ext===Ze.ext&&_$1.isEqual(st.parameters,Ze.parameters));Fe||(Fe=Ze,Fe.fileList=[],l.push(Fe)),Fe.fileList.push({name:$.split("\\").pop(),filesize:Je.filesize,md5:Je.md5,filePath:$,meta_data:Je}),Re()}).catch(Je=>{y--,Re(),console.error(Je)})}},Re=()=>{u.length?j():y||o(l);let _e=d-u.length-y;n&&n(_e,d)};j()})}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var l=arguments[n];for(var u in l)({}).hasOwnProperty.call(l,u)&&(e[u]=l[u])}return e},_extends.apply(null,arguments)}var DEFAULT_CONFIG={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function isNumber(e){return typeof e=="number"}function isBigNumber(e){return!e||typeof e!="object"||typeof e.constructor!="function"?!1:e.isBigNumber===!0&&typeof e.constructor.prototype=="object"&&e.constructor.prototype.isBigNumber===!0||typeof e.constructor.isDecimal=="function"&&e.constructor.isDecimal(e)===!0}function isComplex(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isComplex===!0||!1}function isFraction(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isFraction===!0||!1}function isUnit(e){return e&&e.constructor.prototype.isUnit===!0||!1}function isString(e){return typeof e=="string"}var isArray=Array.isArray;function isMatrix(e){return e&&e.constructor.prototype.isMatrix===!0||!1}function isCollection(e){return Array.isArray(e)||isMatrix(e)}function isDenseMatrix(e){return e&&e.isDenseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isSparseMatrix(e){return e&&e.isSparseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isRange(e){return e&&e.constructor.prototype.isRange===!0||!1}function isIndex(e){return e&&e.constructor.prototype.isIndex===!0||!1}function isBoolean(e){return typeof e=="boolean"}function isResultSet(e){return e&&e.constructor.prototype.isResultSet===!0||!1}function isHelp(e){return e&&e.constructor.prototype.isHelp===!0||!1}function isFunction(e){return typeof e=="function"}function isDate(e){return e instanceof Date}function isRegExp(e){return e instanceof RegExp}function isObject(e){return!!(e&&typeof e=="object"&&e.constructor===Object&&!isComplex(e)&&!isFraction(e))}function isNull(e){return e===null}function isUndefined(e){return e===void 0}function isAccessorNode(e){return e&&e.isAccessorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isArrayNode(e){return e&&e.isArrayNode===!0&&e.constructor.prototype.isNode===!0||!1}function isAssignmentNode(e){return e&&e.isAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isBlockNode(e){return e&&e.isBlockNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConditionalNode(e){return e&&e.isConditionalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConstantNode(e){return e&&e.isConstantNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionAssignmentNode(e){return e&&e.isFunctionAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionNode(e){return e&&e.isFunctionNode===!0&&e.constructor.prototype.isNode===!0||!1}function isIndexNode(e){return e&&e.isIndexNode===!0&&e.constructor.prototype.isNode===!0||!1}function isNode(e){return e&&e.isNode===!0&&e.constructor.prototype.isNode===!0||!1}function isObjectNode(e){return e&&e.isObjectNode===!0&&e.constructor.prototype.isNode===!0||!1}function isOperatorNode(e){return e&&e.isOperatorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isParenthesisNode(e){return e&&e.isParenthesisNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRangeNode(e){return e&&e.isRangeNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRelationalNode(e){return e&&e.isRelationalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isSymbolNode(e){return e&&e.isSymbolNode===!0&&e.constructor.prototype.isNode===!0||!1}function isChain(e){return e&&e.constructor.prototype.isChain===!0||!1}function typeOf(e){var n=typeof e;return n==="object"?e===null?"null":isBigNumber(e)?"BigNumber":e.constructor&&e.constructor.name?e.constructor.name:"Object":n}function clone$2(e){var n=typeof e;if(n==="number"||n==="string"||n==="boolean"||e===null||e===void 0)return e;if(typeof e.clone=="function")return e.clone();if(Array.isArray(e))return e.map(function(l){return clone$2(l)});if(e instanceof Date)return new Date(e.valueOf());if(isBigNumber(e))return e;if(isObject(e))return mapObject(e,clone$2);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(e,")"))}function mapObject(e,n){var l={};for(var u in e)hasOwnProperty(e,u)&&(l[u]=n(e[u]));return l}function extend(e,n){for(var l in n)hasOwnProperty(n,l)&&(e[l]=n[l]);return e}function deepStrictEqual(e,n){var l,u,d;if(Array.isArray(e)){if(!Array.isArray(n)||e.length!==n.length)return!1;for(u=0,d=e.length;u<d;u++)if(!deepStrictEqual(e[u],n[u]))return!1;return!0}else{if(typeof e=="function")return e===n;if(e instanceof Object){if(Array.isArray(n)||!(n instanceof Object))return!1;for(l in e)if(!(l in n)||!deepStrictEqual(e[l],n[l]))return!1;for(l in n)if(!(l in e))return!1;return!0}else return e===n}}function hasOwnProperty(e,n){return e&&Object.hasOwnProperty.call(e,n)}function pickShallow(e,n){for(var l={},u=0;u<n.length;u++){var d=n[u],p=e[d];p!==void 0&&(l[d]=p)}return l}var MATRIX_OPTIONS=["Matrix","Array"],NUMBER_OPTIONS=["number","BigNumber","Fraction"],config$1=function e(n){if(n)throw new Error(`The global config is readonly.
467
+ `,pngImageHeaderChunkName="IHDR",pngFriedChunkName="CgBI",PNG={validate(e){if(pngSignature===toUTF8String(e,1,8)){let n=toUTF8String(e,12,16);if(n===pngFriedChunkName&&(n=toUTF8String(e,28,32)),n!==pngImageHeaderChunkName)throw new TypeError("Invalid PNG");return!0}return!1},calculate(e){return toUTF8String(e,12,16)===pngFriedChunkName?{height:readUInt32BE(e,36),width:readUInt32BE(e,32)}:{height:readUInt32BE(e,20),width:readUInt32BE(e,16)}}},PNMTypes={P1:"pbm/ascii",P2:"pgm/ascii",P3:"ppm/ascii",P4:"pbm",P5:"pgm",P6:"ppm",P7:"pam",PF:"pfm"},handlers={default:e=>{let n=[];for(;e.length>0;){const l=e.shift();if(l[0]!=="#"){n=l.split(" ");break}}if(n.length===2)return{height:parseInt(n[1],10),width:parseInt(n[0],10)};throw new TypeError("Invalid PNM")},pam:e=>{const n={};for(;e.length>0;){const l=e.shift();if(l.length>16||l.charCodeAt(0)>128)continue;const[u,d]=l.split(" ");if(u&&d&&(n[u.toLowerCase()]=parseInt(d,10)),n.height&&n.width)break}if(n.height&&n.width)return{height:n.height,width:n.width};throw new TypeError("Invalid PAM")}},PNM={validate:e=>toUTF8String(e,0,2)in PNMTypes,calculate(e){const n=toUTF8String(e,0,2),l=PNMTypes[n],u=toUTF8String(e,3).split(/[\r\n]+/);return(handlers[l]||handlers.default)(u)}},PSD={validate:e=>toUTF8String(e,0,4)==="8BPS",calculate:e=>({height:readUInt32BE(e,14),width:readUInt32BE(e,18)})},svgReg=/<svg\s([^>"']|"[^"]*"|'[^']*')*>/,extractorRegExps={height:/\sheight=(['"])([^%]+?)\1/,root:svgReg,viewbox:/\sviewBox=(['"])(.+?)\1/i,width:/\swidth=(['"])([^%]+?)\1/},INCH_CM=2.54,units={in:96,cm:96/INCH_CM,em:16,ex:8,m:96/INCH_CM*100,mm:96/INCH_CM/10,pc:96/72/12,pt:96/72,px:1},unitsReg=new RegExp(`^([0-9.]+(?:e\\d+)?)(${Object.keys(units).join("|")})?$`);function parseLength(e){const n=unitsReg.exec(e);if(!!n)return Math.round(Number(n[1])*(units[n[2]]||1))}function parseViewbox(e){const n=e.split(" ");return{height:parseLength(n[3]),width:parseLength(n[2])}}function parseAttributes(e){const n=e.match(extractorRegExps.width),l=e.match(extractorRegExps.height),u=e.match(extractorRegExps.viewbox);return{height:l&&parseLength(l[2]),viewbox:u&&parseViewbox(u[2]),width:n&&parseLength(n[2])}}function calculateByDimensions(e){return{height:e.height,width:e.width}}function calculateByViewbox(e,n){const l=n.width/n.height;return e.width?{height:Math.floor(e.width/l),width:e.width}:e.height?{height:e.height,width:Math.floor(e.height*l)}:{height:n.height,width:n.width}}const SVG={validate:e=>svgReg.test(toUTF8String(e,0,1e3)),calculate(e){const n=toUTF8String(e).match(extractorRegExps.root);if(n){const l=parseAttributes(n[0]);if(l.width&&l.height)return calculateByDimensions(l);if(l.viewbox)return calculateByViewbox(l,l.viewbox)}throw new TypeError("Invalid SVG")}},TGA={validate(e){return readUInt16LE(e,0)===0&&readUInt16LE(e,4)===0},calculate(e){return{height:readUInt16LE(e,14),width:readUInt16LE(e,12)}}};function readIFD(e,n){const l=readUInt(e,32,4,n);return e.slice(l+2)}function readValue(e,n){const l=readUInt(e,16,8,n);return(readUInt(e,16,10,n)<<16)+l}function nextTag(e){if(e.length>24)return e.slice(12)}function extractTags(e,n){const l={};let u=e;for(;u&&u.length;){const d=readUInt(u,16,0,n),p=readUInt(u,16,2,n),y=readUInt(u,32,4,n);if(d===0)break;y===1&&(p===3||p===4)&&(l[d]=readValue(u,n)),u=nextTag(u)}return l}function determineEndianness(e){const n=toUTF8String(e,0,2);if(n==="II")return"LE";if(n==="MM")return"BE"}const signatures=["49492a00","4d4d002a"],TIFF={validate:e=>signatures.includes(toHexString(e,0,4)),calculate(e){const n=determineEndianness(e)==="BE",l=readIFD(e,n),u=extractTags(l,n),d=u[256],p=u[257];if(!d||!p)throw new TypeError("Invalid Tiff. Missing tags");return{height:p,width:d}}};function calculateExtended(e){return{height:1+readUInt24LE(e,7),width:1+readUInt24LE(e,4)}}function calculateLossless(e){return{height:1+((e[4]&15)<<10|e[3]<<2|(e[2]&192)>>6),width:1+((e[2]&63)<<8|e[1])}}function calculateLossy(e){return{height:readInt16LE(e,8)&16383,width:readInt16LE(e,6)&16383}}const WEBP={validate(e){const n=toUTF8String(e,0,4)==="RIFF",l=toUTF8String(e,8,12)==="WEBP",u=toUTF8String(e,12,15)==="VP8";return n&&l&&u},calculate(e){const n=toUTF8String(e,12,16);if(e=e.slice(20,30),n==="VP8X"){const u=e[0],d=(u&192)===0,p=(u&1)===0;if(d&&p)return calculateExtended(e);throw new TypeError("Invalid WebP")}if(n==="VP8 "&&e[0]!==47)return calculateLossy(e);const l=toHexString(e,3,6);if(n==="VP8L"&&l!=="9d012a")return calculateLossless(e);throw new TypeError("Invalid WebP")}},typeHandlers=new Map([["bmp",BMP],["cur",CUR],["dds",DDS],["gif",GIF],["heif",HEIF],["icns",ICNS],["ico",ICO],["j2c",J2C],["jp2",JP2],["jpg",JPG],["ktx",KTX],["png",PNG],["pnm",PNM],["psd",PSD],["svg",SVG],["tga",TGA],["tiff",TIFF],["webp",WEBP]]),types=Array.from(typeHandlers.keys()),firstBytes=new Map([[56,"psd"],[66,"bmp"],[68,"dds"],[71,"gif"],[73,"tiff"],[77,"tiff"],[82,"webp"],[105,"icns"],[137,"png"],[255,"jpg"]]);function detector(e){const n=e[0],l=firstBytes.get(n);return l&&typeHandlers.get(l).validate(e)?l:types.find(u=>typeHandlers.get(u).validate(e))}const globalOptions={disabledTypes:[]};function lookup(e){var l;const n=detector(e);if(typeof n!="undefined"){if(globalOptions.disabledTypes.indexOf(n)>-1)throw new TypeError("disabled file type: "+n);const u=typeHandlers.get(n).calculate(e);if(u!==void 0)return u.type=(l=u.type)!=null?l:n,u}throw new TypeError("unsupported file type: "+n)}var sparkMd5={exports:{}};(function(e,n){(function(l){e.exports=l()})(function(l){var u=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function d(tt,We){var Ue=tt[0],Qe=tt[1],He=tt[2],tr=tt[3];Ue+=(Qe&He|~Qe&tr)+We[0]-680876936|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[1]-389564586|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[2]+606105819|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[3]-1044525330|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[4]-176418897|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[5]+1200080426|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[6]-1473231341|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[7]-45705983|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[8]+1770035416|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[9]-1958414417|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[10]-42063|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[11]-1990404162|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&He|~Qe&tr)+We[12]+1804603682|0,Ue=(Ue<<7|Ue>>>25)+Qe|0,tr+=(Ue&Qe|~Ue&He)+We[13]-40341101|0,tr=(tr<<12|tr>>>20)+Ue|0,He+=(tr&Ue|~tr&Qe)+We[14]-1502002290|0,He=(He<<17|He>>>15)+tr|0,Qe+=(He&tr|~He&Ue)+We[15]+1236535329|0,Qe=(Qe<<22|Qe>>>10)+He|0,Ue+=(Qe&tr|He&~tr)+We[1]-165796510|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[6]-1069501632|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[11]+643717713|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[0]-373897302|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[5]-701558691|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[10]+38016083|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[15]-660478335|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[4]-405537848|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[9]+568446438|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[14]-1019803690|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[3]-187363961|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[8]+1163531501|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe&tr|He&~tr)+We[13]-1444681467|0,Ue=(Ue<<5|Ue>>>27)+Qe|0,tr+=(Ue&He|Qe&~He)+We[2]-51403784|0,tr=(tr<<9|tr>>>23)+Ue|0,He+=(tr&Qe|Ue&~Qe)+We[7]+1735328473|0,He=(He<<14|He>>>18)+tr|0,Qe+=(He&Ue|tr&~Ue)+We[12]-1926607734|0,Qe=(Qe<<20|Qe>>>12)+He|0,Ue+=(Qe^He^tr)+We[5]-378558|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[8]-2022574463|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[11]+1839030562|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[14]-35309556|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[1]-1530992060|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[4]+1272893353|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[7]-155497632|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[10]-1094730640|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[13]+681279174|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[0]-358537222|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[3]-722521979|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[6]+76029189|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(Qe^He^tr)+We[9]-640364487|0,Ue=(Ue<<4|Ue>>>28)+Qe|0,tr+=(Ue^Qe^He)+We[12]-421815835|0,tr=(tr<<11|tr>>>21)+Ue|0,He+=(tr^Ue^Qe)+We[15]+530742520|0,He=(He<<16|He>>>16)+tr|0,Qe+=(He^tr^Ue)+We[2]-995338651|0,Qe=(Qe<<23|Qe>>>9)+He|0,Ue+=(He^(Qe|~tr))+We[0]-198630844|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[7]+1126891415|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[14]-1416354905|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[5]-57434055|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[12]+1700485571|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[3]-1894986606|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[10]-1051523|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[1]-2054922799|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[8]+1873313359|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[15]-30611744|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[6]-1560198380|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[13]+1309151649|0,Qe=(Qe<<21|Qe>>>11)+He|0,Ue+=(He^(Qe|~tr))+We[4]-145523070|0,Ue=(Ue<<6|Ue>>>26)+Qe|0,tr+=(Qe^(Ue|~He))+We[11]-1120210379|0,tr=(tr<<10|tr>>>22)+Ue|0,He+=(Ue^(tr|~Qe))+We[2]+718787259|0,He=(He<<15|He>>>17)+tr|0,Qe+=(tr^(He|~Ue))+We[9]-343485551|0,Qe=(Qe<<21|Qe>>>11)+He|0,tt[0]=Ue+tt[0]|0,tt[1]=Qe+tt[1]|0,tt[2]=He+tt[2]|0,tt[3]=tr+tt[3]|0}function p(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt.charCodeAt(Ue)+(tt.charCodeAt(Ue+1)<<8)+(tt.charCodeAt(Ue+2)<<16)+(tt.charCodeAt(Ue+3)<<24);return We}function y(tt){var We=[],Ue;for(Ue=0;Ue<64;Ue+=4)We[Ue>>2]=tt[Ue]+(tt[Ue+1]<<8)+(tt[Ue+2]<<16)+(tt[Ue+3]<<24);return We}function o(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,p(tt.substring(Qe-64,Qe)));for(tt=tt.substring(Qe-64),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt.charCodeAt(Qe)<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function j(tt){var We=tt.length,Ue=[1732584193,-271733879,-1732584194,271733878],Qe,He,tr,or,xt,Er;for(Qe=64;Qe<=We;Qe+=64)d(Ue,y(tt.subarray(Qe-64,Qe)));for(tt=Qe-64<We?tt.subarray(Qe-64):new Uint8Array(0),He=tt.length,tr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],Qe=0;Qe<He;Qe+=1)tr[Qe>>2]|=tt[Qe]<<(Qe%4<<3);if(tr[Qe>>2]|=128<<(Qe%4<<3),Qe>55)for(d(Ue,tr),Qe=0;Qe<16;Qe+=1)tr[Qe]=0;return or=We*8,or=or.toString(16).match(/(.*?)(.{0,8})$/),xt=parseInt(or[2],16),Er=parseInt(or[1],16)||0,tr[14]=xt,tr[15]=Er,d(Ue,tr),Ue}function Re(tt){var We="",Ue;for(Ue=0;Ue<4;Ue+=1)We+=u[tt>>Ue*8+4&15]+u[tt>>Ue*8&15];return We}function _e(tt){var We;for(We=0;We<tt.length;We+=1)tt[We]=Re(tt[We]);return tt.join("")}_e(o("hello")),typeof ArrayBuffer!="undefined"&&!ArrayBuffer.prototype.slice&&function(){function tt(We,Ue){return We=We|0||0,We<0?Math.max(We+Ue,0):Math.min(We,Ue)}ArrayBuffer.prototype.slice=function(We,Ue){var Qe=this.byteLength,He=tt(We,Qe),tr=Qe,or,xt,Er,_r;return Ue!==l&&(tr=tt(Ue,Qe)),He>tr?new ArrayBuffer(0):(or=tr-He,xt=new ArrayBuffer(or),Er=new Uint8Array(xt),_r=new Uint8Array(this,He,or),Er.set(_r),xt)}}();function $(tt){return/[\u0080-\uFFFF]/.test(tt)&&(tt=unescape(encodeURIComponent(tt))),tt}function Je(tt,We){var Ue=tt.length,Qe=new ArrayBuffer(Ue),He=new Uint8Array(Qe),tr;for(tr=0;tr<Ue;tr+=1)He[tr]=tt.charCodeAt(tr);return We?He:Qe}function Ve(tt){return String.fromCharCode.apply(null,new Uint8Array(tt))}function Ze(tt,We,Ue){var Qe=new Uint8Array(tt.byteLength+We.byteLength);return Qe.set(new Uint8Array(tt)),Qe.set(new Uint8Array(We),tt.byteLength),Ue?Qe:Qe.buffer}function Fe(tt){var We=[],Ue=tt.length,Qe;for(Qe=0;Qe<Ue-1;Qe+=2)We.push(parseInt(tt.substr(Qe,2),16));return String.fromCharCode.apply(String,We)}function st(){this.reset()}return st.prototype.append=function(tt){return this.appendBinary($(tt)),this},st.prototype.appendBinary=function(tt){this._buff+=tt,this._length+=tt.length;var We=this._buff.length,Ue;for(Ue=64;Ue<=We;Ue+=64)d(this._hash,p(this._buff.substring(Ue-64,Ue)));return this._buff=this._buff.substring(Ue-64),this},st.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe,He=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],tr;for(Qe=0;Qe<Ue;Qe+=1)He[Qe>>2]|=We.charCodeAt(Qe)<<(Qe%4<<3);return this._finish(He,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.prototype.reset=function(){return this._buff="",this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash.slice()}},st.prototype.setState=function(tt){return this._buff=tt.buff,this._length=tt.length,this._hash=tt.hash,this},st.prototype.destroy=function(){delete this._hash,delete this._buff,delete this._length},st.prototype._finish=function(tt,We){var Ue=We,Qe,He,tr;if(tt[Ue>>2]|=128<<(Ue%4<<3),Ue>55)for(d(this._hash,tt),Ue=0;Ue<16;Ue+=1)tt[Ue]=0;Qe=this._length*8,Qe=Qe.toString(16).match(/(.*?)(.{0,8})$/),He=parseInt(Qe[2],16),tr=parseInt(Qe[1],16)||0,tt[14]=He,tt[15]=tr,d(this._hash,tt)},st.hash=function(tt,We){return st.hashBinary($(tt),We)},st.hashBinary=function(tt,We){var Ue=o(tt),Qe=_e(Ue);return We?Fe(Qe):Qe},st.ArrayBuffer=function(){this.reset()},st.ArrayBuffer.prototype.append=function(tt){var We=Ze(this._buff.buffer,tt,!0),Ue=We.length,Qe;for(this._length+=tt.byteLength,Qe=64;Qe<=Ue;Qe+=64)d(this._hash,y(We.subarray(Qe-64,Qe)));return this._buff=Qe-64<Ue?new Uint8Array(We.buffer.slice(Qe-64)):new Uint8Array(0),this},st.ArrayBuffer.prototype.end=function(tt){var We=this._buff,Ue=We.length,Qe=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],He,tr;for(He=0;He<Ue;He+=1)Qe[He>>2]|=We[He]<<(He%4<<3);return this._finish(Qe,Ue),tr=_e(this._hash),tt&&(tr=Fe(tr)),this.reset(),tr},st.ArrayBuffer.prototype.reset=function(){return this._buff=new Uint8Array(0),this._length=0,this._hash=[1732584193,-271733879,-1732584194,271733878],this},st.ArrayBuffer.prototype.getState=function(){var tt=st.prototype.getState.call(this);return tt.buff=Ve(tt.buff),tt},st.ArrayBuffer.prototype.setState=function(tt){return tt.buff=Je(tt.buff,!0),st.prototype.setState.call(this,tt)},st.ArrayBuffer.prototype.destroy=st.prototype.destroy,st.ArrayBuffer.prototype._finish=st.prototype._finish,st.ArrayBuffer.hash=function(tt,We){var Ue=j(new Uint8Array(tt)),Qe=_e(Ue);return We?Fe(Qe):Qe},st})})(sparkMd5);const SparkMD5=sparkMd5.exports,getPhotoMetadata=e=>es(this,null,function*(){let n=getFileExtent(e),l={};if(n==="jpg"||n==="jpeg")try{l=yield _formatMetadata(e)}catch(u){l=yield getImageSize(e)}else l=yield getImageSize(e);return l.filesize=getFileSize(e),l});function _formatMetadata(e,n=1){return es(this,null,function*(){let l=yield getFileBuffer(e,n),u=getMd5(l);return new Promise((d,p)=>{getData(l,function(y,o){if(o)return o.message==="Offset is outside the bounds of the DataView"&&n<3?d(_formatMetadata(e,n+1)):p(o);let{exif:j,xmp:Re}=getAllTags(y);j=JSON.parse(JSON.stringify(j).replaceAll("\\u0000",""))||{},j.PixelXDimension&&j.PixelYDimension&&j.PixelXDimension!=65535&&j.PixelYDimension!=65535?d({exif:j,xmp:Re,width:j.PixelXDimension,height:j.PixelYDimension,md5:u}):getImageSize(e).then(_e=>{d({exif:j,xmp:Re,width:_e.width,height:_e.height,md5:u})})})})})}function getImageSize(e){return es(this,null,function*(){try{let n=yield getFileBuffer(e),l=lookup(n),u=getMd5(Buffer.concat([n.subarray(0,10240),n.subarray(n.length/2,10240),n.subarray(-10240)]));return{width:l.width,height:l.height,md5:u}}catch(n){return{width:0,height:0}}})}function getAllTags(e){return util.imageHasData(e)?{exif:e.exifdata||{},xmp:e.xmpdata||{}}:{exif:{},xmp:{}}}function getFileExtent(e){return typeof e=="string"?e.split(".").pop().toLowerCase():e.name.split(".").pop().toLowerCase()}function getFileBuffer(e,n){return es(this,null,function*(){if(typeof e=="string")if(n){let l=fs__default.default.openSync(e),u=Buffer.alloc(65536*n);return yield new Promise(d=>{fs__default.default.read(l,u,0,u.length,0,()=>{d(),fs__default.default.closeSync(l)})}),u}else return fs__default.default.readFileSync(e);else return n&&(e=e.slice(0,65536*n)),yield new Promise((l,u)=>{var d=new FileReader;d.readAsArrayBuffer(e),d.onload=p=>{l(p.target.result)},d.onerror=p=>{u(p)}})})}function getFileSize(e){return typeof e=="string"?fs__default.default.statSync(e).size:e.size}function getMd5(e){let n=new SparkMD5.ArrayBuffer;return n.append(e),n.end()}function parsePhoto(e){return es(this,null,function*(){let n=yield getPhotoMetadata(e);const{width:l,height:u,exif:d,xmp:p,filesize:y,md5:o}=n;let j={width:l,height:u,filesize:y,md5:o},Re=NaN,_e=NaN,$=NaN,Je=NaN,Ve=NaN,Ze=NaN,Fe=NaN,st=NaN,tt=NaN,We=[Re,_e,$],Ue=flatObject(p),{GPSAltitude:Qe,GPSLatitude:He,GPSLatitudeRef:tr,GPSLongitude:or,GPSLongitudeRef:xt}=d||{};or&&He&&(We=[getGeoCoordOperator(xt)*toRadian(or),getGeoCoordOperator(tr)*toRadian(He),+Qe]);for(let Er in Ue){let _r=Ue[Er];if(Er==="drone-dji:GpsLongtitude"||Er==="drone-dji:GpsLongitude")Re=Number(_r);else if(Er==="drone-dji:GpsLatitude")_e=Number(_r);else if(Er==="drone-dji:AbsoluteAltitude")$=Number(_r);else if(Er==="drone-dji:GimbalYawDegree")Je=Number(_r);else if(Er==="drone-dji:GimbalPitchDegree")Ve=Number(_r);else if(Er==="drone-dji:GimbalRollDegree")Ze=Number(_r);else if(Er==="drone-dji:RtkStdLon")Fe=Number(_r);else if(Er==="drone-dji:RtkStdLat")st=Number(_r);else if(Er==="drone-dji:RtkStdHgt")tt=Number(_r);else if(Er==="drone-dji:DewarpFlag")j.dewarp_flag=Boolean(Number(_r));else if(Er==="drone-dji:RtkFlag")j.rtk_flag=Number(_r);else if(Er==="drone-dji:RelativeAltitude")j.relative_altitude=Number(_r);else if(Er==="tiff:Model")j.camera_model=_r;else if(Er==="drone-dji:DewarpData"){let hr=_r.split(";")[1].split(",").map(Kr=>Number(Kr));hr[2]=l/2+hr[2],hr[3]=u/2+hr[3],j.pre_calib_param=hr}else Er==="drone-dji:CaptureUUID"?j.capture_uuid=_r:Er==="drone-dji:DroneID"?j.drone_id=_r:Er==="drone-dji:DroneSerialNumber"?j.drone_serial_number=_r:Er==="drone-dji:CameraSerialNumber"&&(j.camera_serial_number=_r)}for(let Er in Ue){let _r=Ue[Er];Er==="drone-dji:GpsStatus"&&_r==="RTK"&&Number.isNaN(Fe)?(Fe=.02,st=.02):Er==="drone-dji:AltitudeType"&&_r==="RtkAlt"&&Number.isNaN(tt)&&(tt=.02)}if(!Number.isNaN(Fe)&&!Number.isNaN(st)&&!Number.isNaN(tt)&&(j.pos_std=[Fe,st,tt]),!Number.isNaN(Je)&&!Number.isNaN(Ve)&&!Number.isNaN(Ze)&&(j.pitch_roll_yaw=[Ve,Ze,Je],j.orientation=getRotationMatrix(Ve,Ze,Je)),d!=null&&d.DateTime?j.capture_time=hooks(d.DateTime,"YYYY:MM:DD HH:mm:ss").valueOf():d!=null&&d.DateTimeOriginal&&(j.capture_time=hooks(d.DateTimeOriginal,"YYYY:MM:DD HH:mm:ss").valueOf()),d!=null&&d.FocalLengthIn35mmFilm&&(j.focal_length_in_35mm=d.FocalLengthIn35mmFilm),hasNaN(We)&&(We=[Re,_e,$]),!hasNaN(We))if(j.pos=We,j.absolute_altitude=We[2],j.coordinate_system={type:2,label:"WGS 84",type_name:"Geographic",epsg_code:4326},hasNaN([Fe,st,tt]))j.pos_sigma=[2,2,5];else{let Er=[],_r=Math.sqrt(Math.pow(Fe,2)+Math.pow(st,2));_r<.03?Er[0]=Er[1]=.03:_r<.2?Er[0]=Er[1]=.2:Er[0]=Er[1]=2,tt<.03?Er[2]=.06:tt<.2?Er[2]=.5:Er[2]=5,j.pos_sigma=Er}return j})}function parsePhotos(e,n){let l=[],u=e,d=e.length,p=10,y=0;return new Promise(o=>{const j=()=>{for(let _e=y;_e<p;_e++){let $=u.pop();if(!$)break;y++,parsePhoto($).then(Je=>{y--;let Ve=$.split(".").pop(),Ze={width:Je.width,height:Je.height,ext:Ve,parameters:Je.pre_calib_param||null},Fe=l.find(st=>st.width===Ze.width&&st.height===Ze.height&&st.ext===Ze.ext&&_$1.isEqual(st.parameters,Ze.parameters));Fe||(Fe=Ze,Fe.fileList=[],l.push(Fe)),Fe.fileList.push({name:$.split("\\").pop(),filesize:Je.filesize,md5:Je.md5,filePath:$,meta_data:Je}),Re()}).catch(Je=>{y--,Re(),console.error(Je)})}},Re=()=>{u.length?j():y||o(l);let _e=d-u.length-y;n&&n(_e,d)};j()})}function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var l=arguments[n];for(var u in l)({}).hasOwnProperty.call(l,u)&&(e[u]=l[u])}return e},_extends.apply(null,arguments)}var DEFAULT_CONFIG={epsilon:1e-12,matrix:"Matrix",number:"number",precision:64,predictable:!1,randomSeed:null};function isNumber(e){return typeof e=="number"}function isBigNumber(e){return!e||typeof e!="object"||typeof e.constructor!="function"?!1:e.isBigNumber===!0&&typeof e.constructor.prototype=="object"&&e.constructor.prototype.isBigNumber===!0||typeof e.constructor.isDecimal=="function"&&e.constructor.isDecimal(e)===!0}function isComplex(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isComplex===!0||!1}function isFraction(e){return e&&typeof e=="object"&&Object.getPrototypeOf(e).isFraction===!0||!1}function isUnit(e){return e&&e.constructor.prototype.isUnit===!0||!1}function isString(e){return typeof e=="string"}var isArray=Array.isArray;function isMatrix(e){return e&&e.constructor.prototype.isMatrix===!0||!1}function isCollection(e){return Array.isArray(e)||isMatrix(e)}function isDenseMatrix(e){return e&&e.isDenseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isSparseMatrix(e){return e&&e.isSparseMatrix&&e.constructor.prototype.isMatrix===!0||!1}function isRange(e){return e&&e.constructor.prototype.isRange===!0||!1}function isIndex(e){return e&&e.constructor.prototype.isIndex===!0||!1}function isBoolean(e){return typeof e=="boolean"}function isResultSet(e){return e&&e.constructor.prototype.isResultSet===!0||!1}function isHelp(e){return e&&e.constructor.prototype.isHelp===!0||!1}function isFunction(e){return typeof e=="function"}function isDate(e){return e instanceof Date}function isRegExp(e){return e instanceof RegExp}function isObject(e){return!!(e&&typeof e=="object"&&e.constructor===Object&&!isComplex(e)&&!isFraction(e))}function isNull(e){return e===null}function isUndefined(e){return e===void 0}function isAccessorNode(e){return e&&e.isAccessorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isArrayNode(e){return e&&e.isArrayNode===!0&&e.constructor.prototype.isNode===!0||!1}function isAssignmentNode(e){return e&&e.isAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isBlockNode(e){return e&&e.isBlockNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConditionalNode(e){return e&&e.isConditionalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isConstantNode(e){return e&&e.isConstantNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionAssignmentNode(e){return e&&e.isFunctionAssignmentNode===!0&&e.constructor.prototype.isNode===!0||!1}function isFunctionNode(e){return e&&e.isFunctionNode===!0&&e.constructor.prototype.isNode===!0||!1}function isIndexNode(e){return e&&e.isIndexNode===!0&&e.constructor.prototype.isNode===!0||!1}function isNode(e){return e&&e.isNode===!0&&e.constructor.prototype.isNode===!0||!1}function isObjectNode(e){return e&&e.isObjectNode===!0&&e.constructor.prototype.isNode===!0||!1}function isOperatorNode(e){return e&&e.isOperatorNode===!0&&e.constructor.prototype.isNode===!0||!1}function isParenthesisNode(e){return e&&e.isParenthesisNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRangeNode(e){return e&&e.isRangeNode===!0&&e.constructor.prototype.isNode===!0||!1}function isRelationalNode(e){return e&&e.isRelationalNode===!0&&e.constructor.prototype.isNode===!0||!1}function isSymbolNode(e){return e&&e.isSymbolNode===!0&&e.constructor.prototype.isNode===!0||!1}function isChain(e){return e&&e.constructor.prototype.isChain===!0||!1}function typeOf(e){var n=typeof e;return n==="object"?e===null?"null":isBigNumber(e)?"BigNumber":e.constructor&&e.constructor.name?e.constructor.name:"Object":n}function clone$2(e){var n=typeof e;if(n==="number"||n==="string"||n==="boolean"||e===null||e===void 0)return e;if(typeof e.clone=="function")return e.clone();if(Array.isArray(e))return e.map(function(l){return clone$2(l)});if(e instanceof Date)return new Date(e.valueOf());if(isBigNumber(e))return e;if(isObject(e))return mapObject(e,clone$2);throw new TypeError("Cannot clone: unknown type of value (value: ".concat(e,")"))}function mapObject(e,n){var l={};for(var u in e)hasOwnProperty(e,u)&&(l[u]=n(e[u]));return l}function extend(e,n){for(var l in n)hasOwnProperty(n,l)&&(e[l]=n[l]);return e}function deepStrictEqual(e,n){var l,u,d;if(Array.isArray(e)){if(!Array.isArray(n)||e.length!==n.length)return!1;for(u=0,d=e.length;u<d;u++)if(!deepStrictEqual(e[u],n[u]))return!1;return!0}else{if(typeof e=="function")return e===n;if(e instanceof Object){if(Array.isArray(n)||!(n instanceof Object))return!1;for(l in e)if(!(l in n)||!deepStrictEqual(e[l],n[l]))return!1;for(l in n)if(!(l in e))return!1;return!0}else return e===n}}function hasOwnProperty(e,n){return e&&Object.hasOwnProperty.call(e,n)}function pickShallow(e,n){for(var l={},u=0;u<n.length;u++){var d=n[u],p=e[d];p!==void 0&&(l[d]=p)}return l}var MATRIX_OPTIONS=["Matrix","Array"],NUMBER_OPTIONS=["number","BigNumber","Fraction"],config$1=function e(n){if(n)throw new Error(`The global config is readonly.
468
468
  Please create a mathjs instance if you want to change the default configuration.
469
469
  Example:
470
470
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mapcatch/util",
3
- "version": "2.0.9-a",
3
+ "version": "2.0.9",
4
4
  "main": "./dist/catchUtil.min.cjs.js",
5
5
  "module": "./dist/catchUtil.min.esm.js",
6
6
  "browser": "./dist/catchUtil.min.js",
@@ -26,6 +26,26 @@
26
26
  "src/**/*.js": "yarn lint"
27
27
  },
28
28
  "dependencies": {
29
+ "@turf/turf": "^7.1.0",
30
+ "@xmldom/xmldom": "^0.9.2",
31
+ "cdt2d": "^1.0.0",
32
+ "eslint": "8.22.0",
33
+ "gl-matrix": "^3.4.3",
34
+ "glsl-float-to-rgba": "^1.0.0",
35
+ "glsl-rgba-to-float": "^1.0.0",
36
+ "lodash": "^4.17.21",
37
+ "mapbox-gl": "^3.6.0",
38
+ "mathjs": "12.3.0",
39
+ "moment": "^2.29.4",
40
+ "pbf": "3.2.1",
41
+ "proj4": "^2.12.1",
42
+ "protocol-buffers-schema": "^3.6.0",
43
+ "regl": "^2.1.0",
44
+ "satellite-geo-calc": "^0.0.7",
45
+ "spark-md5": "^3.0.2",
46
+ "svg-path-commander": "2.0.9",
47
+ "upng-js": "^2.1.0",
48
+ "uuid": "^9.0.0"
29
49
  },
30
50
  "devDependencies": {
31
51
  "@babel/core": "^7.25.2",