// Metro module 15368 (f15369). import { thumbHashToApproximateAspectRatio, rgbaToDataURL } from "../../_bundle/thumbHashToRGBA"; const thumbHashToRGBA = function thumbHashToRGBA(a0, r45 = {}) { let r110, r112, r141, r170, r172, r195, r239, r241, r275, r277; const { detail = 1, pop = 1 } = r45; const { PI, min, max, cos, round } = Math; const r75 = a0[0] | a0[1] << 8 | a0[2] << 16; const r33 = a0[3] | a0[4] << 8; const r39 = r75 >> 23; const r80 = r33 >> 15; const r55 = max(3, r80 ? r39 ? 5 : 7 : 7 & r33); const r54 = max(3, r80 ? 7 & r33 : r39 ? 5 : 7); const r36 = r39 ? (15 & a0[5]) / 15 : 1; const r31 = (a0[5] >> 4) / 15; const r87 = r39 ? 6 : 5; const r34 = (r75 >> 18 & 31) / 31 / 2; const r53 = []; const r42 = 0 < r54; let r94 = 0; let r95 = 0; let r22 = 0; if (r42) { do { const r21 = r94; const r27 = r95; let r12 = r27 ? 0 : 1; const r24 = r12 * r54; const r96 = r55 * (r54 - r27); let r23 = r21; let r97 = r23; if (r24 < r96) { do { const r101 = a0[r87 + (r23 >> 1)]; const r11 = r23 + 1; r53.push(((r101 >> ((1 & r23) << 2) & 15) / 7.5 - 1) * r34); const r17 = r12 + 1; r110 = r17 * r54; r112 = r55 * (r54 - r27); r23 = r11; r12 = r17; r97 = r23; } while (r110 < r112); } r95 = r27 + 1; r94 = r97; r22 = r94; } while (r95 < r54); } const r117 = (r33 >> 3 & 63) / 63 * pop; const r52 = []; let r118 = 0; while (true) { const r119 = r22; const r120 = r118; let r121 = r120 ? 0 : 1; const r122 = r121 * 3; const r124 = 3 * (3 - r120); let r125 = r119; let r126 = r125; if (r122 < r124) { do { const r130 = a0[r87 + (r125 >> 1)]; const r131 = r125 + 1; r52.push(((r130 >> ((1 & r125) << 2) & 15) / 7.5 - 1) * r117); const r140 = r121 + 1; r141 = r140 * 3; r125 = r131; r121 = r140; r126 = r125; } while (r141 < r124); } r118 = r120 + 1; r22 = r126; if (!(r118 < 3)) { const r146 = (r33 >> 9 & 63) / 63 * pop; const r51 = []; let r147 = 0; while (true) { const r148 = r126; const r149 = r147; let r150 = r149 ? 0 : 1; const r151 = r150 * 3; const r153 = 3 * (3 - r149); let r154 = r148; let r155 = r154; if (r151 < r153) { do { const r159 = a0[r87 + (r154 >> 1)]; const r160 = r154 + 1; r51.push(((r159 >> ((1 & r154) << 2) & 15) / 7.5 - 1) * r146); const r169 = r150 + 1; r170 = r169 * 3; r154 = r160; r150 = r169; r155 = r154; } while (r170 < r153); } r147 = r149 + 1; r126 = r155; if (!(r147 < 3)) { const r171 = []; if (r39) { let r173 = 0; do { const r174 = r155; const r175 = r173; let r176 = r175 ? 0 : 1; const r177 = r176 * 5; const r179 = 5 * (5 - r175); let r180 = r174; let r181 = r180; if (r177 < r179) { do { const r61 = a0[r87 + (r180 >> 1)]; const r185 = r180 + 1; r171.push(((r61 >> ((1 & r180) << 2) & 15) / 7.5 - 1) * r31); const r194 = r176 + 1; r195 = r194 * 5; r180 = r185; r176 = r194; r181 = r180; } while (r195 < r179); } r173 = r175 + 1; r155 = r181; r172 = r171; } while (r173 < 5); } else { r172 = r171; } const r202 = thumbHashToApproximateAspectRatio(a0); const r206 = round(r202 > 1 ? 32 : 32 * r202); const r209 = round(r202 > 1 ? 32 / r202 : 32); const uint8Array = new Uint8Array(r206 * r209 * 4); const r215 = []; const r216 = []; const r217 = 0 < r209; const r225 = (r75 >> 6 & 63) / 31.5 - 1; const r230 = (r75 >> 12 & 63) / 31.5 - 1; const r232 = (63 & r75) / 63; let r234 = 0; let r235 = 0; if (r217) { while (true) { L83: { const r236 = 0 < r206; const r237 = r235 + 0.5; let r238 = r234; r239 = r235; let r240 = 0; r241 = r238; if (r236) { loop52: while (true) { const r242 = r240; const r243 = r238; const r245 = max(r55, r39 ? 5 : 3); const r246 = 0 < r245; const r247 = r242 + 0.5; let r248 = 0; if (r246) { do { r215[r248] = cos(PI / r206 * r247 * r248); r248 = r248 + 1; } while (r248 < r245); } const r253 = max(r54, r39 ? 5 : 3); const r254 = 0 < r253; let r255 = 0; if (r254) { do { r216[r255] = cos(PI / r209 * r237 * r255); r255 = r255 + 1; } while (r255 < r253); } const r260 = 0 < r54; let r15 = 0; let r261 = 0; let r262 = r232; let r263 = r262; if (r260) { do { const r13 = r15; const r10 = r261; const r14 = r262; let r7 = r10 ? 0 : 1; const r1 = 2 * r216[r10]; const r6 = r7 * r54; const r265 = r55 * (r54 - r10); let r0 = r13; let r3 = r14; let r266 = r0; let r267 = r3; if (r6 < r265) { do { let r268 = r7 > detail; const r269 = r7; const r270 = r0; const r4 = r3; if (!r268) { r268 = r10 > detail; } const r5 = r268 ? r4 : r4 + r53[r270] * r215[r269] * r1; const r274 = r269 + 1; r0 = r270 + 1; r275 = r274 * r54; r277 = r55 * (r54 - r10); r3 = r5; r7 = r274; r266 = r0; r267 = r3; } while (r275 < r277); } r261 = r10 + 1; r15 = r266; r262 = r267; r263 = r262; } while (r261 < r54); } let r278 = 0; let r279 = 0; let r280 = r230; let r281 = r225; while (true) { const r282 = r278; const r283 = r279; const r284 = r280; const r285 = r281; let r286 = r283 ? 0 : 1; const r288 = 2 * r216[r283]; const r289 = 3 - r283; let r290 = r282; let r291 = r284; let r292 = r285; let r293 = r290; let r294 = r291; let r295 = r292; while (r286 < r289) { const r297 = r215[r286] * r288; r292 = r292 + r52[r290] * r297; r291 = r291 + r51[r290] * r297; r286 = r286 + 1; r290 = r290 + 1; r293 = r290; r294 = r291; r295 = r292; } r279 = r283 + 1; r278 = r293; r280 = r294; r281 = r295; if (!(r279 < 3)) { let r301 = 0; let r302 = 0; let r303 = r36; let r304 = r303; if (r39) { do { const r305 = r301; const r306 = r302; const r307 = r303; let r308 = r306 ? 0 : 1; const r310 = 2 * r216[r306]; const r311 = 5 - r306; let r312 = r305; let r313 = r307; let r314 = r312; let r315 = r313; while (r308 < r311) { r313 = r313 + r172[r312] * r215[r308] * r310; r308 = r308 + 1; r312 = r312 + 1; r314 = r312; r315 = r313; } r302 = r306 + 1; r301 = r314; r303 = r315; r304 = r303; } while (r302 < 5); } const r321 = r263 - 0.6666666666666666 * r295; const r325 = (3 * r263 - r321 + r294) / 2; uint8Array[r243] = max(0, 255 * min(1, r325)); uint8Array[r243 + 1] = max(0, 255 * min(1, r325 - r294)); uint8Array[r243 + 2] = max(0, 255 * min(1, r321)); uint8Array[r243 + 3] = max(0, 255 * min(1, r304)); r240 = r242 + 1; r238 = r243 + 4; r241 = r238; if (r240 < r206) { continue loop52; } break L83; } } } } } r235 = r239 + 1; r234 = r241; if (!(r235 < r209)) { break; } } } return { w: r206, h: r209, rgba: uint8Array }; } } } } }; export function createThumbhashImageFromPlaceholder(a0) { const r12 = thumbHashToRGBA(Uint8Array.from(atob(a0), (a0) => a0.charCodeAt(0)), { detail: 1, pop: 1.1 }); return rgbaToDataURL(r12.w, r12.h, r12.rgba); } export { thumbHashToRGBA };