315 lines
10 KiB
JavaScript
315 lines
10 KiB
JavaScript
// Metro module 4808 (f4809).
|
|
import Module4805 from "./Module4805";
|
|
import { getStringFromDataView } from "./Module4802";
|
|
let c2951_3, c2951_4, c2951_5, c2951_6, c2951_7, c2951_8, c2951_9, c2951_10, c2951_11, c2951_12, c2951_13, c2951_14, c2951_15, c2951_16, c2951_17, c2951_18, c2951_19, c2951_20, c2951_21, c2951_22, c2951_23, c2951_24, c2951_25, c2951_26, c2951_27, c2951_28, c2951_29, c2951_30, c2951_31, c2951_32, c2951_33, c2951_34, c2951_35, c2951_36;
|
|
const r16 = {
|
|
isJpegFile: function isJpegFile(a0) {
|
|
return !!a0 && a0.byteLength >= c2951_3 && a0.getUint16(0) === c2951_4;
|
|
},
|
|
findJpegOffsets: function findJpegOffsets(a0) {
|
|
let r37, r38, r39, r40, r41, r42, r43, r44, r45, r46, r47, r48, r217, r218, r219, r220, r221, r224, r225, r293, byteLength;
|
|
const r6 = c2951_5 + c2951_6 + 5 <= a0.byteLength;
|
|
let r30 = c2951_5;
|
|
let r29 = void 0;
|
|
let r28 = void 0;
|
|
let r27 = void 0;
|
|
let r26 = void 0;
|
|
let r25 = void 0;
|
|
let r24 = void 0;
|
|
let r23 = void 0;
|
|
let r22 = void 0;
|
|
let r19 = c2951_5;
|
|
let mpfDataOffset = void 0;
|
|
let iccChunks = void 0;
|
|
let xmpChunks = void 0;
|
|
let iptcDataOffset = void 0;
|
|
let tiffHeaderOffset = void 0;
|
|
let jfifDataOffset = void 0;
|
|
let r18 = void 0;
|
|
let fileDataOffset = void 0;
|
|
if (r6) {
|
|
do {
|
|
L75: {
|
|
L74: {
|
|
r48 = r30;
|
|
const r57 = r29;
|
|
const r56 = r28;
|
|
const r55 = r27;
|
|
const r54 = r26;
|
|
const r53 = r25;
|
|
const r52 = r24;
|
|
const r51 = r23;
|
|
const r50 = r22;
|
|
if (Module4805.USE_FILE && a0.getUint16(r48) === c2951_19) {
|
|
const getUint163 = a0.getUint16;
|
|
const r287 = r48 + c2951_7;
|
|
r47 = getUint163.call(a0, r287);
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r287;
|
|
} else if (Module4805.USE_FILE && a0.getUint16(r48) === c2951_20) {
|
|
const getUint162 = a0.getUint16;
|
|
const r283 = r48 + c2951_7;
|
|
r47 = getUint162.call(a0, r283);
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r283;
|
|
r225 = r50;
|
|
} else {
|
|
if (Module4805.USE_JFIF) {
|
|
const length = c2951_32.length;
|
|
if (a0.getUint16(r48) === c2951_25 && getStringFromDataView(a0, r48 + c2951_6, length) === c2951_32 && a0.getUint8(r48 + c2951_6 + length) === 0) {
|
|
r47 = a0.getUint16(r48 + c2951_7);
|
|
r41 = r48 + c2951_8;
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
break L74;
|
|
}
|
|
}
|
|
if (Module4805.USE_EXIF) {
|
|
const length2 = c2951_33.length;
|
|
if (a0.getUint16(r48) === c2951_26 && getStringFromDataView(a0, r48 + c2951_6, length2) === c2951_33 && a0.getUint8(r48 + c2951_6 + length2) === 0) {
|
|
r47 = a0.getUint16(r48 + c2951_7);
|
|
r42 = r48 + c2951_9;
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
break L74;
|
|
}
|
|
}
|
|
if (Module4805.USE_XMP) {
|
|
if (a0.getUint16(r48) === c2951_26 && getStringFromDataView(a0, r48 + c2951_6, c2951_34.length) === c2951_34) {
|
|
const r259 = r55 ? r55 : [];
|
|
const uint164 = a0.getUint16(r48 + c2951_7);
|
|
r259.push({
|
|
dataOffset: r48 + c2951_11,
|
|
length: uint164 - 31
|
|
});
|
|
r44 = r259;
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
r47 = uint164;
|
|
break L74;
|
|
}
|
|
}
|
|
if (Module4805.USE_XMP) {
|
|
if (a0.getUint16(r48) === c2951_26 && getStringFromDataView(a0, r48 + c2951_6, c2951_35.length) === c2951_35) {
|
|
const r247 = r55 ? r55 : [];
|
|
const uint163 = a0.getUint16(r48 + c2951_7);
|
|
r247.push({
|
|
dataOffset: r48 + c2951_12,
|
|
length: uint163 - 77
|
|
});
|
|
r44 = r247;
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
r47 = uint163;
|
|
break L74;
|
|
}
|
|
}
|
|
if (Module4805.USE_IPTC) {
|
|
const length3 = c2951_36.length;
|
|
if (a0.getUint16(r48) === c2951_28 && getStringFromDataView(a0, r48 + c2951_6, length3) === c2951_36 && a0.getUint8(r48 + c2951_6 + length3) === 0) {
|
|
r47 = a0.getUint16(r48 + c2951_7);
|
|
r43 = r48 + c2951_10;
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
break L74;
|
|
}
|
|
}
|
|
if (Module4805.USE_ICC) {
|
|
const length4 = c2951_15.length;
|
|
if (a0.getUint16(r48) === c2951_27 && getStringFromDataView(a0, r48 + c2951_6, length4) === c2951_15) {
|
|
const uint162 = a0.getUint16(r48 + c2951_7);
|
|
const length6 = uint162 - 16;
|
|
const uint82 = a0.getUint8(r48 + c2951_16);
|
|
const uint8 = a0.getUint8(r48 + c2951_17);
|
|
const r238 = r56 ? r56 : [];
|
|
r238.push({
|
|
offset: r48 + c2951_13,
|
|
length: length6,
|
|
chunkNumber: uint82,
|
|
chunksTotal: uint8
|
|
});
|
|
r45 = r238;
|
|
r46 = r57;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
r47 = uint162;
|
|
break L74;
|
|
}
|
|
}
|
|
if (Module4805.USE_MPF) {
|
|
const length5 = c2951_18.length;
|
|
if (a0.getUint16(r48) === c2951_27 && getStringFromDataView(a0, r48 + c2951_6, length5) === c2951_18) {
|
|
r47 = a0.getUint16(r48 + c2951_7);
|
|
r46 = r48 + c2951_14;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
break L74;
|
|
}
|
|
}
|
|
const uint16 = a0.getUint16(r48);
|
|
const r205 = uint16 >= c2951_25 && uint16 <= c2951_29 || uint16 === c2951_30 || uint16 === c2951_19 || uint16 === c2951_20 || uint16 === c2951_21 || uint16 === c2951_22 || uint16 === c2951_23 || uint16 === c2951_24;
|
|
const getUint16 = a0.getUint16;
|
|
if (!r205) {
|
|
const r215 = getUint16.call(a0, r48);
|
|
r19 = r48;
|
|
mpfDataOffset = r57;
|
|
iccChunks = r56;
|
|
xmpChunks = r55;
|
|
iptcDataOffset = r54;
|
|
tiffHeaderOffset = r53;
|
|
jfifDataOffset = r52;
|
|
r18 = r51;
|
|
fileDataOffset = r50;
|
|
if (r215 !== c2951_31) {
|
|
break;
|
|
}
|
|
r40 = r48 + 1;
|
|
r39 = r57;
|
|
r38 = r56;
|
|
r37 = r55;
|
|
r217 = r54;
|
|
r218 = r53;
|
|
r219 = r52;
|
|
r220 = r51;
|
|
r221 = r50;
|
|
break L75;
|
|
}
|
|
r47 = getUint16.call(a0, r48 + c2951_7);
|
|
r46 = r57;
|
|
r45 = r56;
|
|
r44 = r55;
|
|
r43 = r54;
|
|
r42 = r53;
|
|
r41 = r52;
|
|
r224 = r51;
|
|
r225 = r50;
|
|
}
|
|
}
|
|
r40 = r48 + (c2951_7 + r47);
|
|
r39 = r46;
|
|
r38 = r45;
|
|
r37 = r44;
|
|
r217 = r43;
|
|
r218 = r42;
|
|
r219 = r41;
|
|
r220 = r224;
|
|
r221 = r225;
|
|
}
|
|
byteLength = a0.byteLength;
|
|
r293 = r40 + c2951_6 + 5;
|
|
r30 = r40;
|
|
r29 = r39;
|
|
r28 = r38;
|
|
r27 = r37;
|
|
r26 = r217;
|
|
r25 = r218;
|
|
r24 = r219;
|
|
r23 = r220;
|
|
r22 = r221;
|
|
r19 = r30;
|
|
mpfDataOffset = r29;
|
|
iccChunks = r28;
|
|
xmpChunks = r27;
|
|
iptcDataOffset = r26;
|
|
tiffHeaderOffset = r25;
|
|
jfifDataOffset = r24;
|
|
r18 = r23;
|
|
fileDataOffset = r22;
|
|
} while (r293 <= byteLength);
|
|
}
|
|
if (!fileDataOffset) {
|
|
fileDataOffset = r18;
|
|
}
|
|
return {
|
|
hasAppMarkers: r19 > c2951_5,
|
|
fileDataOffset,
|
|
jfifDataOffset,
|
|
tiffHeaderOffset,
|
|
iptcDataOffset,
|
|
xmpChunks,
|
|
iccChunks,
|
|
mpfDataOffset
|
|
};
|
|
}
|
|
};
|
|
c2951_3 = 2;
|
|
c2951_4 = 65496;
|
|
c2951_5 = 2;
|
|
c2951_6 = 4;
|
|
c2951_7 = 2;
|
|
c2951_8 = 2;
|
|
c2951_9 = 10;
|
|
c2951_10 = 18;
|
|
c2951_11 = 33;
|
|
c2951_12 = 79;
|
|
c2951_13 = 18;
|
|
c2951_14 = 8;
|
|
c2951_15 = "ICC_PROFILE\x00";
|
|
c2951_16 = 4 + "ICC_PROFILE\x00".length;
|
|
c2951_17 = c2951_16 + 1;
|
|
c2951_18 = "MPF\x00";
|
|
c2951_19 = 65472;
|
|
c2951_20 = 65474;
|
|
c2951_21 = 65476;
|
|
c2951_22 = 65499;
|
|
c2951_23 = 65501;
|
|
c2951_24 = 65498;
|
|
c2951_25 = 65504;
|
|
c2951_26 = 65505;
|
|
c2951_27 = 65506;
|
|
c2951_28 = 65517;
|
|
c2951_29 = 65519;
|
|
c2951_30 = 65534;
|
|
c2951_31 = 65535;
|
|
c2951_32 = "JFIF";
|
|
c2951_33 = "Exif";
|
|
c2951_34 = "http://ns.adobe.com/xap/1.0/\x00";
|
|
c2951_35 = "http://ns.adobe.com/xmp/extension/\x00";
|
|
c2951_36 = "Photoshop 3.0";
|
|
export default r16;
|