vendor: 12,183 bytes, line 1
1import{F as gn,T as In,C as On,M as V,a as z,c as G}from"./index-C8GmrkV4.js";const an=4,X=4,sn=1,M=2,bn=8,H=65536,d=H>>3,Pn=16,C=14,D=(1<<Pn)+1,j=1<<C,nn=j-1,K=59,cn=63,An=2+cn-K;var U;(function(n){n[n.NO_COMPRESSION=0]="NO_COMPRESSION",n[n.RLE_COMPRESSION=1]="RLE_COMPRESSION",n[n.ZIPS_COMPRESSION=2]="ZIPS_COMPRESSION",n[n.ZIP_COMPRESSION=3]="ZIP_COMPRESSION",n[n.PIZ_COMPRESSION=4]="PIZ_COMPRESSION",n[n.PXR24_COMPRESSION=5]="PXR24_COMPRESSION"})(U||(U={}));var q;(function(n){n[n.INCREASING_Y=0]="INCREASING_Y",n[n.DECREASING_Y=1]="DECREASING_Y"})(q||(q={}));function $(n,t){const e=new Uint8Array(n);let l=0;for(;e[t.value+l]!=0;)l+=1;const r=new TextDecoder().decode(e.slice(t.value,t.value+l));return t.value=t.value+l+1,r}function R(n,t){const e=n.getInt32(t.value,!0);return t.value+=an,e}function m(n,t){const e=n.getUint32(t.value,!0);return t.value+=an,e}function Z(n,t){const e=n.getUint8(t.value);return t.value+=sn,e}function B(n,t){const e=n.getUint16(t.value,!0);return t.value+=M,e}function on(n,t){const e=n[t.value];return t.value+=sn,e}function xn(n,t){let e;return"getBigInt64"in DataView.prototype?e=Number(n.getBigInt64(t.value,!0)):e=n.getUint32(t.value+4,!0)+Number(n.getUint32(t.value,!0)<<32),t.value+=bn,e}function I(n,t){const e=n.getFloat32(t.value,!0);return t.value+=X,e}function Rn(n,t){return gn(B(n,t))}function Un(n,t){return In(On(I(n,t),-V,V))}function mn(n,t,e){const l=new TextDecoder().decode(new Uint8Array(n).slice(t.value,t.value+e));return t.value=t.value+e,l}function Cn(n,t){const e=R(n,t),l=m(n,t);return[e,l]}function _n(n,t){const e=m(n,t),l=m(n,t);return[e,l]}function Nn(n,t){const e=I(n,t),l=I(n,t);return[e,l]}function Mn(n,t){const e=I(n,t),l=I(n,t),r=I(n,t);return[e,l,r]}function Fn(n,t,e){const l=t.value,r=[];for(;t.value<l+e-1;){const s=$(n.buffer,t),i=R(n,t),c=Z(n,t);t.value+=3;const o=R(n,t),a=R(n,t);r.push({name:s,pixelType:i,pLinear:c,xSampling:o,ySampling:a})}return t.value+=1,r}function Tn(n,t){const e=I(n,t),l=I(n,t),r=I(n,t),s=I(n,t),i=I(n,t),c=I(n,t),o=I(n,t),a=I(n,t);return{redX:e,redY:l,greenX:r,greenY:s,blueX:i,blueY:c,whiteX:o,whiteY:a}}function Dn(n,t){return Z(n,t)}function kn(n,t){const e=R(n,t),l=R(n,t),r=R(n,t),s=R(n,t);return{xMin:e,yMin:l,xMax:r,yMax:s}}function Ln(n,t){const e=Z(n,t);return q[e]}function zn(n,t,e,l){switch(e){case"string":case"stringvector":case"iccProfile":return mn(n.buffer,t,l);case"chlist":return Fn(n,t,l);case"chromaticities":return Tn(n,t);case"compression":return Dn(n,t);case"box2i":return kn(n,t);case"lineOrder":return Ln(n,t);case"float":return I(n,t);case"v2f":return Nn(n,t);case"v3f":return Mn(n,t);case"int":return R(n,t);case"rational":return Cn(n,t);case"timecode":return _n(n,t);case"preview":return t.value+=l,"skipped";default:t.value+=l;return}}function un(n){for(let t=1;t<n.length;t++){const e=n[t-1]+n[t]-128;n[t]=e}}function pn(n,t){let e=0,l=Math.floor((n.length+1)/2),r=0;const s=n.length-1;for(;!(r>s||(t[r++]=n[e++],r>s));)t[r++]=n[l++]}const Hn=20000630;function hn(n,t){if(n.getUint32(0,!0)!=Hn)throw new Error("Incorrect OpenEXR format");const e=n.getUint8(4),l=n.getUint8(5),r={singleTile:!!(l&2),longName:!!(l&4),deepFormat:!!(l&8),multiPart:!!(l&16)};t.value=8;const s={};let i=!0;for(;i;){const c=$(n.buffer,t);if(!c)i=!1;else{const o=$(n.buffer,t),a=m(n,t),u=zn(n,t,o,a);u===void 0?z.Warn(`Unknown header attribute type ${o}'.`):s[c]=u}}if((l&-5)!=0)throw new Error("Unsupported file format");return{version:e,spec:r,...s}}const wn=16,Bn=1<<wn-1,tn=(1<<wn)-1;function Zn(n,t){let e=0;for(let r=0;r<H;++r)(r==0||n[r>>3]&1<<(r&7))&&(t[e++]=r);const l=e-1;for(;e<H;)t[e++]=0;return l}function Wn(n){for(let t=0;t<j;t++)n[t]={},n[t].len=0,n[t].lit=0,n[t].p=null}function en(n,t,e,l,r){for(;e<n;)t=t<<8|on(l,r),e+=8;return e-=n,{l:t>>e&(1<<n)-1,c:t,lc:e}}function J(n,t,e,l){return n=n<<8|on(e,l),t+=8,{c:n,lc:t}}function Y(n,t,e,l,r,s,i,c,o){if(n==t){if(l<8){const h=J(e,l,r,s);e=h.c,l=h.lc}l-=8;let a=e>>l;if(a=new Uint8Array([a])[0],c.value+a>o)return null;const u=i[c.value-1];for(;a-- >0;)i[c.value++]=u}else if(c.value<o)i[c.value++]=n;else return null;return{c:e,lc:l}}const T=new Array(59);function Gn(n){for(let e=0;e<=58;++e)T[e]=0;for(let e=0;e<D;++e)T[n[e]]+=1;let t=0;for(let e=58;e>0;--e){const l=t+T[e]>>1;T[e]=t,t=l}for(let e=0;e<D;++e){const l=n[e];l>0&&(n[e]=l|T[l]++<<6)}}function Yn(n,t,e,l,r,s){const i=t;let c=0,o=0;for(;l<=r;l++){if(i.value-t.value>e)return;let a=en(6,c,o,n,i);const u=a.l;if(c=a.c,o=a.lc,s[l]=u,u==cn){if(i.value-t.value>e)throw new Error("Error in HufUnpackEncTable");a=en(8,c,o,n,i);let h=a.l+An;if(c=a.c,o=a.lc,l+h>r+1)throw new Error("Error in HufUnpackEncTable");for(;h--;)s[l++]=0;l--}else if(u>=K){let h=u-K+2;if(l+h>r+1)throw new Error("Error in HufUnpackEncTable");for(;h--;)s[l++]=0;l--}}Gn(s)}function yn(n){return n&63}function fn(n){return n>>6}function Xn(n,t,e,l){for(;t<=e;t++){const r=fn(n[t]),s=yn(n[t]);if(r>>s)throw new Error("Invalid table entry");if(s>C){const i=l[r>>s-C];if(i.len)throw new Error("Invalid table entry");if(i.lit++,i.p){const c=i.p;i.p=new Array(i.lit);for(let o=0;o<i.lit-1;++o)i.p[o]=c[o]}else i.p=new Array(1);i.p[i.lit-1]=t}else if(s){let i=0;for(let c=1<<C-s;c>0;c--){const o=l[(r<<C-s)+i];if(o.len||o.p)throw new Error("Invalid table entry");o.len=s,o.lit=t,i++}}}return!0}function Kn(n,t,e,l,r,s,i,c,o){let a=0,u=0;const h=i,v=Math.trunc(l.value+(r+7)/8);for(;l.value<v;){let p=J(a,u,e,l);for(a=p.c,u=p.lc;u>=C;){const y=a>>u-C&nn,f=t[y];if(f.len){u-=f.len;const w=Y(f.lit,s,a,u,e,l,c,o,h);w&&(a=w.c,u=w.lc)}else{if(!f.p)throw new Error("hufDecode issues");let w;for(w=0;w<f.lit;w++){const g=yn(n[f.p[w]]);for(;u<g&&l.value<v;)p=J(a,u,e,l),a=p.c,u=p.lc;if(u>=g&&fn(n[f.p[w]])==(a>>u-g&(1<<g)-1)){u-=g;const A=Y(f.p[w],s,a,u,e,l,c,o,h);A&&(a=A.c,u=A.lc);break}}if(w==f.lit)throw new Error("HufDecode issues")}}}const b=8-r&7;for(a>>=b,u-=b;u>0;){const p=t[a<<C-u&nn];if(p.len){u-=p.len;const y=Y(p.lit,s,a,u,e,l,c,o,h);y&&(a=y.c,u=y.lc)}else throw new Error("HufDecode issues")}return!0}function qn(n,t,e,l,r,s){const i={value:0},c=e.value,o=m(t,e),a=m(t,e);e.value+=4;const u=m(t,e);if(e.value+=4,o<0||o>=D||a<0||a>=D)throw new Error("Wrong HUF_ENCSIZE");const h=new Array(D),v=new Array(j);Wn(v);const b=l-(e.value-c);if(Yn(n,e,b,o,a,h),u>8*(l-(e.value-c)))throw new Error("Wrong hufUncompress");Xn(h,o,a,v),Kn(h,v,n,e,u,a,s,r,i)}function Q(n){return n&65535}function rn(n){const t=Q(n);return t>32767?t-65536:t}function _(n,t){const e=rn(n),r=rn(t),s=e+(r&1)+(r>>1),i=s,c=s-r;return{a:i,b:c}}function N(n,t){const e=Q(n),l=Q(t),r=e-(l>>1)&tn;return{a:l+r-Bn&tn,b:r}}function $n(n,t,e,l,r,s,i){const c=i<16384,o=e>r?r:e;let a=1,u,h;for(;a<=o;)a<<=1;for(a>>=1,u=a,a>>=1;a>=1;){h=0;const v=h+s*(r-u),b=s*a,p=s*u,y=l*a,f=l*u;let w,g,A,k;for(;h<=v;h+=p){let E=h;const W=h+l*(e-u);for(;E<=W;E+=f){const P=E+y,O=E+b,L=O+y;if(c){let S=_(n[E+t],n[O+t]);w=S.a,A=S.b,S=_(n[P+t],n[L+t]),g=S.a,k=S.b,S=_(w,g),n[E+t]=S.a,n[P+t]=S.b,S=_(A,k),n[O+t]=S.a,n[L+t]=S.b}else{let S=N(n[E+t],n[O+t]);w=S.a,A=S.b,S=N(n[P+t],n[L+t]),g=S.a,k=S.b,S=N(w,g),n[E+t]=S.a,n[P+t]=S.b,S=N(A,k),n[O+t]=S.a,n[L+t]=S.b}}if(e&a){const P=E+b;let O;c?O=_(n[E+t],n[P+t]):O=N(n[E+t],n[P+t]),w=O.a,n[P+t]=O.b,n[E+t]=w}}if(r&a){let E=h;const W=h+l*(e-u);for(;E<=W;E+=f){const P=E+y;let O;c?O=_(n[E+t],n[P+t]):O=N(n[E+t],n[P+t]),w=O.a,n[P+t]=O.b,n[E+t]=w}}u=a,a>>=1}return h}function Jn(n,t,e){for(let l=0;l<e;++l)t[l]=n[t[l]]}function Qn(n){let t=n.byteLength;const e=[];let l=0;const r=new DataView(n);for(;t>0;){const s=r.getInt8(l++);if(s<0){const i=-s;t-=i+1;for(let c=0;c<i;c++)e.push(r.getUint8(l++))}else{const i=s;t-=2;const c=r.getUint8(l++);for(let o=0;o<i+1;o++)e.push(c)}}return e}function Sn(n){return new DataView(n.array.buffer,n.offset.value,n.size)}function jn(n){const t=n.viewer.buffer.slice(n.offset.value,n.offset.value+n.size),e=new Uint8Array(Qn(t)),l=new Uint8Array(e.length);return un(e),pn(e,l),new DataView(l.buffer)}function ln(n){const t=n.array.slice(n.offset.value,n.offset.value+n.size),e=fflate.unzlibSync(t),l=new Uint8Array(e.length);return un(e),pn(e,l),new DataView(l.buffer)}function Vn(n){const t=n.array.slice(n.offset.value,n.offset.value+n.size),e=fflate.unzlibSync(t),l=n.lines*n.channels*n.width,r=n.type==1?new Uint16Array(l):new Uint32Array(l);let s=0,i=0;const c=new Array(4);for(let o=0;o<n.lines;o++)for(let a=0;a<n.channels;a++){let u=0;switch(n.type){case 1:c[0]=s,c[1]=c[0]+n.width,s=c[1]+n.width;for(let h=0;h<n.width;++h){const v=e[c[0]++]<<8|e[c[1]++];u+=v,r[i]=u,i++}break;case 2:c[0]=s,c[1]=c[0]+n.width,c[2]=c[1]+n.width,s=c[2]+n.width;for(let h=0;h<n.width;++h){const v=e[c[0]++]<<24|e[c[1]++]<<16|e[c[2]++]<<8;u+=v,r[i]=u,i++}break}}return new DataView(r.buffer)}function dn(n){const t=n.viewer,e={value:n.offset.value},l=new Uint16Array(n.width*n.scanlineBlockSize*(n.channels*n.type)),r=new Uint8Array(d);let s=0;const i=new Array(n.channels);for(let p=0;p<n.channels;p++)i[p]={},i[p].start=s,i[p].end=i[p].start,i[p].nx=n.width,i[p].ny=n.lines,i[p].size=n.type,s+=i[p].nx*i[p].ny*i[p].size;const c=B(t,e),o=B(t,e);if(o>=d)throw new Error("Wrong PIZ_COMPRESSION BITMAP_SIZE");if(c<=o)for(let p=0;p<o-c+1;p++)r[p+c]=Z(t,e);const a=new Uint16Array(H),u=Zn(r,a),h=m(t,e);qn(n.array,t,e,h,l,s);for(let p=0;p<n.channels;++p){const y=i[p];for(let f=0;f<i[p].size;++f)$n(l,y.start+f,y.nx,y.size,y.ny,y.nx*y.size,u)}Jn(a,l,s);let v=0;const b=new Uint8Array(l.buffer.byteLength);for(let p=0;p<n.lines;p++)for(let y=0;y<n.channels;y++){const f=i[y],w=f.nx*f.size,g=new Uint8Array(l.buffer,f.end*M,w*M);b.set(g,v),v+=w*M,f.end+=w}return new DataView(b.buffer)}var x;(function(n){n[n.Float=0]="Float",n[n.HalfFloat=1]="HalfFloat"})(x||(x={}));class F{}F.DefaultOutputType=x.HalfFloat;F.FFLATEUrl="https://unpkg.com/[email protected]";async function En(n,t,e,l){const r={size:0,viewer:t,array:new Uint8Array(t.buffer),offset:e,width:n.dataWindow.xMax-n.dataWindow.xMin+1,height:n.dataWindow.yMax-n.dataWindow.yMin+1,channels:n.channels.length,channelLineOffsets:{},scanOrder:()=>0,bytesPerLine:0,outLineWidth:0,lines:0,scanlineBlockSize:0,inputSize:null,type:0,uncompress:null,getter:()=>0,format:5,outputChannels:0,decodeChannels:{},blockCount:null,byteArray:null,linearSpace:!1,textureType:0};switch(n.compression){case U.NO_COMPRESSION:r.lines=1,r.uncompress=Sn;break;case U.RLE_COMPRESSION:r.lines=1,r.uncompress=jn;break;case U.ZIPS_COMPRESSION:r.lines=1,r.uncompress=ln,await G.LoadScriptAsync(F.FFLATEUrl);break;case U.ZIP_COMPRESSION:r.lines=16,r.uncompress=ln,await G.LoadScriptAsync(F.FFLATEUrl);break;case U.PIZ_COMPRESSION:r.lines=32,r.uncompress=dn;break;case U.PXR24_COMPRESSION:r.lines=16,r.uncompress=Vn,await G.LoadScriptAsync(F.FFLATEUrl);break;default:throw new Error(U[n.compression]+" is unsupported")}r.scanlineBlockSize=r.lines;const s={};for(const a of n.channels)switch(a.name){case"R":case"G":case"B":case"A":s[a.name]=!0,r.type=a.pixelType;break;case"Y":s[a.name]=!0,r.type=a.pixelType;break}let i=!1;if(s.R&&s.G&&s.B&&s.A)r.outputChannels=4,r.decodeChannels={R:0,G:1,B:2,A:3};else if(s.R&&s.G&&s.B)i=!0,r.outputChannels=4,r.decodeChannels={R:0,G:1,B:2,A:3};else if(s.R&&s.G)r.outputChannels=2,r.decodeChannels={R:0,G:1};else if(s.R)r.outputChannels=1,r.decodeChannels={R:0};else if(s.Y)r.outputChannels=1,r.decodeChannels={Y:0};else throw new Error("EXRLoader.parse: file contains unsupported data channels.");if(r.type===1)switch(l){case x.Float:r.getter=Rn,r.inputSize=M;break;case x.HalfFloat:r.getter=B,r.inputSize=M;break}else if(r.type===2)switch(l){case x.Float:r.getter=I,r.inputSize=X;break;case x.HalfFloat:r.getter=Un,r.inputSize=X}else throw new Error("Unsupported pixelType "+r.type+" for "+n.compression);r.blockCount=r.height/r.scanlineBlockSize;for(let a=0;a<r.blockCount;a++)xn(t,e);const c=r.width*r.height*r.outputChannels;switch(l){case x.Float:r.byteArray=new Float32Array(c),r.textureType=1,i&&r.byteArray.fill(1,0,c);break;case x.HalfFloat:r.byteArray=new Uint16Array(c),r.textureType=2,i&&r.byteArray.fill(15360,0,c);break;default:throw new Error("Unsupported type: "+l)}let o=0;for(const a of n.channels)r.decodeChannels[a.name]!==void 0&&(r.channelLineOffsets[a.name]=o*r.width),o+=a.pixelType*2;
1return r.bytesPerLine=r.width*o,r.outLineWidth=r.width*r.outputChannels,n.lineOrder==="INCREASING_Y"?r.scanOrder=a=>a:r.scanOrder=a=>r.height-1-a,r.outputChannels==4?(r.format=5,r.linearSpace=!0):(r.format=6,r.linearSpace=!1),r}function vn(n,t,e,l){const r={value:0};for(let s=0;s<n.height/n.scanlineBlockSize;s++){const i=R(e,l)-t.dataWindow.yMin;n.size=m(e,l),n.lines=i+n.scanlineBlockSize>n.height?n.height-i:n.scanlineBlockSize;const o=n.size<n.lines*n.bytesPerLine&&n.uncompress?n.uncompress(n):Sn(n);l.value+=n.size;for(let a=0;a<n.scanlineBlockSize;a++){const u=s*n.scanlineBlockSize,h=a+n.scanOrder(u);if(h>=n.height)continue;const v=a*n.bytesPerLine,b=(n.height-1-h)*n.outLineWidth;for(let p=0;p<n.channels;p++){const y=t.channels[p].name,f=n.channelLineOffsets[y],w=n.decodeChannels[y];if(w!==void 0){r.value=v+f;for(let g=0;g<n.width;g++){const A=b+g*n.outputChannels+w;n.byteArray&&(n.byteArray[A]=n.getter(o,r))}}}}}}class tt{constructor(){this.supportCascades=!1}loadCubeData(t,e,l,r,s){throw".exr not supported in Cube."}loadData(t,e,l){const r=new DataView(t.buffer),s={value:0},i=hn(r,s);En(i,r,s,F.DefaultOutputType).then(c=>{vn(c,i,r,s);const o=i.dataWindow.xMax-i.dataWindow.xMin+1,a=i.dataWindow.yMax-i.dataWindow.yMin+1;l(o,a,e.generateMipMaps,!1,()=>{const u=e.getEngine();e.format=i.format,e.type=c.textureType,e.invertY=!1,e._gammaSpace=!i.linearSpace,c.byteArray&&u._uploadDataToTextureDirectly(e,c.byteArray,0,0,void 0,!0)})}).catch(c=>{z.Error("Failed to load EXR texture: ",c)})}}async function et(n){const t=new DataView(n),e={value:0},l=hn(t,e);try{const r=await En(l,t,e,x.Float);return vn(r,l,t,e),r.byteArray?{width:l.dataWindow.xMax-l.dataWindow.xMin+1,height:l.dataWindow.yMax-l.dataWindow.yMin+1,data:new Float32Array(r.byteArray)}:(z.Error("Failed to decode EXR data: No byte array available."),{width:0,height:0,data:null})}catch(r){z.Error("Failed to load EXR data: ",r)}return{width:0,height:0,data:null}}export{et as ReadExrDataAsync,tt as _ExrTextureLoader};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.