vendor: 4,767 bytes, lines 1-2
1/*! For license information please see 4808.313484ff.chunk.js.LICENSE.txt */ 2(globalThis.webpackChunk_jbrowse_web=globalThis.webpackChunk_jbrowse_web||[]).push([[4808],{12363:(e,A,t)=>{var r,n,s,o,i;r=t(93647),n=t(14579).utf8,s=t(80962),o=t(14579).bin,(i=function(e,A){e.constructor==String?e=A&&"binary"===A.encoding?o.stringToBytes(e):n.stringToBytes(e):s(e)?e=Array.prototype.slice.call(e,0):Array.isArray(e)||e.constructor===Uint8Array||(e=e.toString());for(var t=r.bytesToWords(e),a=8*e.length,g=1732584193,c=-271733879,C=-1732584194,I=271733878,h=0;h<t.length;h++)t[h]=16711935&(t[h]<<8|t[h]>>>24)|4278255360&(t[h]<<24|t[h]>>>8);t[a>>>5]|=128<<a%32,t[14+(a+64>>>9<<4)]=a;var d=i._ff,f=i._gg,l=i._hh,u=i._ii;for(h=0;h<t.length;h+=16){var B=g,Q=c,E=C,w=I;g=d(g,c,C,I,t[h+0],7,-680876936),I=d(I,g,c,C,t[h+1],12,-389564586),C=d(C,I,g,c,t[h+2],17,606105819),c=d(c,C,I,g,t[h+3],22,-1044525330),g=d(g,c,C,I,t[h+4],7,-176418897),I=d(I,g,c,C,t[h+5],12,1200080426),C=d(C,I,g,c,t[h+6],17,-1473231341),c=d(c,C,I,g,t[h+7],22,-45705983),g=d(g,c,C,I,t[h+8],7,1770035416),I=d(I,g,c,C,t[h+9],12,-1958414417),C=d(C,I,g,c,t[h+10],17,-42063),c=d(c,C,I,g,t[h+11],22,-1990404162),g=d(g,c,C,I,t[h+12],7,1804603682),I=d(I,g,c,C,t[h+13],12,-40341101),C=d(C,I,g,c,t[h+14],17,-1502002290),g=f(g,c=d(c,C,I,g,t[h+15],22,1236535329),C,I,t[h+1],5,-165796510),I=f(I,g,c,C,t[h+6],9,-1069501632),C=f(C,I,g,c,t[h+11],14,643717713),c=f(c,C,I,g,t[h+0],20,-373897302),g=f(g,c,C,I,t[h+5],5,-701558691),I=f(I,g,c,C,t[h+10],9,38016083),C=f(C,I,g,c,t[h+15],14,-660478335),c=f(c,C,I,g,t[h+4],20,-405537848),g=f(g,c,C,I,t[h+9],5,568446438),I=f(I,g,c,C,t[h+14],9,-1019803690),C=f(C,I,g,c,t[h+3],14,-187363961),c=f(c,C,I,g,t[h+8],20,1163531501),g=f(g,c,C,I,t[h+13],5,-1444681467),I=f(I,g,c,C,t[h+2],9,-51403784),C=f(C,I,g,c,t[h+7],14,1735328473),g=l(g,c=f(c,C,I,g,t[h+12],20,-1926607734),C,I,t[h+5],4,-378558),I=l(I,g,c,C,t[h+8],11,-2022574463),C=l(C,I,g,c,t[h+11],16,1839030562),c=l(c,C,I,g,t[h+14],23,-35309556),g=l(g,c,C,I,t[h+1],4,-1530992060),I=l(I,g,c,C,t[h+4],11,1272893353),C=l(C,I,g,c,t[h+7],16,-155497632),c=l(c,C,I,g,t[h+10],23,-1094730640),g=l(g,c,C,I,t[h+13],4,681279174),I=l(I,g,c,C,t[h+0],11,-358537222),C=l(C,I,g,c,t[h+3],16,-722521979),c=l(c,C,I,g,t[h+6],23,76029189),g=l(g,c,C,I,t[h+9],4,-640364487),I=l(I,g,c,C,t[h+12],11,-421815835),C=l(C,I,g,c,t[h+15],16,530742520),g=u(g,c=l(c,C,I,g,t[h+2],23,-995338651),C,I,t[h+0],6,-198630844),I=u(I,g,c,C,t[h+7],10,1126891415),C=u(C,I,g,c,t[h+14],15,-1416354905),c=u(c,C,I,g,t[h+5],21,-57434055),g=u(g,c,C,I,t[h+12],6,1700485571),I=u(I,g,c,C,t[h+3],10,-1894986606),C=u(C,I,g,c,t[h+10],15,-1051523),c=u(c,C,I,g,t[h+1],21,-2054922799),g=u(g,c,C,I,t[h+8],6,1873313359),I=u(I,g,c,C,t[h+15],10,-30611744),C=u(C,I,g,c,t[h+6],15,-1560198380),c=u(c,C,I,g,t[h+13],21,1309151649),g=u(g,c,C,I,t[h+4],6,-145523070),I=u(I,g,c,C,t[h+11],10,-1120210379),C=u(C,I,g,c,t[h+2],15,718787259),c=u(c,C,I,g,t[h+9],21,-343485551),g=g+B>>>0,c=c+Q>>>0,C=C+E>>>0,I=I+w>>>0}return r.endian([g,c,C,I])})._ff=function(e,A,t,r,n,s,o){var i=e+(A&t|~A&r)+(n>>>0)+o;return(i<<s|i>>>32-s)+A},i._gg=function(e,A,t,r,n,s,o){var i=e+(A&r|t&~r)+(n>>>0)+o;return(i<<s|i>>>32-s)+A},i._hh=function(e,A,t,r,n,s,o){var i=e+(A^t^r)+(n>>>0)+o;return(i<<s|i>>>32-s)+A},i._ii=function(e,A,t,r,n,s,o){var i=e+(t^(A|~r))+(n>>>0)+o;return(i<<s|i>>>32-s)+A},i._blocksize=16,i._digestsize=16,e.exports=function(e,A){if(null==e)throw new Error("Illegal argument "+e);var t=r.wordsToBytes(i(e,A));return A&&A.asBytes?t:A&&A.asString?o.bytesToString(t):r.bytesToHex(t)}},14579:e=>{var A={utf8:{stringToBytes:function(e){return A.bin.stringToBytes(unescape(encodeURIComponent(e)))},bytesToString:function(e){return decodeURIComponent(escape(A.bin.bytesToString(e)))}},bin:{stringToBytes:function(e){for(var A=[],t=0;t<e.length;t++)A.push(255&e.charCodeAt(t));return A},bytesToString:function(e){for(var A=[],t=0;t<e.length;t++)A.push(String.fromCharCode(e[t]));return A.join("")}}};e.exports=A},17454:(e,A,t)=>{"use strict";t.d(A,{A:()=>n});let r=[0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,39
204427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117];"undefined"!=typeof Int32Array&&(r=new Int32Array(r));const n=(e,A)=>{let t=0===A?0:-1^A;for(let A=0;A<e.length;A++)t=r[255&(t^e[A])]^t>>>8;return-1^t}},24808:(e,A,t)=>{"use strict";t.d(A,{Wb:()=>aA,bQ:()=>gA});const r=1,n=2,s=4,o=8,i=1,a=2,g=4,c=8,C=16,I=32,h=64,d=128,f=256,l=512,u=1024,B=2048,Q={a:0,A:0,c:1,C:1,g:2,G:2,t:3,T:3,n:4,N:4};function E(e){const A={};for(const[t,r]of e)A[`is${r}`]=e=>!!(e&t),A[`set${r}`]=e=>e|t;return A}const w=E([[1,"Paired"],[2,"ProperlyPaired"],[4,"SegmentUnmapped"],[8,"MateUnmapped"],[16,"ReverseComplemented"],[32,"MateReverseComplemented"],[64,"Read1"],[128,"Read2"],[256,"Secondary"],[512,"FailedQc"],[1024,"Duplicate"],[2048,"Supplementary"]]),m=E([[1,"PreservingQualityScores"],[2,"Detached"],[4,"WithMateDownstream"],[8,"DecodeSequenceAsStar"]]),y=E([[1,"OnNegativeStrand"],[2,"Unmapped"]]);class p{constructor({flags:e,cramFlags:A,readLength:t,mappingQuality:r,lengthOnRef:n,qualityScores:s,mateRecordNumber:o,readBases:i,readFeatures:a,mateToUse:g,readGroupId:c,readName:C,sequenceId:I,uniqueId:h,templateSize:d,alignmentStart:f,tags:l}){this.flags=e,this.cramFlags=A,this.readLength=t,this.mappingQuality=r,this.lengthOnRef=n,this.qualityScores=s,i&&(this.readBases=i),this.readGroupId=c,this.readName=C,this.sequenceId=I,this.uniqueId=h,this.templateSize=d,this.alignmentStart=f,this.tags=l,a&&(this.readFeatures=a),g&&(this.mate={flags:g.mateFlags,readName:g.mateReadName,sequenceId:g.mateSequenceId,alignmentStart:g.mateAlignmentStart}),o&&(this.mateRecordNumber=o)}isPaired(){return!!(this.flags&i)}isProperlyPaired(){return!!(this.flags&a)}isSegmentUnmapped(){return!!(this.flags&g)}isMateUnmapped(){return!!(this.flags&c)}isReverseComplemented(){return!!(this.flags&C)}isMateReverseComplemented(){return!!(this.flags&I)}isRead1(){return!!(this.flags&h)}isRead2(){return!!(this.flags&d)}isSecondary(){return!!(this.flags&f)}isFailedQc(){return!!(this.flags&l)}isDuplicate(){return!!(this.flags&u)}isSupplementary(){return!!(this.flags&B)}isDetached(){return!!(this.cramFlags&n)}hasMateDownStream(){return!!(this.cramFlags&s)}isPreservingQualityScores(){return!!(this.cramFlags&r)}isUnknownBases(){return!!(this.cramFlags&o)}getReadBases(){if(!this.readBases&&this._refRegion){const e=function(e,A){if(!e.lengthOnRef&&!e.readLength)return null;if(e.isUnknownBases())return null;const t=e.alignmentStart-A.start;
2if(!e.readFeatures)return A.seq.slice(t,t+(e.lengthOnRef||0)).toUpperCase();let r="",n=t,s=0;for(;r.length<e.readLength;)if(s<e.readFeatures.length){const t=e.readFeatures[s];if("Q"===t.code||"q"===t.code)s+=1;else if(t.pos===r.length+1)if(s+=1,"b"===t.code){const e=t.data;r+=e,n+=e.length}else"B"===t.code?(r+=t.data[0],n+=1):"X"===t.code?(r+=t.sub,n+=1):"I"===t.code?r+=t.data:"D"===t.code?n+=t.data:"i"===t.code?r+=t.data:"N"===t.code?n+=t.data:"S"===t.code?r+=t.data:"P"===t.code||t.code;else if(s<e.readFeatures.length){const e=A.seq.slice(n,n+t.pos-r.length-1);r+=e,n+=e.length}}else{const t=A.seq.slice(n,n+e.readLength-r.length);r+=t,n+=t.length}return r.toUpperCase()}(this,this._refRegion);e&&(this.readBases=e)}return this.readBases}getPairOrientation(){if(!this.isSegmentUnmapped()&&this.isPaired()&&!this.isMateUnmapped()&&this.mate&&this.sequenceId===this.mate.sequenceId){const e=this.isReverseComplemented()?"R":"F",A=this.isMateReverseComplemented()?"R":"F";let t=" ",r=" ";this.isRead1()?(t="1",r="2"):this.isRead2()&&(t="2",r="1");const n=[];let s=this.templateLength||this.templateSize;if(void 0===s)throw new Error("One of templateSize and templateLength must be set");return this.alignmentStart>this.mate.alignmentStart&&s>0&&(s=-s),s>0?(n[0]=e,n[1]=t,n[2]=A,n[3]=r):(n[2]=e,n[3]=t,n[0]=A,n[1]=r),n.join("")}return null}addReferenceSequence(e,A){this.readFeatures&&this.readFeatures.forEach(t=>{"X"===t.code&&function(e,A,t,r){const n=r.refPos-A.start,s=A.seq.charAt(n);s&&(r.ref=s);let o=Q[s];void 0===o&&(o=4);const i=t.substitutionMatrix[o][r.data];i&&(r.sub=i)}(0,e,A,t)}),!this.readBases&&e.start<=this.alignmentStart&&e.end>=this.alignmentStart+(this.lengthOnRef||this.readLength)-1&&(this._refRegion=e)}toJSON(){const e={};return Object.keys(this).forEach(A=>{A.startsWith("_")||(e[A]=this[A])}),e.readBases=this.getReadBases(),e}}var D=t(17454),S=t(16308),R=t(41967);class b extends Error{}class k extends Error{}class N extends b{}class F extends b{}const q=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"],L=new Array(256);for(let e=0;e<256;e++)L[e]=`${q[e>>>4&15]}${q[15&e]}`;const M=[0,1,3,7,15,31,63,127,255];class v{constructor(e){this.stream=e,this.bitOffset=0,this.curByte=0,this.hasByte=!1}_ensureByte(){this.hasByte||(this.curByte=this.stream.readByte(),this.hasByte=!0)}read(e){let A=0;for(;e>0;){this._ensureByte();const t=8-this.bitOffset;if(e>=t)A<<=t,A|=M[t]&this.curByte,this.hasByte=!1,this.bitOffset=0,e-=t;else{A<<=e;const r=t-e;A|=(this.curByte&M[e]<<r)>>r,this.bitOffset+=e,e=0}}return A}seek(e){const A=e%8,t=(e-A)/8;this.bitOffset=A,this.stream.seek(t),this.hasByte=!1}pi(){const e=new Uint8Array(6);for(let A=0;A<e.length;A++)e[A]=this.read(8);return function(e){let A="";for(let t=0,r=e.length;t<r;t++)A+=L[e[t]];return A}(e)}}const U=new Uint32Array([0,79764919,159529838,222504665,319059676,398814059,445009330,507990021,638119352,583659535,797628118,726387553,890018660,835552979,1015980042,944750013,1276238704,1221641927,1167319070,1095957929,1595256236,1540665371,1452775106,1381403509,1780037320,1859660671,1671105958,1733955601,2031960084,2111593891,1889500026,1952343757,2552477408,2632100695,2443283854,2506133561,2334638140,2414271883,2191915858,2254759653,3190512472,3135915759,3081330742,3009969537,2905550212,2850959411,2762807018,2691435357,3560074640,3505614887,3719321342,3648080713,3342211916,3287746299,3467911202,3396681109,4063920168,4143685023,4223187782,4286162673,3779000052,3858754371,3904687514,3967668269,881225847,809987520,1023691545,969234094,662832811,591600412,771767749,717299826,311336399,374308984,453813921,533576470,25881363,88864420,134795389,214552010,2023205639,2086057648,1897238633,1976864222,1804852699,1867694188,1645340341,1724971778,1587496639,1516133128,1461550545,1406951526,1302016099,1230646740,1142491917,1087903418,2896545431,2825181984,2770861561,2716262478,3215044683,3143675388,3055782693,3001194130,2326604591,2389456536,2200899649,2280525302,2578013683,2640855108,2418763421,2498394922,3769900519,3832873040,3912640137,3992402750,4088425275,4151408268,4197601365,4277358050,3334271071,3263032808,3476998961,3422541446,3585640067,3514407732,3694837229,3640369242,1762451694,1842216281,1619975040,1682949687,2047383090,2127137669,1938468188,2001449195,1325665622,1271206113,1183200824,1111960463,1543535498,1489069629,1434599652,1363369299,622672798,568075817,748617968,677256519,907627842,853037301,1067152940,995781531,51762726,13138625
27,177728840,240578815,269590778,349224269,429104020,491947555,4046411278,4126034873,4172115296,4234965207,3794477266,3874110821,3953728444,4016571915,3609705398,3555108353,3735388376,3664026991,3290680682,3236090077,3449943556,3378572211,3174993278,3120533705,3032266256,2961025959,2923101090,2868635157,2813903052,2742672763,2604032198,2683796849,2461293480,2524268063,2284983834,2364738477,2175806836,2238787779,1569362073,1498123566,1409854455,1355396672,1317987909,1246755826,1192025387,1137557660,2072149281,2135122070,1912620623,1992383480,1753615357,1816598090,1627664531,1707420964,295390185,358241886,404320391,483945776,43990325,106832002,186451547,266083308,932423249,861060070,1041341759,986742920,613929101,542559546,756411363,701822548,3316196985,3244833742,3425377559,3370778784,3601682597,3530312978,3744426955,3689838204,3819031489,3881883254,3928223919,4007849240,4037393693,4100235434,4180117107,4259748804,2310601993,2373574846,2151335527,2231098320,2596047829,2659030626,2470359227,2550115596,2947551409,2876312838,2788305887,2733848168,3165939309,3094707162,3040238851,2985771188]);class _{constructor(){this.crc=4294967295}getCRC(){return~this.crc>>>0}updateCRC(e){this.crc=this.crc<<8^U[255&(this.crc>>>24^e)]}updateCRCRun(e,A){for(;A-- >0;)this.crc=this.crc<<8^U[255&(this.crc>>>24^e)]}}class x{readByte(){throw new Error("abstract method readByte() not implemented")}read(e,A,t){let r=0;for(;r<t;){const t=this.readByte();if(t<0)return 0===r?-1:r;e[A++]=t,r++}return r}writeByte(e){throw new Error("abstract method readByte() not implemented")}seek(e){throw new Error("abstract method seek() not implemented")}write(e,A,t){let r;for(r=0;r<t;r++)this.writeByte(e[A++]);return t}flush(){}}const J=function(e,A){const t=e[A];for(let t=A;t>0;t--)e[t]=e[t-1];return e[0]=t,t},H=-5,Y={"-1":"Bad file checksum","-2":"Not bzip data","-3":"Unexpected input EOF","-4":"Unexpected output EOF","-5":"Data error","-6":"Out of memory","-7":"Obsolete (pre 0.9.5) bzip format not supported."},G=function(e,A){let t=Y[e]||"unknown error";A&&(t+=": "+A);const r=new TypeError(t);throw r.errorCode=e,r};class P{constructor(e,A){this.writePos=this.writeCurrent=this.writeCount=0,this._start_bunzip(e,A)}_init_block(){return this._get_next_block()?(this.blockCRC=new _,!0):(this.writeCount=-1,!1)}_start_bunzip(e,A){const t=new Uint8Array(4);4===e.read(t,0,4)&&"BZh"===String.fromCharCode(t[0],t[1],t[2])||G(-2,"bad magic");const r=t[3]-48;(r<1||r>9)&&G(-2,"level out of range"),this.reader=new v(e),this.dbufSize=1e5*r,this.nextoutput=0,this.outputStream=A,this.streamCRC=0}_get_next_block(){let e,A,t;const r=this.reader,n=r.pi();if("177245385090"===n)return!1;"314159265359"!==n&&G(-2),this.targetBlockCRC=r.read(32)>>>0,this.streamCRC=(this.targetBlockCRC^(this.streamCRC<<1|this.streamCRC>>>31))>>>0,r.read(1)&&G(-7);const s=r.read(24);s>this.dbufSize&&G(H,"initial position out of bounds");let o=r.read(16),i=new Uint8Array(256),a=0;for(e=0;e<16;e++)if(o&1<<15-e){const n=16*e;for(t=r.read(16),A=0;A<16;A++)t&1<<15-A&&(i[a++]=n+A)}const g=r.read(3);(g<2||g>6)&&G(H);const c=r.read(15);0===c&&G(H);const C=new Uint8Array(256);for(e=0;e<g;e++)C[e]=e;const I=new Uint8Array(c);for(e=0;e<c;e++){for(A=0;r.read(1);A++)A>=g&&G(H);I[e]=J(C,A)}let h,d=a+2,f=[];for(A=0;A<g;A++){const A=new Uint8Array(d),t=new Uint16Array(21);for(o=r.read(5),e=0;e<d;e++){for(;(o<1||o>20)&&G(H),r.read(1);)r.read(1)?o--:o++;A[e]=o}var l,u;for(l=u=A[0],e=1;e<d;e++)A[e]>u?u=A[e]:A[e]<l&&(l=A[e]);h={},f.push(h),h.permute=new Uint16Array(258),h.limit=new Uint32Array(22),h.base=new Uint32Array(21),h.minLen=l,h.maxLen=u;let n=0;for(e=l;e<=u;e++)for(t[e]=h.limit[e]=0,o=0;o<d;o++)A[o]===e&&(h.permute[n++]=o);for(e=0;e<d;e++)t[A[e]]++;for(n=o=0,e=l;e<u;e++)n+=t[e],h.limit[e]=n-1,n<<=1,o+=t[e],h.base[e+1]=n-o;h.limit[u+1]=Number.MAX_VALUE,h.limit[u]=n+t[u]-1,h.base[l]=0}const B=new Uint32Array(256);for(e=0;e<256;e++)C[e]=e;let Q,E=0,w=0,m=0;const y=this.dbuf=new Uint32Array(this.dbufSize);for(d=0;;){for(d--||(d=49,m>=c&&G(H),h=f[I[m++]]),e=h.minLen,A=r.read(e);e>h.maxLen&&G(H),!(A<=h.limit[e]);e++)A=A<<1|r.read(1);A-=h.base[e],(A<0||A>=258)&&G(H);const t=h.permute[A];if(0!==t&&1!==t){if(E)for(E=0,w+o>this.dbufSize&&G(H),Q=i[C[0]],B[Q]+=o;o--;)y[w++]=Q;if(t>a)break;w>=this.dbufSize&&G(H),e=t-1,Q=J(C,e),Q=i[Q],B[Q]++,y[w++]=Q}else E||(E=1,o=0),o+=0===t?E:2*E,E<<=1}for((s<0||s>=w)&&G(H),A=0,e=0;e<256;e++)t=A+B[e],B[e]=A,A=t;for(e=0;e<w;e++)Q=255&y[e],y[B[Q]]|=e<<8,B[Q]++;let p=0,D=0,S=0;return w&&(p=y[s],D=255&p,p>>=8,S=-1),this.writePos=p,this.writeCurrent=D,this.writeCount=w,this.writeRun=S,!0}_read_bunzip(e,A){let t,r,n;if(this.writeCount<0)return 0;let s=this.dbuf,o=this.writePos,i=this.writeCurrent,a=this.writeCount,g=(this.outputsize,this.writeRun);for(;a;){for(a--,r=i,o=s[o],i=255&o,o>>=8,3===g++?(t=i,n=r,i=-1):(t=1,n=i),this.blockCRC.updateCRCRun(n,t);t--;)this.outputStream.writeByte(n),this.nextoutput++;i!=r&&(g=0)}return this.writeCount=a,this.blockCRC.getCRC()!==this.targetBlockCRC&&G(H,"Bad block CRC (got "+this.blockCRC.getCRC().toString(16)+" expected "+this.targetBlockCRC.toString(16)+")"),this.nextoutput}}function K(e,A,t){const r=function(e){if("readByte"in e)return e;const A=new x;return A.pos=0,A.readByte=function(){return e[this.pos++]},A.seek=function(e){this.pos=e},A.eof=function(){return this.pos>=e.length},A}(e),n=function(e){const A=new x;let t=!0;if(e)if("number"==typeof e)A.buffer=new Uint8Array(e),t=!1;else{if("writeByte"in e)return e;A.buffer=e,t=!1}else A.buffer=new Uint8Array(16384);return A.pos=0,A.writeByte=function(e){if(t&&this.pos>=this.buffer.length){const e=new Uint8Array(2*this.buffer.length);e.set(this.buffer),this.buffer=e}this.buffer[this.pos++]=e},A.getBuffer=function(){if(this.pos!==this.buffer.length){if(!t)throw new TypeError("outputsize does not match decoded input");const e=new Uint8Array(this.pos);e.set(this.buffer.slice(0,this.pos)),this.buffer=e}return this.buffer},A._coerced=!0,A}(A),s=new P(r,n);for(;!("eof"in r)||!r.eof();)if(s._init_block())s._read_bunzip();else{const e=s.reader.read(32)>>>0;if(e!==s.streamCRC&&G(H,"Bad stream CRC (got "+s.streamCRC.toString(16)+" expected "+e.toString(16)+")"),!t||!("eof"in r)||r.eof())break;s._start_bunzip(r,n)}if("getBuffer"in n)return n.getBuffer()}class T{constructor(e){this.low=0,this.range=4294967295,this.code=0,this.FFnum=0,this.carry=0,this.cache=0}RangeStartDecode(e){for(let A=0;A<5;A++)this.code=(this.code<<8)+e.ReadByte();
2this.code&=4294967295,this.code>>>=0}RangeGetFrequency(e){return this.range=Math.floor(this.range/e),Math.floor(this.code/this.range)}RangeDecode(e,A,t,r){for(this.code-=A*this.range,this.range*=t;this.range<1<<24;)this.range*=256,this.code=256*this.code+e.ReadByte()}RangeShiftLow(e){if(this.low<4278190080|this.carry){for(e.WriteByte(this.cache+this.carry);this.FFnum;)e.WriteByte(this.carry-1),this.FFnum--;this.cache=this.low>>>24,this.carry=0}else this.FFnum++;this.low<<=8,this.low>>>=0}RangeEncode(e,A,t,r){const n=this.low;for(this.range=Math.floor(this.range/r),this.low+=A*this.range,this.low>>>=0,this.range*=t,this.low<n&&(0!=this.carry&&console.log("ERROR: Multiple carry"),this.carry=1);this.range<1<<24;)this.range*=256,this.RangeShiftLow(e)}RangeFinishEncode(e){for(let A=0;A<5;A++)this.RangeShiftLow(e)}}class z{constructor(e=256){this.total_freq=e,this.max_sym=e-1,this.S=[],this.F=[];for(let e=0;e<=this.max_sym;e++)this.S[e]=e,this.F[e]=1}ModelDecode(e,A){const t=A.RangeGetFrequency(this.total_freq);let r=0,n=0;for(;r+this.F[n]<=t;)r+=this.F[n++];A.RangeDecode(e,r,this.F[n],this.total_freq),this.F[n]+=16,this.total_freq+=16,this.total_freq>65519&&this.ModelRenormalise();const s=this.S[n];if(n>0&&this.F[n]>this.F[n-1]){let e=this.F[n];this.F[n]=this.F[n-1],this.F[n-1]=e,e=this.S[n],this.S[n]=this.S[n-1],this.S[n-1]=e}return s}ModelRenormalise(){this.total_freq=0;for(let e=0;e<=this.max_sym;e++)this.F[e]-=Math.floor(this.F[e]/2),this.total_freq+=this.F[e]}ModelEncode(e,A,t){let r=0;for(var n=0;this.S[n]!=t;n++)r+=this.F[n];if(A.RangeEncode(e,r,this.F[n],this.total_freq),this.F[n]+=16,this.total_freq+=16,this.total_freq>65519&&this.ModelRenormalise(),t=this.S[n],n>0&&this.F[n]>this.F[n-1]){let e=this.F[n];this.F[n]=this.F[n-1],this.F[n-1]=e,e=this.S[n],this.S[n]=this.S[n-1],this.S[n-1]=e}}}class O{constructor(e,A=0,t=0){0!==t?(this.buf=new Uint8Array(t),this.length=t):(this.buf=e,this.length=e.length),this.dataView=new DataView(this.buf.buffer),this.pos=A}EOF(){return this.pos>=this.length}ReadData(e){const A=this.buf.slice(this.pos,this.pos+e);return this.pos+=e,A}ReadByte(){const e=this.buf[this.pos];return this.pos++,e}ReadChar(){const e=this.buf[this.pos];return this.pos++,String.fromCharCode(e)}ReadUint16(){let e=this.ReadByte();return e|=this.ReadByte()<<8,e}ReadUint32(){const e=this.dataView.getInt32(this.pos,!0);return this.pos+=4,e}ReadString(){let e,A="";do{e=this.buf[this.pos++],e&&(A+=String.fromCharCode(e))}while(e);return A}ReadUint7(){let e,A=0;do{e=this.ReadByte(),A=A<<7|127&e}while(128&e);return A}ReadITF8(){let e=this.buf[this.pos];return this.pos++,e>=240?(e=(15&e)<<28,e+=(this.buf[this.pos+0]<<20)+(this.buf[this.pos+1]<<12)+(this.buf[this.pos+2]<<4)+(this.buf[this.pos+3]>>4),this.pos+=4):e>=224?(e=(15&e)<<24,e+=(this.buf[this.pos+0]<<16)+(this.buf[this.pos+1]<<8)+(0|this.buf[this.pos+2]),this.pos+=3):e>=192?(e=(31&e)<<16,e+=(this.buf[this.pos+0]<<8)+(0|this.buf[this.pos+1]),this.pos+=2):e>=128&&(e=(63&e)<<8,e+=this.buf[this.pos],this.pos++),e}}class V{decode(e){return this.stream=new O(e),this.decodeStream(this.stream)}decodeStream(e,A=0){const t=this.stream.ReadByte();16&t||(A=this.stream.ReadUint7());let r=A;const n=1&t;if(8&t)return this.decodeStripe(this.stream,A);var s;if(128&t&&([s,r]=this.decodePackMeta(this.stream)),32&t)var o=this.decodeCat(this.stream,r);else o=4&t?this.decodeExt(this.stream,r):64&t?n?this.decodeRLE1(this.stream,r):this.decodeRLE0(this.stream,r):n?this.decode1(this.stream,r):this.decode0(this.stream,r);return 128&t&&(o=this.decodePack(o,s,A)),o}decode0(e,A){const t=new Uint8Array(A);let r=e.ReadByte();0==r&&(r=256);const n=new z(r),s=new T(e);s.RangeStartDecode(e);for(let r=0;r<A;r++)t[r]=n.ModelDecode(e,s);return t}decode1(e,A){const t=new Uint8Array(A);let r=e.ReadByte();0==r&&(r=256);const n=new Array(r);for(var s=0;s<r;s++)n[s]=new z(r);const o=new T(e);o.RangeStartDecode(e);let i=0;for(s=0;s<A;s++)t[s]=n[i].ModelDecode(e,o),i=t[s];return t}decodeExt(e,A){return K(e.buf.slice(e.pos))}decodeRLE0(e,A){const t=new Uint8Array(A);let r=e.ReadByte();0==r&&(r=256);const n=new z(r),s=new Array(258);for(var o=0;o<=257;o++)s[o]=new z(4);const i=new T(e);for(i.RangeStartDecode(e),o=0;o<A;){t[o]=n.ModelDecode(e,i);let A=s[t[o]].ModelDecode(e,i),r=A,a=256;for(;3==A;)A=s[a].ModelDecode(e,i),a=257,r+=A;for(let e=1;e<=r;e++)t[o+e]=t[o];o+=r+1}return t}decodeRLE1(e,A){const t=new Uint8Array(A);let r=e.ReadByte();0==r&&(r=256);const n=new Array(r);for(var s=0;s<r;s++)n[s]=new z(r);const o=new Array(258);for(s=0;s<=257;s++)o[s]=new z(4);const i=new T(e);i.RangeStartDecode(e);let a=0;for(s=0;s<A;){t[s]=n[a].ModelDecode(e,i),a=t[s];let A=o[t[s]].ModelDecode(e,i),r=A,g=256;for(;3==A;)A=o[g].ModelDecode(e,i),g=257,r+=A;for(let e=1;e<=r;e++)t[s+e]=t[s];s+=r+1}return t}decodePackMeta(e){this.nsym=e.ReadByte();const A=new Array(this.nsym);for(let t=0;t<this.nsym;t++)A[t]=e.ReadByte();return[A,e.ReadUint7()]}
2decodePack(e,A,t){const r=new Uint8Array(t);if(this.nsym<=1)for(var n=0;n<t;n++)r[n]=A[0];else if(this.nsym<=2){n=0;for(var s=0;n<t;n++){if(n%8==0)var o=e[s++];r[n]=A[1&o],o>>=1}}else if(this.nsym<=4)for(n=0,s=0;n<t;n++)n%4==0&&(o=e[s++]),r[n]=A[3&o],o>>=2;else{if(!(this.nsym<=16))return e;for(n=0,s=0;n<t;n++)n%2==0&&(o=e[s++]),r[n]=A[15&o],o>>=4}return r}packMeta(e){const A=new O("",0,1024),t=new Array(256);for(var r=0;r<e.length;r++)t[e[r]]=1;var n=0;for(r=0;r<256;r++)t[r]&&(t[r]=++n);for(A.WriteByte(n),r=0;r<256;r++)t[r]&&(A.WriteByte(r),t[r]--);return[A,t,n]}decodeStripe(e,A){const t=e.ReadByte(),r=new Array(t),n=new Array(t);for(var s=0;s<t;s++)r[s]=e.ReadUint7();const o=new Array(t);for(s=0;s<t;s++)n[s]=Math.floor(A/t)+(A%t>s),o[s]=this.decodeStream(e,n[s]);const i=new Uint8Array(A);for(s=0;s<t;s++)for(let e=0;e<n[s];e++)i[e*t+s]=o[s][e];return i}decodeCat(e,A){const t=new Uint8Array(A);for(let r=0;r<A;r++)t[r]=e.ReadByte();return t}}function X(e,A,t){let r=0,n=0,s=-1;const o=new Array(1024);for(;n<t;){const A=e.ReadByte();if(o[r++]=A,n+=A,A==s){let t=e.ReadByte();for(n+=A*t;t--;)o[r++]=A}s=A}let i=0;for(r=0,n=0;n<t;){let e=0;do{var a=o[r++];e+=a}while(255==a);for(;e--;)A[n++]=i;i++}}function W(e,A,t){let r=e.context;return A.qctx=(A.qctx<<e.qshift)+e.qtab[t],r+=(A.qctx&(1<<e.qbits)-1)<<e.qloc,e.do_pos&&(r+=e.ptab[Math.min(A.p,1023)]<<e.ploc),e.do_delta&&(r+=e.dtab[Math.min(A.delta,255)]<<e.dloc,A.delta+=A.prevq!=t?1:0,A.prevq=t),e.do_sel&&(r+=A.s<<e.sloc),A.p--,65535&r}function j(e){const A={};A.context=e.ReadUint16(),A.pflags=e.ReadByte(),A.do_dedup=2&A.pflags,A.fixed_len=4&A.pflags,A.do_sel=8&A.pflags,A.do_qmap=16&A.pflags,A.do_pos=32&A.pflags,A.do_delta=64&A.pflags,A.do_qtab=128&A.pflags,A.max_sym=e.ReadByte();let t=e.ReadByte();if(A.qbits=t>>4,A.qshift=15&t,t=e.ReadByte(),A.qloc=t>>4,A.sloc=15&t,t=e.ReadByte(),A.ploc=t>>4,A.dloc=15&t,A.qmap=new Array(256),16&A.pflags)for(var r=0;r<A.max_sym;r++)A.qmap[r]=e.ReadByte();else for(r=0;r<256;r++)A.qmap[r]=r;if(A.qtab=new Array(1024),A.qbits>0&&128&A.pflags)X(e,A.qtab,256);else for(r=0;r<256;r++)A.qtab[r]=r;return A.ptab=new Array(1024),32&A.pflags&&X(e,A.ptab,1024),A.dtab=new Array(256),64&A.pflags&&X(e,A.dtab,256),A}function $(e,A,t,r,n,s){n.s=t.max_sel>0?r.sel.ModelDecode(e,A):0,n.x=t.stab[n.s];const o=t.params[n.x];if(o.fixed_len>=0){var i=r.len[0].ModelDecode(e,A);i|=r.len[1].ModelDecode(e,A)<<8,i|=r.len[2].ModelDecode(e,A)<<16,i|=r.len[3].ModelDecode(e,A)<<24,o.fixed_len>0&&(o.fixed_len=-i)}else i=-o.fixed_len;n.len=i,t.do_rev&&(s[n.rec]=r.rev.ModelDecode(e,A)),n.is_dup=0,2&o.pflags&&r.dup.ModelDecode(e,A)&&(n.is_dup=1),n.p=i,n.delta=0,n.qctx=0,n.prevq=0,n.rec++}function Z(e,A){return e&(1<<A)-1}function ee(e,A){let t=0;for(;A>=e[t+1];)t++;return t}function Ae(e,A){const t=1<<A,r=new Array(t);let n=0;for(let A=0;A<t;A++){for(;A>=e[n+1];)n++;r[A]=n}return r}function te(e,A,t,r){return t*(e>>r)+(e&(1<<r)-1)-A}function re(e,A){return A<32768&&(A=(A<<16)+e.ReadUint16()),A}function ne(e){return se(new O(e),0)}function se(e,A){const t=e.ReadByte(),r=1&t,n=8&t,s=32&t,o=64&t,i=128&t,a=4&t?32:4;if(16&t||(A=e.ReadUint7()),n)return function(e,A){const t=e.ReadByte(),r=new Array(t),n=new Array(t);for(var s=0;s<t;s++)r[s]=e.ReadUint7();const o=new Array(t);for(s=0;s<t;s++)n[s]=Math.floor(A/t)+(A%t>s),o[s]=se(e,n[s]);const i=new Uint8Array(A);for(s=0;s<t;s++)for(let e=0;e<n[s];e++)i[e*t+s]=o[s][e];return i}(e,A);if(i)var g=A,[c,C,A]=function(e){const A=e.ReadByte(),t=new Array(A);for(let r=0;r<A;r++)t[r]=e.ReadByte();return[t,A,e.ReadUint7()]}(e);if(o)var I=A,[h,d,A]=function(e,A){const t=e.ReadUint7(),r=e.ReadUint7();if(1&t)var n=e.ReadData((t-1)/2);else{const r=e.ReadUint7();n=e.ReadData(r),n=ie(new O(n),t/2,A)}n=new O(n);const s=new Array(256);let o=n.ReadByte();0==o&&(o=256);for(let e=0;e<o;e++)s[n.ReadByte()]=1;return[s,n,r]}(e,a);if(s)var f=e.ReadData(A);else f=0==r?ie(e,A,a):function(e,A,t){const r=(s=e.ReadByte())>>4;var n=e;if(1&s){const A=e.ReadUint7(),t=e.ReadUint7();var s=new O(e.ReadData(t));n=new O(ie(s,A,4))}const o=new Array(256),i=new Array(256);!function(e,A,t,r){for(var n=0;n<256;n++){A[n]=new Array(256),t[n]=new Array(256);for(var s=0;s<256;s++)A[n][s]=0}const o=oe(e);for(n=0;n<256;n++){if(!o[n])continue;let i=0;for(s=0;s<256;s++)o[s]&&(i>0?i--:(A[n][s]=e.ReadUint7(),0==A[n][s]&&(i=e.ReadByte())));for(ae(A[n],r),t[n][0]=0,s=0;s<256;s++)t[n][s+1]=t[n][s]+A[n][s]}}(n,o,i,r);const a=new Array(256);for(var g=0;g<256;g++)a[g]=Ae(i[g],r);const c=new Array(t),C=new Array(t);for(var I=0;I<t;I++)c[I]=e.ReadUint32(),C[I]=0;const h=new Uint8Array(A),d=Math.floor(A/t);for(g=0;g<d;g++)for(I=0;I<t;I++){var f=Z(c[I],r),l=a[C[I]][f];h[g+I*d]=l,c[I]=te(c[I],i[C[I]][l],o[C[I]][l],r),c[I]=re(e,c[I]),C[I]=l}for(g*=t;g<A;)f=Z(c[t-1],r),l=ee(i[C[t-1]],f),h[g++]=l,c[t-1]=te(c[t-1],i[C[t-1]][l],o[C[t-1]][l],r),c[t-1]=re(e,c[t-1]),C[t-1]=l;return h}(e,A,a);return o&&(f=function(e,A,t,r){new O(e);const n=new Uint8Array(r);let s=0;for(let o=0;s<r;o++){const r=e[o];if(A[r]){const e=t.ReadUint7();for(let A=0;A<=e;A++)n[s++]=r}else n[s++]=r}return n}(f,h,d,I)),i&&(f=function(e,A,t,r){const n=new Uint8Array(r);let s=0;if(t<=1)for(var o=0;o<r;o++)n[o]=A[0];else if(t<=2)for(o=0;o<r;o++){if(o%8==0)var i=e[s++];n[o]=A[1&i],i>>=1}else if(t<=4)for(o=0;o<r;o++)o%4==0&&(i=e[s++]),n[o]=A[3&i],i>>=2;else if(t<=16)for(o=0;o<r;o++)o%2==0&&(i=e[s++]),n[o]=A[15&i],i>>=4;return n}(f,c,C,g)),f}function oe(e){const A=new Array(256);for(let e=0;e<256;e++)A[e]=0;let t=0,r=e.ReadByte(),n=r;do{A[r]=1,t>0?(t--,r++):(r=e.ReadByte(),r==n+1&&(t=e.ReadByte())),n=r}while(0!=r);return A}function ie(e,A,t){const r=new Array(256),n=new Array(256);!function(e,A,t){for(var r=0;r<256;r++)A[r]=0;const n=oe(e);for(r=0;r<256;r++)n[r]>0&&(A[r]=e.ReadUint7());for(ae(A,12),t[0]=0,r=0;r<=255;r++)t[r+1]=t[r]+A[r]}(e,r,n);const s=Ae(n,12),o=new Array(t);for(var i=0;i<t;i++)o[i]=e.ReadUint32();const a=new Uint8Array(A);for(i=0;i<A;i++){const A=i&t-1,g=s[Z(o[A],12)];a[i]=g,o[A]=te(o[A],n[g],r[g],12),o[A]=re(e,o[A])}return a}function ae(e,A){let t=0;for(var r=0;r<256;r++)t+=e[r];if(0==t||t==1<<A)return;let n=0;for(;t<1<<A;)t*=2,n++;for(r=0;r<256;r++)e[r]<<=n}function ge(e){const A=new Uint8Array(function(e){let A=0;for(const t of e)A+=t.length;return A}(e));let t=0;for(const r of e)A.set(r,t),t+=r.length;return A}const ce=new V;function Ce(e,A){let t=e+"";for(;t.length<A;)t="0"+t;return t}function Ie(e,A,t,r){let n=e[0][0].ReadByte();const s=r-e[0][n].ReadUint32();if(5==n)return A[r]=A[s],t[r]=t[s],A[r];let o=1;A[r]="",t[r]=new Array(256);
2do{switch(n=e[o][0].ReadByte(),n){case 2:t[r][o]=e[o][2].ReadChar();break;case 1:t[r][o]=e[o][1].ReadString();break;case 7:t[r][o]=e[o][7].ReadUint32();break;case 3:var i=e[o][3].ReadUint32(),a=e[o][4].ReadByte();t[r][o]=Ce(i,a);break;case 8:t[r][o]=(0|t[s][o])+e[o][8].ReadByte();break;case 9:i=(0|t[s][o])+e[o][9].ReadByte(),a=t[s][o].length,t[r][o]=Ce(i,a);break;case 10:t[r][o]=t[s][o];break;default:t[r][o]=""}A[r]+=t[r][o++]}while(12!=n);return A[r]}function he(e){return function(e,A){const t=e.ReadUint7(),r=function(e){const A={max_sym:0};if(5!=e.ReadByte())return void console.error("Invalid FQZComp version number");const t=e.ReadByte(),r=1&t?e.ReadByte():1;let n=t.nparam>1?t.nparam-1:0;const s=new Array(256);if(2&t)n=e.ReadByte(),X(e,s,256);else{for(var o=0;o<r;o++)s[o]=o;for(;o<256;o++)s[o]=r-1}A.do_rev=4&t,A.stab=s,A.max_sel=n,A.params=new Array(A.nparam);for(let t=0;t<r;t++)A.params[t]=j(e),A.max_sym<A.params[t].max_sym&&(A.max_sym=A.params[t].max_sym);return A}(e);if(!r)return;var n=r.params;const s=new Array(A.length),o=function(e){const A={};A.qual=new Array(65536);for(var t=0;t<65536;t++)A.qual[t]=new z(e.max_sym+1);for(A.len=new Array(4),t=0;t<4;t++)A.len[t]=new z(256);return A.rev=new z(2),A.dup=new z(2),e.max_sel>0&&(A.sel=new z(e.max_sel+1)),A}(r),i=new T(e);i.RangeStartDecode(e);const a=new Uint8Array(t),g={qctx:0,prevq:0,delta:0,p:0,s:0,x:0,len:0,is_dup:0,rec:0};let c=0;for(;c<t;){if(0==g.p){if($(e,i,r,o,g,s),g.is_dup>0&&o.dup.ModelDecode(e,i)){for(let e=0;e<len;e++)a[c+e]=a[c+e-g.len];c+=g.len,g.p=0;continue}A.push(g.len);var C=(n=r.params[g.x]).context}const t=o.qual[C].ModelDecode(e,i);a[c++]=n.qmap[t],C=W(n,g,t)}return r.do_rev&&function(e,A,t,r){let n=0,s=0;for(;s<A;){if(t[n]){let A=0,t=r[n]-1;for(;A<t;){const r=e[s+A];e[s+A]=e[s+t],e[s+t]=r,A++,t--}}s+=r[n++]}}(a,t,s,A),a}(new O(e),[])}var de=t(58230),fe=t(25604);function le(e,A,t){if(t)return t;if(e)return new de.A(e);if(A)return new fe.EY(A);throw new Error("no url, path, or filehandle provided, cannot open")}const ue=12,Be=4096,Qe=1<<23;class Ee{constructor(){this.F=void 0,this.C=void 0}}function we(e,A,t,r){return t*(e>>r)+(e&(1<<r)-1)-A}const me={FC:Ee,AriDecoder:class{constructor(){this.fc=new Array(256);for(let e=0;e<this.fc.length;e+=1)this.fc[e]=new Ee;this.R=null}},DecodingSymbol:class{constructor(){this.start=void 0,this.freq=void 0}},symbolInit:function(e,A,t){if(!(A<=65536))throw new N("assertion failed: start <= 1<<16");if(!(t<=65536-A))throw new N("assertion failed: freq <= 1<<16");e.start=A,e.freq=t},advanceStep:we,advanceSymbolStep:function(e,A,t){return we(e,A.start,A.freq,t)},get:function(e,A){return e&(1<<A)-1},advanceSymbol:function(e,A,t,r){return function(e,A,t,r,n){if((e=r*(e>>n)+(e&(1<<n)-1)-t)<Qe)do{e=e<<8|255&A.get()}while(e<Qe);return e}(e,A,t.start,t.freq,r)},renormalize:function(e,A){if(e<Qe)do{e=e<<8|255&A.get()}while(e<Qe);return e}};function ye(e){if(!e)throw new N("assertion failed")}class pe{constructor(e,A=0){this._buffer=e,this._dataView=new DataView(e.buffer),this._position=A,this.length=e.length}get(){const e=this._buffer[this._position];return this._position+=1,e}getByte(){return this.get()}getByteAt(e){return this._buffer[e]}position(){return this._position}put(e){return this._buffer[this._position]=e,this._position+=1,e}putAt(e,A){return this._buffer[e]=A,A}setPosition(e){return this._position=e,e}getInt(){const e=this._dataView.getInt32(this._position,!0);return this._position+=4,e}remaining(){return this._buffer.length-this._position}}var De=t(57864);function Se(e){return(0,De.inflate)(e)}class Re extends Error{}function be(e,A,t){let r=0;if(A.bytePosition+(7-A.bitPosition+t)/8>e.length)throw new Re("read error during decoding. the file seems to be truncated.");for(let n=t;n;n--)r<<=1,r|=e[A.bytePosition]>>A.bitPosition&1,A.bitPosition-=1,A.bitPosition<0&&(A.bytePosition+=1),A.bitPosition&=7;return r}var ke=t(12363);const Ne=4294967296;function Fe(e,A){let t=A;const r=e[t];let n;return r<128?(n=r,t+=1):r<192?(n=(63&r)<<8|e[t+1],t+=2):r<224?(n=(31&r)<<16|e[t+1]<<8|e[t+2],t+=3):r<240?(n=(15&r)<<24|e[t+1]<<16|e[t+2]<<8|e[t+3],t+=4):(n=(15&r)<<28|e[t+1]<<20|e[t+2]<<12|e[t+3]<<4|15&e[t+4],t+=5),[n,t-A]}function qe(e,A){let t=A;const r=e[t];let n;return r<128?(n=r,t+=1):r<192?(n=16383&(r<<8|e[t+1]),t+=2):r<224?(n=(63&r)<<16|e[t+1]<<8|e[t+2],t+=3):r<240?(n=(31&r)<<24|e[t+1]<<16|e[t+2]<<8|e[t+3],t+=4):r<248?(n=(15&e[t])*Ne+(e[t+1]<<24|e[t+2]<<16|e[t+3]<<8|e[t+4]),t+=5):r<252?(n=((7&e[t])<<8|e[t+1])*Ne+(e[t+2]<<24|e[t+3]<<16|e[t+4]<<8|e[t+5]),t+=6):r<254?(n=((3&e[t])<<16|e[t+1]<<8|e[t+2])*Ne+(e[t+3]<<24|e[t+4]<<16|e[t+5]<<8|e[t+6]),t+=7):r<255?(n=(e[t+1]<<24|e[t+2]<<16|e[t+3]<<8|e[t+4])*Ne+(e[t+5]<<24|e[t+6]<<16|e[t+7]<<8|e[t+8]),t+=8):(n=72057594037927940*e[t+1]+(e[t+2]<<24|e[t+3]<<16|e[t+4]<<8|e[t+5])*Ne+(e[t+6]<<24|e[t+7]<<16|e[t+8]<<8|e[t+9]),t+=9),[n,t-A]}function Le(e,A,t=0,r=0){const{offset:n,value:s}=A(e,t);return{...s,_endPosition:n+r,_size:n-t}}function Me(e,A){const t=e.prototype[A],r=`_memo_${A}`;e.prototype[A]=function(){if(!(r in this)){const e=t.call(this);this[r]=e,Promise.resolve(e).catch(()=>{delete this[r]})}return this[r]}}function ve(){return{parser:(e,A=0)=>{const t=new DataView(e.buffer,e.byteOffset,e.length),r=new TextDecoder("utf8");let n=0;const s=r.decode(e.subarray(n,n+4));n+=4;const o=t.getUint8(n);n+=1;const i=t.getUint8(n);n+=1;const a=r.decode(e.subarray(n,n+20)).replaceAll("\0","");return n+=20,{value:{magic:s,majorVersion:o,minorVersion:i,fileId:a},offset:n}},maxLength:26}}function Ue(e,A,t){const r=new TextDecoder("utf8").decode(e.subarray(A,t)),n=[];for(let e=0;e<r.length;e+=3)n.push(r.slice(e,e+3));return n}function _e(){return{parser:(e,A)=>{const[t,r]=Fe(e,A);A+=r;const n=e.subarray(A,A+t);A+=t;const s=[];let o=0,i=0;for(;i<n.length;i++)n[i]||(s.push(Ue(n,o,i)),o=i+1);return i>o&&s.push(Ue(n,o,i)),{value:{size:t,ents:s},offset:A}}}}function xe(e){const A={};for(const{key:t,value:r}of e.ents)A[t]&&console.warn(`duplicate key ${t} in map`),A[t]=r;return A}function Je(e){return"number"==typeof e.refSeqId}function He(e){let A=0;return A+=5,A+=9,A+=10,A+=16,{parser:(A,t)=>{const[r,n]=Fe(A,t);t+=n;let s=0;if(e>=3){const[e,r]=qe(A,t);t+=r,s=e}else if(2===e){const[e,r]=Fe(A,t);t+=r,s=e}else console.warn("recordCounter=0");const[o,i]=Fe(A,t);t+=i;const[a,g]=Fe(A,t);t+=g;const c=[];for(let e=0;e<a;e++){const[e,r]=Fe(A,t);t+=r,c.push(e)}let C;return e>=2&&(C=[...A.subarray(t,t+16)],t+=16),{value:{recordCounter:s,md5:C,contentIds:c,numContentIds:a,numBlocks:o,numRecords:r},offset:t}},maxLength:e=>40+5*e}}function Ye(e){let A=0;return A+=20,A+=9,A+=15,A+=16,{parser:(A,t)=>{const[r,n]=Fe(A,t);t+=n;const[s,o]=Fe(A,t);t+=o;const[i,a]=Fe(A,t);t+=a;const[g,c]=Fe(A,t);t+=c;let C=0;if(e>=3){const[e,r]=qe(A,t);t+=r,C=e}else if(2===e){const[e,r]=Fe(A,t);t+=r,C=e}else console.warn("majorVersion is <2, recordCounter set to 0");const[I,h]=Fe(A,t);t+=h;const[d,f]=Fe(A,t);t+=f;const l=[];for(let e=0;e<d;e++){const[e,r]=Fe(A,t);t+=r,l.push(e)}const[u,B]=Fe(A,t);let Q;return t+=B,e>=2&&(Q=[...A.subarray(t,t+16)],t+=16),{value:{md5:Q,numBlocks:I,numRecords:g,numContentIds:d,refSeqSpan:i,refSeqId:r,refSeqStart:s,recordCounter:C,refBaseBlockId:u,contentIds:l},offset:t}},maxLength:e=>60+5*e}}function Ge(e,A){const t=e,r=new DataView(t.buffer,t.byteOffset,t.length),[n,s]=Fe(e,A);A+=s;const[o,i]=Fe(e,A);A+=i;const a={};if(0===n);else if(1===n){const[t,r]=Fe(e,A);a.blockContentId=t,A+=r}else if(2===n){const[t,r]=Fe(e,A);a.offset=t,A+=r;const[n,s]=Fe(e,A);a.M=n,A+=s}else if(3===n){const t=Fe(e,A),r=t[0];A+=t[1];const n=[];for(let t=0;t<r;t++){const t=Fe(e,A);n.push(t[0]),A+=t[1]}a.symbols=n;const s=Fe(e,A),o=t[0];a.numLengths=o,a.numCodes=r,a.numLengths=o,A+=s[1];const i=[];for(let t=0;t<o;t++){const t=Fe(e,A);A+=t[1],i.push(t[0])}a.bitLengths=i}else if(4===n){const{value:t,offset:r}=Ge(e,A);a.lengthsEncoding=t,A=r;const{value:n,offset:s}=Ge(e,A);a.valuesEncoding=n,A=s}else if(5===n){a.stopByte=r.getUint8(A),A+=1;const[t,n]=Fe(e,A);a.blockContentId=t,A+=n}else if(6===n){const[t,r]=Fe(e,A);a.offset=t,A+=r;const[n,s]=Fe(e,A);a.length=n,A+=s}else if(7===n){const[t,r]=Fe(e,A);a.offset=t,A+=r;const[n,s]=Fe(e,A);a.K=n,A+=s}else if(8===n){const[t,r]=Fe(e,A);a.offset=t,A+=r;const[n,s]=Fe(e,A);a.log2m=n,A+=s}else{if(9!==n)throw new Error(`unknown codecId ${n}`);{const[t,r]=Fe(e,A);a.offset=t,A+=r}}return{value:{codecId:n,parametersBytes:o,parameters:a},offset:A}}function Pe(){return{parser:(e,A)=>{const[t,r]=Fe(e,A);A+=r;const[n,s]=Fe(e,A);A+=s;const o=[];for(let t=0;t<n;t++){const t=String.fromCharCode(e[A])+String.fromCharCode(e[A+1]);A+=2;const{value:r,offset:n}=Ge(e,A);A=n,o.push({key:t,value:r})}return{value:{mapSize:t,ents:o,mapCount:n},offset:A}}}}function Ke(){return{parser:(e,A)=>{const[t,r]=Fe(e,A);A+=r;const[n,s]=Fe(e,A);A+=s;const o=[];for(let t=0;t<n;t++){const[t,r]=Fe(e,A);A+=r;const n=String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(255&t),{value:s,offset:i}=Ge(e,A);A=i,o.push({key:n,value:s})}return{value:{mapSize:t,ents:o,mapCount:n},offset:A}}}}function Te(e){let A=4;return A+=20,A+=9,A+=9,A+=10,{maxLength:52,parser:(A,t)=>{const r=A,n=new DataView(r.buffer,r.byteOffset,r.length).getInt32(t,!0);t+=4;const[s,o]=Fe(A,t);t+=o;const[i,a]=Fe(A,t);t+=a;const[g,c]=Fe(A,t);t+=c;const[C,I]=Fe(A,t);t+=I;let h,d=0;if(e>=3){const[e,r]=qe(A,t);d=e,t+=r}else if(2===e){const[e,r]=Fe(A,t);d=e,t+=r}else console.warn("setting recordCounter=0");if(e>1){const[e,r]=qe(A,t);h=e,t+=r}const[f,l]=Fe(A,t);t+=l;const[u,B]=Fe(A,t);return{value:{length:n,refSeqId:s,refSeqStart:i,alignmentSpan:g,numBlocks:f,numLandmarks:u,numBases:h,recordCounter:d,numRecords:C},offset:t+=B}}}}function ze(e){return{parser:(A,t)=>{const r=A,n=new DataView(r.buffer,r.byteOffset,r.length),[s,o]=Fe(A,t);t+=o;const i=[];for(let e=0;e<s;e++){const[e,r]=Fe(A,t);t+=r,i.push(e)}let a;return e>=3&&(a=n.getUint32(t,!0),t+=4),{value:{...void 0===a?{}:{crc32:a},numLandmarks:s,landmarks:i},offset:t}},maxLength:e=>5+5*e+4}}function Oe(e){return{cramFileDefinition:ve(),cramBlockHeader:{parser:(e,A=0)=>{const t=e,r=new DataView(t.buffer,t.byteOffset,t.length);let n=0;const s=r.getUint8(n),o=["raw","gzip","bzip2","lzma","rans","rans4x16","arith","fqzcomp","tok3"][s];if(!o)throw new Error(`compression method number ${s} not implemented`);n+=1;const i=r.getUint8(n),a=["FILE_HEADER","COMPRESSION_HEADER","MAPPED_SLICE_HEADER","UNMAPPED_SLICE_HEADER","EXTERNAL_DATA","CORE_DATA"][i];if(!a)throw new Error(`invalid block content type id ${i}`);n+=1;const[g,c]=Fe(e,n);n+=c;const[C,I]=Fe(e,n);n+=I;const[h,d]=Fe(e,n);return n+=d,{offset:n,value:{uncompressedSize:h,compressedSize:C,contentId:g,contentType:a,compressionMethod:o}}},maxLength:17},cramBlockCrc32:{parser:(e,A)=>{const t=e,r=new DataView(t.buffer,t.byteOffset,t.length).getUint32(A,!0);return{offset:A+=4,value:{crc32:r}}},maxLength:4},cramDataSeriesEncodingMap:Pe(),cramTagEncodingMap:Ke(),cramCompressionHeader:{parser:(e,A)=>{const{value:t,offset:r}=((e,A)=>{const t=e,r=new DataView(t.buffer,t.byteOffset,t.length),[n,s]=Fe(e,A);A+=s;const[o,i]=Fe(e,A);A+=i;const a=[];for(let t=0;t<o;t++){const t=String.fromCharCode(e[A])+String.fromCharCode(e[A+1]);if(A+=2,"MI"===t||"UI"===t||"PI"===t||"RN"===t||"AP"===t||"RR"===t)a.push({key:t,value:!!r.getUint8(A)}),A+=1;else if("SM"===t)a.push({key:t,value:[r.getUint8(A),r.getUint8(A+1),r.getUint8(A+2),r.getUint8(A+3),r.getUint8(A+4)]}),A+=5;else{if("TD"!==t)throw new Error(`unknown key ${t}`);{const{offset:r,value:n}=_e().parser(e,A);a.push({key:t,value:n.ents}),A=r}}}return{value:{mapSize:n,mapCount:o,ents:a},offset:A}})(e,A);A=r;const{value:n,offset:s}=Pe().parser(e,A);A=s;const{value:o,offset:i}=Ke().parser(e,A);return A=i,{value:{dataSeriesEncoding:xe(n),preservation:xe(t),tagEncoding:xe(o)},offset:A}}},cramEncoding:{parser:(e,A)=>Ge(e,A)},cramUnmappedSliceHeader:He(e),cramMappedSliceHeader:Ye(e),cramContainerHeader1:Te(e),cramContainerHeader2:ze(e)}}function Ve(e){let A="";for(let t=0;t<e.length&&0!==e[t];t++)A+=String.fromCharCode(e[t]);return A}function Xe(e,A){if("Z"===e)return Ve(A);if("A"===e)return String.fromCharCode(A[0]);if("I"===e)return new Uint32Array(A.buffer)[0];if("i"===e)return new Int32Array(A.buffer)[0];if("s"===e)return new Int16Array(A.buffer)[0];if("S"===e)return new Uint16Array(A.buffer)[0];if("c"===e)return new Int8Array(A.buffer)[0];if("C"===e)return A[0];if("f"===e)return new Float32Array(A.buffer)[0];if("H"===e)return Number.parseInt(Ve(A).replace(/^0x/,""),16);if("B"===e)return function(e){const A=String.fromCharCode(e[0]),t=new DataView(e.buffer).getUint32(1,!0),r=new Array(t);if(e=e.slice(5),"c"===A){const A=new Int8Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}else if("C"===A){const A=new Uint8Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}else if("s"===A){const A=new Int16Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}else if("S"===A){const A=new Uint16Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}else if("i"===A){const A=new Int32Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}else if("I"===A){const A=new Uint32Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}else{if("f"!==A)throw new Error(`unknown type: ${A}`);{const A=new Float32Array(e.buffer);for(let e=0;e<t;e++)r[e]=A[e]}}return r}(A);throw new N(`Unrecognized tag type ${e}`)}function We(e,A,t,r,n,s,o,i,a){let g=A("BF");const c=A("CF");if(!Je(r.parsedContent))throw new Error("slice header not mapped");const C=i>1&&-2===r.parsedContent.refSeqId?A("RI"):r.parsedContent.refSeqId,I=A("RL");let h=A("AP");t.APdelta&&(h+=o.lastAlignmentStart),o.lastAlignmentStart=h;const d=A("RG");let f,l,u,B;
2if(t.readNamesIncluded&&(f=Ve(A("RN"))),m.isDetached(c)){const e=A("MF");let r;t.readNamesIncluded||(r=Ve(A("RN")),f=r);const n=A("NS"),s=A("NP");(e||n>-1)&&(l={mateFlags:e,mateSequenceId:n,mateAlignmentStart:s,mateReadName:r}),u=A("TS"),y.isUnmapped(e)&&(g=w.setMateUnmapped(g)),y.isOnNegativeStrand(e)&&(g=w.setMateReverseComplemented(g))}else m.isWithMateDownstream(c)&&(B=A("NF")+a+1);const Q=A("TL");if(Q<0)throw new N("invalid TL index");const E={},p=t.getTagNames(Q),D=p.length;for(let A=0;A<D;A++){const r=p[A],i=r.slice(0,2),a=r.slice(2,3),g=t.getCodecForTag(r).decode(e,n,s,o);E[i]=void 0===g?void 0:"number"==typeof g?g:Xe(a,g)}let S,R,b,k,F;if(w.isSegmentUnmapped(g))if(m.isDecodeSequenceAsStar(c))F=null,k=null;else{const e=new Array(I);for(let t=0;t<e.length;t++)e[t]=A("BA");if(F=String.fromCharCode(...e),m.isPreservingQualityScores(c)){k=new Array(I);for(let t=0;t<e.length;t++)k[t]=A("QS")}}else{const e=A("FN");if(e&&(S=function(e,A,t,r,n){let s=0,o=e-1;const i=new Array(A);function a([e,A]){const r=t(A);if("character"===e)return String.fromCharCode(r);if("string"===e){let e="";for(let A=0;A<r.byteLength;A++)e+=String.fromCharCode(r[A]);return e}return"numArray"===e?Array.from(r):r}for(let e=0;e<A;e++){const A=String.fromCharCode(t("FC")),r=t("FP"),g={B:["character","BA"],S:["string",n>1?"SC":"IN"],X:["number","BS"],D:["number","DL"],I:["string","IN"],i:["character","BA"],b:["string","BB"],q:["numArray","QQ"],Q:["number","QS"],H:["number","HC"],P:["number","PD"],N:["number","RS"]}[A];if(!g)throw new N(`invalid read feature code "${A}"`);let c=a(g);const C={B:["number","QS"]}[A];C&&(c=[c,a(C)]),s+=r;const I=s;o+=r;const h=o;"D"===A||"N"===A?o+=c:"I"===A||"S"===A?o-=c.length:"i"===A&&(o-=1),i[e]={code:A,pos:I,refPos:h,data:c}}return i}(h,e,A,0,i)),R=I,S)for(const{code:e,data:A}of S)"D"===e||"N"===e?R+=A:"I"===e||"S"===e?R-=A.length:"i"===e&&(R-=1);if(Number.isNaN(R)&&(console.warn(`${f||`${C}:${h}`} record has invalid read features`),R=I),b=A("MQ"),m.isPreservingQualityScores(c)){k=new Array(I);for(let e=0;e<k.length;e++)k[e]=A("QS")}}return{readLength:I,sequenceId:C,cramFlags:c,flags:g,alignmentStart:h,readGroupId:d,readName:f,mateToUse:l,templateSize:u,mateRecordNumber:B,readFeatures:S,lengthOnRef:R,mappingQuality:b,qualityScores:k,readBases:F,tags:E}}function je(e,A,t,r){const n=!!(r.mate||void 0!==r.mateRecordNumber&&r.mateRecordNumber!==A);t.readName||(t.readName=String(t.uniqueId),r.readName=t.readName),t.mate={sequenceId:r.sequenceId,alignmentStart:r.alignmentStart,uniqueId:r.uniqueId},r.readName&&(t.mate.readName=r.readName),r.mate||void 0!==r.mateRecordNumber||(r.mate={sequenceId:t.sequenceId,alignmentStart:t.alignmentStart,uniqueId:t.uniqueId},t.readName&&(r.mate.readName=t.readName)),t.flags|=i,r.flags&g&&(t.flags|=c),t.flags&g&&(r.flags|=c),r.flags&C&&(t.flags|=I),t.flags&C&&(r.flags|=I),void 0===t.templateLength&&(n?function(e,A,t){const r=function A(t){const r=[t];if(void 0!==t.mateRecordNumber&&t.mateRecordNumber>=0){const n=e[t.mateRecordNumber];if(!n)throw new N("intra-slice mate record not found, this file seems malformed");r.push(...A(n))}return r}(t),n=r.map(e=>e.alignmentStart),s=r.map(e=>e.alignmentStart+e.readLength-1),o=Math.max(...s)-Math.min(...n)+1;o>=0&&r.forEach(e=>{if(void 0!==e.templateLength)throw new N("mate pair group has some members that have template lengths already, this file seems malformed");e.templateLength=o})}(e,0,t):function(e,A){const t=Math.min(e.alignmentStart,A.alignmentStart),r=Math.max(e.alignmentStart+e.readLength-1,A.alignmentStart+A.readLength-1)-t+1;e.templateLength=r,A.templateLength=r}(t,r)),t.mateRecordNumber=void 0}class $e{constructor(e,A,t){this.container=e,this.containerPosition=A,this.sliceSize=t,this.file=e.file}async getHeader(){const{majorVersion:e}=await this.file.getDefinition(),A=Oe(e),t=await this.container.getHeader(),r=await this.file.readBlock(t._endPosition+this.containerPosition);if("MAPPED_SLICE_HEADER"===r.contentType){const e=Le(r.content,A.cramMappedSliceHeader.parser,0,t._endPosition);return{...r,parsedContent:e}}if("UNMAPPED_SLICE_HEADER"===r.contentType){const e=Le(r.content,A.cramUnmappedSliceHeader.parser,0,t._endPosition);return{...r,parsedContent:e}}throw new N(`error reading slice header block, invalid content type ${r.contentType}`)}async getBlocks(){const e=await this.getHeader();let A=e._endPosition;const t=new Array(e.parsedContent.numBlocks);for(let e=0;e<t.length;e++){const r=await this.file.readBlock(A);t[e]=r,A=t[e]._endPosition}return t}async getCoreDataBlock(){return(await this.getBlocks())[0]}async _getBlocksContentIdIndex(){const e=await this.getBlocks(),A={};
2return e.forEach(e=>{"EXTERNAL_DATA"===e.contentType&&(A[e.contentId]=e)}),A}async getBlockByContentId(e){return(await this._getBlocksContentIdIndex())[e]}async getReferenceRegion(){const e=new TextDecoder("utf8"),A=(await this.getHeader()).parsedContent;if(!Je(A))throw new Error("slice header not mapped");if(A.refSeqId<0)return;const t=await this.container.getCompressionScheme();if(void 0===t)throw new Error("compression scheme undefined");if(A.refBaseBlockId>=0){const t=await this.getBlockByContentId(A.refBaseBlockId);if(!t)throw new N("embedded reference specified, but reference block does not exist");return{seq:e.decode(t.data),start:A.refSeqStart,end:A.refSeqStart+A.refSeqSpan-1,span:A.refSeqSpan}}if(t.referenceRequired||this.file.fetchReferenceSequenceCallback){if(!this.file.fetchReferenceSequenceCallback)throw new Error("reference sequence not embedded, and seqFetch callback not provided, cannot fetch reference sequence");const e=await this.file.fetchReferenceSequenceCallback(A.refSeqId,A.refSeqStart,A.refSeqStart+A.refSeqSpan-1);if(e.length!==A.refSeqSpan)throw new F("seqFetch callback returned a reference sequence of the wrong length");return{seq:e,start:A.refSeqStart,end:A.refSeqStart+A.refSeqSpan-1,span:A.refSeqSpan}}}getAllRecords(){return this.getRecords(()=>!0)}async _fetchRecords(){const{majorVersion:e}=await this.file.getDefinition(),A=await this.container.getCompressionScheme();if(void 0===A)throw new Error("compression scheme undefined");const t=await this.getHeader(),r=await this._getBlocksContentIdIndex();if(e>1&&this.file.options.checkSequenceMD5&&Je(t.parsedContent)&&t.parsedContent.refSeqId>=0&&"0000000000000000"!==t.parsedContent.md5?.join("")){const e=await this.getReferenceRegion();if(e){const{seq:A,start:r,end:n}=e,s=function(e){return ke(e.toUpperCase().replaceAll(/[^\u0021-\u007e]/g,""))}(A),o=t.parsedContent.md5?.map(e=>(e<16?"0":"")+e.toString(16)).join("");if(s!==o)throw new N(`MD5 checksum reference mismatch for ref ${t.parsedContent.refSeqId} pos ${r}..${n}. recorded MD5: ${o}, calculated MD5: ${s}`)}}const n=await this.getCoreDataBlock(),s={lastAlignmentStart:Je(t.parsedContent)?t.parsedContent.refSeqStart:0,coreBlock:{bitPosition:7,bytePosition:0},externalBlocks:{map:new Map,getCursor(e){let A=this.map.get(e);return void 0===A&&(A={bitPosition:7,bytePosition:0},this.map.set(e,A)),A}}},o=e=>{const t=A.getCodecForDataSeries(e);if(!t)throw new N(`no codec defined for ${e} data series`);return t.decode(this,n,r,s)},i=new Array(t.parsedContent.numRecords);for(let a=0;a<i.length;a+=1)try{const g=We(this,o,A,t,n,r,s,e,a);i[a]=new p({...g,uniqueId:t.contentPosition+t.parsedContent.recordCounter+a+1})}catch(e){if(e instanceof Re){console.warn("read attempted beyond end of buffer, file seems truncated.");break}throw e}for(let e=0;e<i.length;e+=1){const A=i[e];if(A){const{mateRecordNumber:t}=A;void 0!==t&&t>=0&&i[t]&&je(i,e,A,i[t])}}return i}async getRecords(e){const A=this.container.filePosition+this.containerPosition;let t=this.file.featureCache.get(A.toString());t||(t=this._fetchRecords(),this.file.featureCache.set(A.toString(),t));const r=(await t).filter(e);if(r.length&&this.file.fetchReferenceSequenceCallback){const e=await this.getHeader();if(Je(e.parsedContent)&&(e.parsedContent.refSeqId>=0||-2===e.parsedContent.refSeqId)){const A=e.parsedContent.refSeqId>=0?e.parsedContent.refSeqId:void 0,t=await this.container.getCompressionScheme();if(void 0===t)throw new Error("compression scheme undefined");const n={};for(const e of r){const t=void 0!==A?A:e.sequenceId;let r=n[t];r||(r={id:t,start:e.alignmentStart,end:Number.NEGATIVE_INFINITY,seq:null},n[t]=r);const s=e.alignmentStart+(e.lengthOnRef||e.readLength)-1;s>r.end&&(r.end=s),e.alignmentStart<r.start&&(r.start=e.alignmentStart)}await Promise.all(Object.values(n).map(async e=>{-1!==e.id&&e.start<=e.end&&this.file.fetchReferenceSequenceCallback&&(e.seq=await this.file.fetchReferenceSequenceCallback(e.id,e.start,e.end))}));for(const e of r){const r=n[void 0!==A?A:e.sequenceId];if(r?.seq){const A=r.seq;e.addReferenceSequence({...r,seq:A},t)}}}}return r}}"getHeader getBlocks _getBlocksContentIdIndex".split(" ").forEach(e
2=>{Me($e,e)});class Ze{constructor(e,A){this.parameters=e,this.dataType=A}}class eA extends Ze{constructor(e,A,t){super(e,A),this.instantiateCodec=t}decode(e,A,t,r){const n=this._getLengthCodec().decode(e,A,t,r)||0,s=this._getDataCodec(),o=new Uint8Array(n);for(let i=0;i<n;i+=1)o[i]=s.decode(e,A,t,r)||0;return o}_getLengthCodec(){const e=this.parameters.lengthsEncoding;return this.instantiateCodec(e,"int")}_getDataCodec(){const e=this.parameters.valuesEncoding;return this.instantiateCodec(e,"byte")}}"_getLengthCodec _getDataCodec".split(" ").forEach(e=>{Me(eA,e)});const AA={1:class extends Ze{constructor(e,A){if(super(e,A),"int"===this.dataType)this._decodeData=this._decodeInt;else{if("byte"!==this.dataType)throw new k(`${this.dataType} decoding not yet implemented by EXTERNAL codec`);this._decodeData=this._decodeByte}}decode(e,A,t,r){const{blockContentId:n}=this.parameters,s=t[n];return s?this._decodeData(s,r.externalBlocks.getCursor(n)):void 0}_decodeInt(e,A){const[t,r]=Fe(e.content,A.bytePosition);return A.bytePosition=A.bytePosition+r,t}_decodeByte(e,A){if(A.bytePosition>=e.content.length)throw new Re("attempted to read beyond end of block. this file seems truncated.");return e.content[A.bytePosition++]}},3:class extends Ze{constructor(e,A){if(super(e,A),this.codes={},this.codeBook={},this.sortedCodes=[],this.sortedValuesByBitCode=[],this.sortedBitCodes=[],this.sortedBitLengthsByBitCode=[],this.bitCodeToValue=[],!["byte","int"].includes(this.dataType))throw new TypeError(`${this.dataType} decoding not yet implemented by HUFFMAN_INT codec`);this.buildCodeBook(),this.buildCodes(),this.buildCaches(),0===this.sortedCodes[0].bitLength&&(this._decode=this._decodeZeroLengthCode)}buildCodeBook(){let e=new Array(this.parameters.numCodes);for(let A=0;A<this.parameters.numCodes;A++)e[A]={symbol:this.parameters.symbols[A],bitLength:this.parameters.bitLengths[A]};e=e.sort((e,A)=>e.bitLength-A.bitLength||e.symbol-A.symbol),this.codeBook={},e.forEach(e=>{this.codeBook[e.bitLength]||(this.codeBook[e.bitLength]=[]),this.codeBook[e.bitLength].push(e.symbol)})}buildCodes(){this.codes={};let e=0,A=-1;
2Object.entries(this.codeBook).forEach(([t,r])=>{const n=Number.parseInt(t,10);r.forEach(t=>{const r={bitLength:n,value:t,bitCode:0};A+=1;const s=n-e;if(A<<=s,r.bitCode=A,e+=s,function(e){let A=e-(e>>1)&1431655765;return A=(858993459&A)+(A>>2&858993459),16843009*(A+(A>>4)&252645135)>>24}(A)>n)throw new N("Symbol out of range");this.codes[t]=r})})}buildCaches(){this.sortedCodes=Object.values(this.codes).sort((e,A)=>e.bitLength-A.bitLength||e.bitCode-A.bitCode),this.sortedValuesByBitCode=this.sortedCodes.map(e=>e.value),this.sortedBitCodes=this.sortedCodes.map(e=>e.bitCode),this.sortedBitLengthsByBitCode=this.sortedCodes.map(e=>e.bitLength);const e=Math.max(...this.sortedBitCodes);this.bitCodeToValue=new Array(e+1).fill(-1);for(let e=0;e<this.sortedBitCodes.length;e+=1)this.bitCodeToValue[this.sortedCodes[e].bitCode]=e}decode(e,A,t,r){return this._decode(e,A,r.coreBlock)}_decodeZeroLengthCode(){return this.sortedCodes[0].value}_decode(e,A,t){const r=A.content;let n=0,s=0;for(let e=0;e<this.sortedCodes.length;e+=1){const A=this.sortedCodes[e].bitLength;s<<=A-n,s|=be(r,t,A-n),n=A;{const t=this.bitCodeToValue[s];if(t>-1&&this.sortedBitLengthsByBitCode[t]===A)return this.sortedValuesByBitCode[t];for(let t=e;this.sortedCodes[t+1].bitLength===A&&t<this.sortedCodes.length;t+=1)e+=1}}throw new N("Huffman symbol not found.")}},4:eA,5:class extends Ze{decode(e,A,t,r){const{blockContentId:n}=this.parameters,s=t[n];if(!s)throw new N(`no block found with content ID ${n}`);const o=r.externalBlocks.getCursor(n);return this._decodeByteArray(s,o)}_decodeByteArray(e,A){const t=e.content,{stopByte:r}=this.parameters,n=A.bytePosition;let s=A.bytePosition;for(;t[s]!==r&&s<t.length;){if(s===t.length)throw new Re("byteArrayStop reading beyond length of data buffer?");s+=1}return A.bytePosition=s+1,t.subarray(n,s)}},6:class extends Ze{constructor(e,A){if(super(e,A),"int"!==this.dataType)throw new k(`${this.dataType} decoding not yet implemented by BETA codec`)}decode(e,A,t,r){return be(A.content,r.coreBlock,this.parameters.length)-this.parameters.offset}},7:class extends Ze{constructor(e,A){if(super(e,A),"int"!==this.dataType)throw new k(`${this.dataType} decoding not yet implemented by SUBEXP codec`)}decode(e,A,t,r){let n,s,o=0;for(;be(A.content,r.coreBlock,1);)o+=1;return 0===o?(n=this.parameters.K,s=be(A.content,r.coreBlock,n)):(n=o+this.parameters.K-1,s=1<<n|be(A.content,r.coreBlock,n)),s-this.parameters.offset}},9:class extends Ze{constructor(e,A){if(super(e,A),"int"!==this.dataType)throw new k(`${this.dataType} decoding not yet implemented by GAMMA codec`)}decode(e,A,t,r){let n=1;for(;0===be(A.content,r.coreBlock,1);)n+=1;return(be(A.content,r.coreBlock,n-1)|1<<n-1)-this.parameters.offset}}};function tA(e,A){const t=(r="ignore"===A?0:e.codecId,AA[r]);var r;if(!t)throw new k(`no codec implemented for codec ID ${e.codecId}`);return new t(e.parameters,A,tA)}const rA={BF:"int",CF:"int",RI:"int",RL:"int",AP:"int",RG:"int",MF:"int",NS:"int",NP:"int",TS:"int",NF:"int",TC:"byte",TN:"int",FN:"int",FC:"byte",FP:"int",BS:"byte",IN:"byteArray",SC:"byteArray",DL:"int",BA:"byte",BB:"byteArray",RS:"int",PD:"int",HC:"int",MQ:"int",RN:"byteArray",QS:"byte",QQ:"byteArray",TL:"int"};class nA{constructor(e){this.dataSeriesCodecCache={},this.tagCodecCache={},this.tagEncoding={},this.readNamesIncluded=e.preservation.RN,this.APdelta=e.preservation.AP,this.referenceRequired=!!e.preservation.RR,this.tagIdsDictionary=e.preservation.TD,this.substitutionMatrix=function(e){const A=new Array(5);for(let e=0;e<5;e+=1)A[e]=new Array(4);return A[0][e[0]>>6&3]="C",A[0][e[0]>>4&3]="G",A[0][e[0]>>2&3]="T",A[0][3&e[0]]="N",A[1][e[1]>>6&3]="A",A[1][e[1]>>4&3]="G",A[1][e[1]>>2&3]="T",A[1][3&e[1]]="N",A[2][e[2]>>6&3]="A",A[2][e[2]>>4&3]="C",A[2][e[2]>>2&3]="T",A[2][3&e[2]]="N",A[3][e[3]>>6&3]="A",A[3][e[3]>>4&3]="C",A[3][e[3]>>2&3]="G",A[3][3&e[3]]="N",A[4][e[4]>>6&3]="A",A[4][e[4]>>4&3]="C",A[4][e[4]>>2&3]="G",A[4][3&e[4]]="T",A}(e.preservation.SM),this.dataSeriesEncoding=e.dataSeriesEncoding,this.tagEncoding=e.tagEncoding}getCodecForTag(e){const A=this.tagCodecCache[e];if(A)return A;{const A=this.tagEncoding[e];if(!A)throw new Error("Error, no tag encoding");const t=tA(A,"byteArray");return this.tagCodecCache[e]=t,t}}getTagNames(e){return this.tagIdsDictionary[e]}getCodecForDataSeries(e){let A=this.dataSeriesCodecCache[e];if(void 0===A){const t=this.dataSeriesEncoding[e];if(t){const r=rA[e];
2if(!r)throw new N(`data series name ${e} not defined in file compression header`);A=tA(t,r),this.dataSeriesCodecCache[e]=A}}return A}toJSON(){const e={};return Object.keys(this).forEach(A=>{A.endsWith("Cache")||(e[A]=this[A])}),e}}class sA{constructor(e,A){this.file=e,this.filePosition=A}getHeader(){return this._readContainerHeader(this.filePosition)}async getCompressionHeaderBlock(){if(!(await this.getHeader()).numRecords)return null;const{majorVersion:e}=await this.file.getDefinition(),A=Oe(e),t=await this.getFirstBlock();if("COMPRESSION_HEADER"!==t.contentType)throw new N(`invalid content type ${t.contentType} in compression header block`);const r=Le(t.content,A.cramCompressionHeader.parser,0,t.contentPosition);return{...t,parsedContent:r}}async getFirstBlock(){const e=await this.getHeader();return this.file.readBlock(e._endPosition)}async getCompressionScheme(){const e=await this.getCompressionHeaderBlock();if(e)return new nA(e.parsedContent)}getSlice(e,A){return new $e(this,e,A)}async _readContainerHeader(e){const{majorVersion:A}=await this.file.getDefinition(),t=Oe(A),{cramContainerHeader1:r,cramContainerHeader2:n}=t,s=Le(await this.file.read(r.maxLength,e),r.parser),o=-128&(i=s.numLandmarks)?-16384&i?-2097152&i?-268435456&i?5:4:3:2:1;var i;const a=Le(await this.file.read(n.maxLength(s.numLandmarks),e+s._size-o),n.parser);return this.file.validateChecksums&&void 0!==a.crc32&&await this.file.checkCrc32(e,s._size+a._size-o-4,a.crc32,`container header beginning at position ${e}`),{...s,...a,_size:s._size+a._size-o,_endPosition:s._size+a._size-o+e}}}"getHeader getCompressionHeaderBlock getCompressionScheme".split(" ").forEach(e=>{Me(sA,e)});class oA{constructor(e){if(this.file=le(e.url,e.path,e.filehandle),this.validateChecksums=!0,this.fetchReferenceSequenceCallback=e.seqFetch,this.options={checkSequenceMD5:e.checkSequenceMD5,cacheSize:e.cacheSize??2e4},this.featureCache=new S({maxSize:this.options.cacheSize}),function(){const e=new Uint32Array([287454020]),A=new Uint8Array(e.buffer);return 68===A[0]?0:17===A[0]?1:2}()>0)throw new Error("Detected big-endian machine, may be unable to run")}read(e,A){return this.file.read(e,A)}async getDefinition(){const{maxLength:e,parser:A}=ve(),t=A(await this.file.read(e,0)).value;if(2!==t.majorVersion&&3!==t.majorVersion)throw new k(`CRAM version ${t.majorVersion} not supported`);return t}async getSamHeader(){const e=await this.getContainerById(0);if(!e)throw new N("file contains no containers");const A=(await e.getFirstBlock()).content,t=new DataView(A.buffer).getInt32(0,!0),r=new TextDecoder("utf8").decode(A.subarray(4,4+t));return this.header=r,function(e){const A=e.split(/\r?\n/),t=[];for(const e of A){const[A,...r]=e.split(/\t/);A&&t.push({tag:A.slice(1),data:r.map(e=>{const A=e.indexOf(":");return-1!==A?{tag:e.slice(0,A),value:e.slice(A+1)}:{tag:e,value:""}})})}return t}(r)}
2async getHeaderText(){return await this.getSamHeader(),this.header}async getContainerById(e){const{majorVersion:A}=await this.getDefinition();let t,r=Oe(A).cramFileDefinition.maxLength;for(let A=0;A<=e;A++){t=this.getContainerAtPosition(r);const e=await t.getHeader();if(0===A){r=e._endPosition;for(let A=0;A<e.numBlocks;A++)r=(await this.readBlock(r))._endPosition}else r+=e._size+e.length}return t}async checkCrc32(e,A,t,r){const n=await this.file.read(A,e),s=(0,D.A)(n)>>>0;if(s!==t)throw new N(`crc mismatch in ${r}: recorded CRC32 = ${t}, but calculated CRC32 = ${s}`)}async containerCount(){const{majorVersion:e}=await this.getDefinition();let A=0,t=Oe(e).cramFileDefinition.maxLength;try{for(;;){const e=await this.getContainerAtPosition(t).getHeader();if(0===A){t=e._endPosition;for(let A=0;A<e.numBlocks;A++)t=(await this.readBlock(t))._endPosition}else t+=e._size+e.length;A+=1}}catch(e){A--}return A}getContainerAtPosition(e){return new sA(this,e)}async readBlockHeader(e){const{majorVersion:A}=await this.getDefinition(),t=Oe(A),{cramBlockHeader:r}=t;return Le(await this.file.read(r.maxLength,e),r.parser,0,e)}async _parseSection(e,A,t=e.maxLength,r){const n=Le(r??await this.file.read(t,A),e.parser,0,A);if(n._size!==t)throw new N(`section read error: requested size ${t} does not equal parsed size ${n._size}`);return n}async _uncompressPre(e,A,t){if("gzip"===e)return Se(A);if("bzip2"===e)return K(A);if("lzma"===e){const e=new Response(new R.XzReadableStream((r=A,new ReadableStream({start(e){e.enqueue(r),e.close()}}))));return new Uint8Array(await e.arrayBuffer())}if("rans"===e){const e=new Uint8Array(t);return function(e,A,t=0){if(0===e.length)return A.fill(0),A;const r=new pe(e,t),n=r.get();if(0!==n&&1!==n)throw new N(`Invalid rANS order ${n}`);if(r.getInt()!==r.remaining()-4)throw new N("Incorrect input length.");const s=r.getInt(),o=new pe(A||new Uint8Array(s));if(o.length<s)throw new N(`Output buffer too small to fit ${s} bytes.`);switch(n){case 0:return function(e,A){const t=new me.AriDecoder,r=new Array(256);for(let e=0;e<r.length;e+=1)r[e]=new me.DecodingSymbol;return function(e,A,t){let r=0,n=0,s=255&e.get();do{null==A.fc[s]&&(A.fc[s]=new me.FC),A.fc[s].F=255&e.get(),A.fc[s].F>=128&&(A.fc[s].F&=-129,A.fc[s].F=(127&A.fc[s].F)<<8|255&e.get()),A.fc[s].C=n,me.symbolInit(t[s],A.fc[s].C,A.fc[s].F),A.R||(A.R=new Array(Be)),A.R.fill(s,n,n+A.fc[s].F),n+=A.fc[s].F,0===r&&s+1===(255&e.getByteAt(e.position()))?(s=255&e.get(),r=255&e.get()):0!==r?(r-=1,s+=1):s=255&e.get()}while(0!==s);ye(n<Be)}(e,t,r),function(e,A,t,r){let n=e.getInt(),s=e.getInt(),o=e.getInt(),i=e.getInt();const a=r.remaining(),g=-4&a;for(let a=0;a<g;a+=4){const g=A.R[me.get(n,ue)],c=A.R[me.get(s,ue)],C=A.R[me.get(o,ue)],I=A.R[me.get(i,ue)];r.putAt(a,g),r.putAt(a+1,c),r.putAt(a+2,C),r.putAt(a+3,I),n=me.advanceSymbolStep(n,t[255&g],ue),s=me.advanceSymbolStep(s,t[255&c],ue),o=me.advanceSymbolStep(o,t[255&C],ue),i=me.advanceSymbolStep(i,t[255&I],ue),n=me.renormalize(n,e),s=me.renormalize(s,e),o=me.renormalize(o,e),i=me.renormalize(i,e)}let c;switch(r.setPosition(g),3&a){case 0:break;case 1:c=A.R[me.get(n,ue)],me.advanceSymbol(n,e,t[255&c],ue),r.put(c);break;case 2:c=A.R[me.get(n,ue)],me.advanceSymbol(n,e,t[255&c],ue),r.put(c),c=A.R[me.get(s,ue)],me.advanceSymbol(s,e,t[255&c],ue),r.put(c);break;case 3:c=A.R[me.get(n,ue)],me.advanceSymbol(n,e,t[255&c],ue),r.put(c),c=A.R[me.get(s,ue)],me.advanceSymbol(s,e,t[255&c],ue),r.put(c),c=A.R[me.get(o,ue)],me.advanceSymbol(o,e,t[255&c],ue),r.put(c);break;default:throw new N("invalid output size encountered during rANS decoding")}r.setPosition(0)}(e,t,r,A),A}(r,o);case 1:return function(e,A){const t=new Array(256);for(let e=0;e<t.length;e+=1)t[e]=new me.AriDecoder;const r=new Array(256);for(let e=0;e<r.length;e+=1){r[e]=new Array(256);for(let A=0;A<r[e].length;A+=1)r[e][A]=new me.DecodingSymbol}return function(e,A,t){let r=0,n=255&e.get();do{let s=0,o=0,i=255&e.get();null==A[n]&&(A[n]=new me.AriDecoder);do{null==A[n].fc[i]&&(A[n].fc[i]=new me.FC),A[n].fc[i].F=255&e.get(),A[n].fc[i].F>=128&&(A[n].fc[i].F&=-129,A[n].fc[i].F=(127&A[n].fc[i].F)<<8|255&e.get()),A[n].fc[i].C=o,0===A[n].fc[i].F&&(A[n].fc[i].F=Be),null==t[n][i]&&(t[n][i]=new me.RansDecSymbol),me.symbolInit(t[n][i],A[n].fc[i].C,A[n].fc[i].F),null==A[n].R&&(A[n].R=new Array(Be)),A[n].R.fill(i,o,o+A[n].fc[i].F),o+=A[n].fc[i].F,ye(o<=Be),0===s&&i+1===(255&e.getByteAt(e.position()))?(i=255&e.get(),s=255&e.get()):0!==s?(s-=1,i+=1):i=255&e.get()}while(0!==i);
20===r&&n+1===(255&e.getByteAt(e.position()))?(n=255&e.get(),r=255&e.get()):0!==r?(r-=1,n+=1):n=255&e.get()}while(0!==n)}(e,t,r),function(e,A,t,r){const n=A.remaining();let s=e.getInt(),o=e.getInt(),i=e.getInt(),a=e.getInt();const g=n>>2;let c=0,C=g,I=2*g,h=3*g,d=0,f=0,l=0,u=0;for(;c<g;c+=1,C+=1,I+=1,h+=1){const n=255&t[d].R[me.get(s,ue)],g=255&t[f].R[me.get(o,ue)],B=255&t[l].R[me.get(i,ue)],Q=255&t[u].R[me.get(a,ue)];A.putAt(c,n),A.putAt(C,g),A.putAt(I,B),A.putAt(h,Q),s=me.advanceSymbolStep(s,r[d][n],ue),o=me.advanceSymbolStep(o,r[f][g],ue),i=me.advanceSymbolStep(i,r[l][B],ue),a=me.advanceSymbolStep(a,r[u][Q],ue),s=me.renormalize(s,e),o=me.renormalize(o,e),i=me.renormalize(i,e),a=me.renormalize(a,e),d=n,f=g,l=B,u=Q}for(;h<n;h+=1){const n=255&t[u].R[me.get(a,ue)];A.putAt(h,n),a=me.advanceSymbol(a,e,r[u][n],ue),u=n}}(e,A,t,r),A}(r,o);default:throw new N(`Invalid rANS order: ${n}`)}}(A,e),e}if("rans4x16"===e)return function(e){return ne(e)}(A);if("arith"===e)return function(e){return(new V).decode(e)}(A);if("fqzcomp"===e)return he(A);if("tok3"===e)return function(e){const A=function(e,A,t){(e=new O(e)).ReadUint32();const r=e.ReadUint32(),n=e.ReadByte(),s=function(e,A,t,r){let n=-1;const s=new Array(256);for(;!e.EOF();){const A=e.ReadByte(),o=128&A,i=64&A,a=63&A;if(o&&(n++,s[n]=new Array(13)),0!=a&&o){const e=new Array(r-1).fill(10);s[n][0]=new O(ge([new Uint8Array(a),e]))}if(i){const A=e.ReadByte(),t=e.ReadByte();s[n][a]=new O(s[A][t].buf)}else{const A=e.ReadUint7(),r=e.ReadData(A);s[n][a]=t?ce.decode(r):ne(r),s[n][a]=new O(s[n][a])}}return s}(e,0,n,r),o=new Array(r),i=new Array(r);let a="";void 0===t&&(t="\n");for(let e=0;e<r;e++)a+=Ie(s,o,i,e)+t;return a}(e,0,"\0");return Uint8Array.from(Array.from(A).map(e=>e.charCodeAt(0)))}(A);throw new k(`${e} decompression not yet implemented`);var r}async _uncompress(e,A,t){const r=await this._uncompressPre(e,A,t);if(r.length!==t){const e=new Uint8Array(t);return e.set(r,0),e}return r}async readBlock(e){const{majorVersion:A}=await this.getDefinition(),t=Oe(A),r=await this.readBlockHeader(e),n=r._endPosition,s=await this.file.read(r.compressedSize,n),o="raw"!==r.compressionMethod?await this._uncompress(r.compressionMethod,s,r.uncompressedSize):s,i={...r,_endPosition:n,contentPosition:n,content:o};if(A>=3){const A=await this._parseSection(t.cramBlockCrc32,n+r.compressedSize);i.crc32=A.crc32,this.validateChecksums&&await this.checkCrc32(e,r._size+r.compressedSize,A.crc32,"block data"),i._endPosition=A._endPosition,i._size=i.compressedSize+t.cramBlockCrc32.maxLength}else i._endPosition=n+i.compressedSize,i._size=i.compressedSize;return i}}function iA(e,A){const[t,r,n,s,o,i]=A,a=t;e[a]||(e[a]=[]),e[a].push({start:r,span:n,containerStart:s,sliceStart:o,sliceBytes:i})}"getDefinition getSectionParsers getSamHeader".split(" ").forEach(e=>{Me(oA,e)});class aA{constructor(e){this.filehandle=le(e.url,e.path,e.filehandle)}async parseIndex(){const e={},A=31===(t=await this.filehandle.readFile())[0]&&139===t[1]?Se(t):t;var t;const r=new DataView(A.buffer);if(A.length>4&&21578050===r.getUint32(0,!0))throw new N("invalid .crai index file. note: file appears to be a .bai index. this is technically legal but please open a github issue if you need support");let n=[],s="";for(const t of A)if(t>=48&&t<=57||!s&&45===t)s+=String.fromCharCode(t);else if(9===t)n.push(Number.parseInt(s,10)),s="";else if(10===t)n.push(Number.parseInt(s,10)),s="",iA(e,n),n=[];else if(13!==t&&32!==t)throw new N("invalid .crai index file");return s&&n.push(Number.parseInt(s,10)),6===n.length&&iA(e,n),Object.entries(e).forEach(([A,t])=>{const r=t;e[A]=r.sort((e,A)=>e.start-A.start||e.span-A.span)}),e}getIndex(){return this.parseIndexP||(this.parseIndexP=this.parseIndex().catch(e=>{throw this.parseIndexP=void 0,e})),this.parseIndexP}async hasDataForReferenceSequence(e){return!!(await this.getIndex())[e]}async getEntriesForRange(e,A,t){const r=(await this.getIndex())[e];if(!r)return[];const n=e=>{const r=e.start,n=e.start+e.span;return r>t?-1:n<=A?1:0},s=[];for(const e of r)0===n(e)&&s.push(e);return s}}class gA{constructor(e){if(this.cram=e.cram??new oA({url:e.cramUrl,path:e.cramPath,filehandle:e.cramFilehandle,seqFetch:e.seqFetch,checkSequenceMD5:e.checkSequenceMD5,cacheSize:e.cacheSize}),!(this.cram instanceof oA))throw new Error("invalid arguments: no cramfile");this.index=e.index}async getRecordsForRange(e,A,t,r={}){if(r.viewAsPairs=r.viewAsPairs||!1,r.pairAcrossChr=r.pairAcrossChr||!1,r.maxInsertSize=r.maxInsertSize||2e5,"string"==typeof e)throw new k("string sequence names not yet supported");const n=e,s=await this.index.getEntriesForRange(n,A,t),o=await Promise.all(s.map(r=>this.getRecordsInSlice(r,r=>r.sequenceId===e&&r.alignmentStart<=t&&void 0!==r.lengthOnRef&&r.alignmentStart+r.lengthOnRef-1>=A)));let i=Array.prototype.concat(...o);if(r.viewAsPairs){const e={},A={};for(const t of i){const r=t.readName;if(void 0===r)throw new Error("readName undefined");const n=t.uniqueId;e[r]||(e[r]=0),e[r]+=1,A[n]=1}const t={};Object.entries(e).forEach(([e,A])=>{1===A&&(t[e]=!0)});const s=[];for(const e of i){const A=e.readName;if(void 0===A)throw new Error("readName undefined");if(t[A]&&e.mate&&(e.mate.sequenceId===n||r.pairAcrossChr)&&Math.abs(e.alignmentStart-e.mate.alignmentStart)<r.maxInsertSize){const A=this.index.getEntriesForRange(e.mate.sequenceId,e.mate.alignmentStart,e.mate.alignmentStart+1);s.push(A)}}const o=await Promise.all(s);let a=[];for(const e of o)a.push(...e);a=a.sort((e,A)=>e.toString().localeCompare(A.toString())).filter((e,A,t)=>!A||e.toString()!==t[A-1].toString());const g=[],c=[];for(const e of a){let r=this.cram.featureCache.get(e.toString());r||(r=this.getRecordsInSlice(e,()=>!0),this.cram.featureCache.set(e.toString(),r)),g.push(r);const n=r.then(e=>{const r=[];for(const n of e){if(void 0===n.readName)throw new Error("readName undefined");t[n.readName]&&!A[n.uniqueId]&&r.push(n)}return r});c.push(n)}const C=await Promise.all(c);if(C.length){const e=C.reduce((e,A)=>e.concat(A));i=i.concat(e)}}return i}getRecordsInSlice({containerStart:e,sliceStart:A,sliceBytes:t},r){return this.cram.getContainerAtPosition(e).getSlice(A,t).getRecords(r)}hasDataForReferenceSequence(e){return this.index.hasDataForReferenceSequence(e)}}},41967:function(e,A,t){var r;r=e=>(()=>{"use strict";var A=[,e=>{e.exports
vendor: 16,776 bytes, line 2
2="data:application/wasm;base64,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ACABQX9qIgENAAsgAkJ/hSECCyACC8oQAgx/An4CQAJAIAAoAiRFDQAgACgCACECDAELQQAhAiAAQQA6ACggAEIANwMAIABCADcDGCAAQcgAakEAQeQAEIaAgIAAGiAAQawBakEMNgIACyAAIAEoAgQiAzYCECAAQeAAaiEEIABByABqIQUgAEG2AWohBiAAQbABaiEHIABBqAFqIQggASgCECEJAkACQAJAAkADQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCACDgoBAgAEBQYHCAkKDwsgASgCACEKIAAoAqgBIQIgACgCrAEhCyABKAIEIQwgASgCCCENDAILIAcgACgCqAEiDGogASgCACABKAIEIgJqIAEoAgggAmsiAiAAKAKsASAMayIMIAIgDEkbIgIQh4CAgAAaIAEgASgCBCACajYCBEEAIQwgAEEAIAAoAqgBIAJqIgIgAiAAKAKsASILRhs2AqgBIAIgC0cNESAAQQE2AgACQCAHQaiIgIAAQQYQhICAgABFDQBBBSEMDBILIAZBAkEAEI2AgIAAIAAoALgBRw0QQQYhDCAGLQAADREgACAALQC3ASICNgIgIAJBBEsNEUEBIAJ0QRNxRQ0RCyABKAIEIgwgASgCCCINRg0OAkAgASgCACIKIAxqLQAAIgsNACAAIAw2AhAgASAMQQFqNgIEQQYhAgwMC0EAIQIgAEEANgKoASAAQQI2AgAgACALQQJ0QQRqIgs2AqwBIAAgCzYCQAsgByACaiAKIAxqIA0gDGsiDCALIAJrIgIgDCACSRsiAhCHgICAABogASABKAIEIAJqNgIEQQAhDCAAQQAgACgCqAEgAmoiAiACIAAoAqwBIgtGGzYCqAEgAiALRw0PIAAgAkF8aiICNgKsAUEHIQwgByACQQAQjYCAgAAgByAAKAKsASICaigAAEcNDyAAQQI2AqgBIAAtALEBIgtBP3ENDAJAAkAgC0HAAHFFDQAgACAHIAggAhCRgICAAEEBRw0RIAAgACkDCDcDMCAAKAKsASECIAAtALEBIQsMAQsgAEJ/NwMwC0J/IQ4CQCALwEF/Sg0AIAAgByAIIAIQkYCAgABBAUcNECAAKAKsASECIAApAwghDgsgACAONwM4IAIgACgCqAEiC2tBAkkNDyAAIAtBAWoiCjYCqAEgCCALakEI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AA8LIAEgA0EBaiIFNgIEAkAgASgCACADai0AACAAKQMYIAAoAgQiA62Ip0H/AXFGDQBBBw8LIAAgA0EIaiIGNgIEIAUhAyAGIAJJDQALIABBADYCBCAAQgA3AxhBAQtvAQF/QQchAQJAIABBugFqLwAAQdm0AUcNACAAQbQBakEGQQAQjYCAgAAgAEGwAWooAABHDQAgAEGAAWopAwBCAoggADUAtAFSDQAgAEG4AWotAAANAEEBQQcgACgCICAAQbkBai0AAEYbIQELIAELwAIBA38CQAJAAkAgACgCJA0AIABBADoAKCAAQQA2AgBBASECDAELAkAgACgCAEEKRw0AQQAhAwwCC0ECIQMMAQtBASEDCwJAAkADQAJAAkACQAJAIAMOAwABAwMLIAEoAgQiAyABKAIIIgRGDQQgASgCACEFAkADQCAFIANqLQAADQEgASADQQFqIgM2AgQgACAAKAIEQQFqQQNxNgIEIAQgA0YNBgwACwsCQCAAKAIERQ0AQQcPCyAAKAIkRQ0BIABBADoAKCAAQQA2AgBBASEDDAMLIABCADcDGCAAQQA2AgQgAEHIAGpBAEHkABCGgICAABogAEGsAWpBDDYCAAtBAiEDDAELIAAgARCQgICAACIDQQFHDQIgAEEKNgIAQQAhAwwACwsCQCACDQBBAA8LQQdBASAAKAIEGyEDCyADC3UBAX8CQEG4CRCAgICAACICRQ0AIAIgADYCJCACIAAgARCbgICAACIANgKwCQJAIABFDQAgAkEAOgAoIAJCADcDACACQgA3AxggAkHIAGpBAEHkABCGgICAABogAkGsAWpBDDYCACACDwsgAhCCgICAAAtBAAseAAJAIABFDQAgACgCsAkQnYCAgAAgABCCgICAAAsL3RABCn8gAEHo3QFqIQIgAEHUAGohAyAAQRxqIgRBCGohBQJAAkADQCAAKAJAIQYCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgASgCBCIHIAEoAghJDQAgBkEHRg0BDBELIAYOCQECAwQFBgcACQ4LIAAoAkwhBgwHC0EBIQYgASAHQQFqNgIEIAEoAgAgB2otAAAiB0UNCAJAAkAgB0HfAUsNACAHQQFHDQELIABBgAI7AVACQCAAKAI8DQAgACABKAIMIAEoAhAiBmo2AhggACABKAIUIAZrNgIsCyAEQgA3AgAgBUIANwIADAoLIAAtAFBFDQkMDQsgASAHQQFqNgIEIAEoAgAgB2otAAAhByAAQQI2AkAgACAHQQh0IAAoAkhqNgJIDAsLIAEgB0EBajYCBCABKAIAIAdqLQAAIQcgAEEDNgJAIAAgByAAKAJIakEBajYCSAwKCyABIAdBAWo2AgQgASgCACAHai0AACEHIABBBDYCQCAAIAdBCHQ2AkwMCQsgASAHQQFqNgIEIAEoAgAgB2otAAAhByAAIAAoAkQ2AkAgACAHIAAoAkxqQQFqNgJMDAgLIAEgB0EBajYCBEEHIQYgASgCACAHai0AACIHQeABSw0DQQAhCAJAAkAgB0EtTw0AQQAhCQwBCyAHQVNqIgcgB0H/AXFBLW4iCUEtbGshByAJQQFqIQkLIABBfyAJdEF/czYCdAJAIAdB/wFxQQlJDQAgB0F3aiIHIAdB/wFxQQluIghBCWxrIQcgCEEBaiEICyAAIAg2AnAgACAHQf8BcSIHNgJsIAggB2pBBEsNAyADQgA3AgAgA0EIakIANwIAIANBEGpBADYCACAAQX8gCHRBf3M2AnBB+AAhBwNAIAAgB2pBgAg7AQAgB0ECaiIHQeTdAUcNAAsgAEEGNgJAIABBBTYCCCAAQv////8PNwIACyAAKAJMIgpBBUkNBwJAIAAoAggiB0UNACAHQX9qIQYgASgCBCEHIAEoAgghCQNAIAkgB0YNCiABIAdBAWoiCDYCBCABKAIAIAdqLQAAIQcgACAGNgIIIAAgByAAKAIEQQh0cjYCBCAIIQcgBkF/aiIGQX9HDQALCyAAQQc2AkAgACAKQXtqIgY2AkwLIAAgACgCICIHIAEoAhQgASgCEGsiCCAAKAJIIgkgCCAJSRsiCGogACgCLCIJIAkgB2sgCEsbNgIoIAEoAggiCiABKAIEIghrIQcCQAJAAkAgACgC5N0BIgkNACAGDQFBACEGCyACIAlqIAEoAgAgCGpBKiAJayIIIAYgCWsiBiAIIAZJGyIGIAcgBiAHSRsiBxCHgICAABoCQAJAIAAoAuTdASIIIAdqIgYgACgCTEcNACACIAhqIAdqQQBBPyAGaxCGgICAABogACgC5N0BIAdqIQYMAQsCQCAGQRRLDQAgACAGNgLk3QEgASABKAIEIAdqNgIEDAMLIAZBa2ohBgsgAEEANgIQIAAgAjYCDCAAIAY2AhRBByEGIAAQmoCAgABFDQMgACgCECIIIAAoAuTdASIJIAdqSw0DIAAgACgCTCAIayIGNgJMAkAgCCAJTw0AIAAgCSAIayIHNgLk3QEgAiACIAhqIAcQhYCAgAAaDAILIABBADYC5N0BIAEgASgCBCAIIAlraiIINgIEIAEoAggiCiAIayEHCwJAIAdBFUkNACAAIAg2AhAgACABKAIANgIMIAAgCkFraiAIIAZqIAcgBkEVakkbNgIUQQchBiAAEJqAgIAARQ0DIAAoAkwiByAAKAIQIgggASgCBGsiCUkNAyABIAg2AgQgACAHIAlrIgY2AkwgASgCCCAIayIHQRRLDQELIAIgASgCACAIaiAHIAYgByAGSRsiBxCHgICAABogACAHNgLk3QEgASABKAIEIAdqNgIECyAAKAIgIgYgACgCHCIIayEHAkAgACgCPEUNAAJAIAYgACgCLEcNACAAQQA2AiALIAEoAgwgASgCEGogACgCGCAIaiAHEIeAgIAAGiAAKAIgIQYLIAAgBjYCHCABIAEoAhAgB2oiCDYCECAAIAAoAkgiBiAHazYCSAJAIAYgB0cNAEEHIQYgACgCTA0CIAAoAmgNAiAAKAIEDQIgAEEANgJADAQLQQAhBiAIIAEoAhRGDQEgASgCBCABKAIIRw0FIAAoAuTdASAAKAJMTw0FDAELAkADQCAAKAJMIghFDQFBACEGIAEoAggiCSAHTQ0CIAEoAhQiCiABKAIQIgtNDQIgACAIIAkgB2siBiAKIAtrIgkgBiAJSRsiBiAAKAIsIAAoAiAiCWsiCiAGIApJGyIGIAggBiAISRsiBms2AkwgCSAAKAIYaiABKAIAIAdqIAYQhYCAgAAaIAAgACgCICAGaiIHNgIgAkAgACgCJCAHTw0AIAAgBzYCJAsCQCAAKAI8RQ0AAkAgByAAKAIsRw0AIABBADYCIAsgASgCDCABKAIQaiABKAIAIAEoAgRqIAYQhYCAgAAaIAAoAiAhBwsgACAHNgIcIAEgASgCECAGajYCECABIAEoAgQgBmoiBzYCBAwACwsgAEEANgJADAQLIAYPCyAHwEF/Sg0BIABBATYCQCAAIAdBEHRBgID8AHE2AkgCQCAHQcABSQ0AIABBBTYCRCAAQQA6AFEMAwsgAC0AUQ0DIABBBjYCRCAHQaABSQ0CIANCADcCACADQRBqQQA2AgAgA0EIakIANwIAQfgAIQcDQCAAIAdqQYAIOwEAIAdBAmoiB0Hk3QFHDQALCyAAQQU2AgggAEL/////DzcCAAwBCyAHQQJLDQEgAEKDgICAgAE3AkAMAAsLQQcPC0EAC5wYARR/IABBGGohAQJAIABBIGooAgAiAiAAQShqKAIAIgNPDQAgAEHoAGoiBCgCAEUNACABIAQgACgCVBCegICAABogACgCKCEDIAAoAiAhAgsCQCACIANPDQAgAEHYC2ohBSAAQbwNaiEGIABB3A1qIQcgAEHoAGohCCAAQeAVaiEJIABB1ABqIQoDQCAAKAIQIgsgACgCFEsNASAAIAAoAmQiDEEFdGogACgCdCACcSINQQF0aiIOQfgAaiEPAkACQCAAKAIAIgNBgICACEkNACAAKAIEIRAMAQsgACADQQh0IgM2AgAgACALQQFqIgQ2AhAgACAAKAIEQQh0IAAoAgwgC2otAAByIhA2AgQgBCELCwJAAkAgECADQQt2IA8vAQAiEWwiBE8NACAAIAQ2AgAgDyARQYAQIBFrQQV2ajsBACACQX9qIQMCQCACDQAgACgCLCADaiEDCwJAAkAgACgCJCIRDQBBACEDDAELIAEoAgAgA2otAAAhAwsgACAAKAJwIAJxIAAoAmwiD3QgA0EIIA9rdmpBgAxsakHkHWohDgJAAkAgDEEGSw0AQQEhAwNAIA4gA0EBdCIDaiEQAkACQCAAKAIAIgRBgICACEkNACAAKAIEIQwMAQsgACAEQQh0IgQ2AgAgACAAKAIQIg9BAWo2AhAgACAAKAIEQQh0IA8gACgCDGotAAByIgw2AgQLAkACQCAMIARBC3YgEC8BACIRbCIPSQ0AIAAgDCAPazYCBCAEIA9rIQ8gA0EBciEDIBEgEUEFdmshBAwBCyARQYAQIBFrQQV2aiEECyAAIA82AgAgECAEOwEAIANBgAJJDQALIAAoAiAhAgwBCyACIAAoAlQiD0F/c2ohAwJAIAIgD0sNACAAKAIsIANqIQMLAkACQCARDQBBACESDAELIAEoAgAgA2otAAAhEgtBASEDQYACIQ8DQCAOIBJBAXQiEiAPcSITIA9qIANqQQF0aiERAkACQCAEQf///wdNDQAgBCENDAELIAAgBEEIdCINNgIAIAAgC0EBaiIENgIQIAAgEEEIdCAAKAIMIAtqLQAAciIQNgIEIAQhCwsCQAJAIBAgDUELdiARLwEAIgxsIgRPIhQNACAMQYAQIAxrQQV2aiEMDAELIAAgECAEayIQNgIEIA0gBGshBCAMIAxBBXZrIQxBACEPCyAAIAQ2AgAgESAMOwEAIA8gE3MhDyADQQF0IBRyIgNBgAJJDQALCyAAIAJBAWo2AiAgACgCGCACaiADOgAAAkAgACgCJCAAKAIgIgJPDQAgACACNgIkC0EAIQMCQCAAKAJkIgRBBEkNAAJAIARBCUsNACAEQX1qIQMMAQsgBEF6aiEDCyAAIAM2AmQMAQsgACADIARrIgM2AgAgACAQIARrIgQ2AgQgDyARIBFBBXZrOwEAIAAgDEEBdGoiEkH4A2ohDwJAAkAgA0H///8HTQ0AIAshEwwBCyAAIANBCHQiAzYCACAAIAtBAWoiEzYCECAAIARBCHQgACgCDCALai0AAHIiBDYCBAsCQAJAIAQgA0ELdiAPLwEAIhBsIhFJDQAgACADIBFrIgw2AgAgACAEIBFrIgM2AgQgDyAQIBBBBXZrOwEAIBJBkARqIQ8CQAJAIAxB////B00NACATIREMAQsgACAMQQh0Igw2AgAgACATQQFqIhE2AhAgACADQQh0IAAoAgwgE2otAAByIgM2AgQLAkACQCADIAxBC3YgDy8BACIQbCIETw0AIAAgBDYCACAPIBBBgBAgEGtBBXZqOwEAIA5B2ARqIQ8CQCAEQf///wdLDQAgACAEQQh0IgQ2AgAgACARQQFqNgIQIAAgA0EIdCAAKAIMIBFqLQAAciIDNgIECwJAIAMgBEELdiAPLwEAIhBsIhFJDQAgACAEIBFrNgIAIAAgAyARazYCBCAPIBAgEEEFdms7AQAMAgsgACARNgIAIA8gEEGAECAQa0EFdmo7AQAgAEEBNgJoIABBCUELIAAoAmRBB0kbNgJkDAMLIAAgDCAEayIMNgIAIAAgAyAEayIDNgIEIA8gECAQQQV2azsBACASQagEaiEEAkACQCAMQf///wdNDQAgESEODAELIAAgDEEIdCIMNgIAIAAgEUEBaiIONgIQIAAgA0EIdCAAKAIMIBFqLQAAciIDNgIECwJAAkAgAyAMQQt2IAQvAQAiD2wiEE8NACAAIBA2AgAgBCAPQYAQIA9rQQV2ajsBACAAKAJYIQMMAQsgACAMIBBrIhE2AgAgACADIBBrIgM2AgQgBCAPIA9BBXZrOwEAIBJBwARqIQ8CQCARQf///wdLDQAgACARQQh0IhE2AgAgACAOQQFqNgIQIAAgA0EIdCAAKAIMIA5qLQAAciIDNgIECwJAAkAgAyARQQt2IA8vAQAiEGwiBE8NACAQQYAQIBBrQQV2aiEQIAAoAlwhAwwBCyAAIAMgBGs2AgQgACgCYCEDIAAgACgCXDYCYCARIARrIQQgECAQQQV2ayEQCyAAIAQ2AgAgDyAQOwEAIAAgACgCWDYCXAsgACAAKAJUNgJYIAAgAzYCVAsgAEEIQQsgACgCZEEHSRs2AmQgACAJIA0Qn4CAgAAMAQsgACARNgIAIA8gEEGAECAQa0EFdmo7AQAgACAAKAJcNgJgIAAgACkCVDcCWCAAQQdBCiAAKAJkQQdJGzYCZCAAIAcgDRCfgICAACAKIAAoAmgiA0F+akEDIANBBkkbQQd0akGEB2ohDUEBIQMDQCANIANBAXQiA2ohEAJAAkAgACgCACIEQYCAgAhJDQAgACgCBCEMDAELIAAgBEEIdCIENgIAIAAgACgCECIPQQFqNgIQIAAgACgCBEEIdCAPIAAoAgxqLQAAciIMNgIECwJAAkAgDCAEQQt2IBAvAQAiEWwiD0kNACAAIAwgD2s2AgQgBCAPayEPIANBAXIhAyARIBFBBXZrIQQMAQsgEUGAECARa0EFdmohBAsgACAPNgIAIBAgBDsBACADQcAASQ0ACwJAIANBQGoiBEEDSw0AIAAgBDYCVAwBCyAAIANBAXFBAnIiDzYCVCAEQQF2IRACQCAEQQ1LDQAgACAPIBBBf2oiDnQiBDYCVEEBIQ8gBSAEQQF0akHAACADa0EBdGpBfmohEkEAIQwDQCASIA9BAXQiD2ohEAJAAkAgACgCACIDQYCAgAhJDQAgACgCBCENDAELIAAgA0EIdCIDNgIAIAAgACgCECIEQQFqNgIQIAAgACgCBEEIdCAEIAAoAgxqLQAAciINNgIECwJAAkAgDSADQQt2IBAvAQAiEWwiBEkNACAAIA0gBGs2AgQgACAAKAJUQQEgDHRqNgJUIAMgBGshBCAPQQFyIQ8gESARQQV2ayEDDAELIBFBgBAgEWtBBXZqIQMLIAAgBDYCACAQIAM7AQAgDiAMQQFqIgxHDQAMAgsLIBBBe2ohECAAKAIEIQQgACgCACEDA0ACQCADQf///wdLDQAgACADQQh0IgM2AgAgACAAKAIQIhFBAWo2AhAgBEEIdCARIAAoAgxqLQAAciEECyAAIANBAXYiAzYCACAAIAQgA2siBEEfdSIRIA9BAXRqQQFqIg82AlQgACARIANxIARqIgQ2AgQgEEF/aiIQDQALIAAgD0EEdDYCVEEAIQxBASEPA0AgBiAPQQF0Ig9qIRACQAJAIAAoAgAiA0GAgIAISQ0AIAAoAgQhDQwBCyAAIANBCHQiAzYCACAAIAAoAhAiBEEBajYCECAAIAAoAgRBCHQgBCAAKAIMai0AAHIiDTYCBAsCQAJAIA0gA0ELdiAQLwEAIhFsIgRJDQAgACANIARrNgIEIAAgACgCVEEBIAx0ajYCVCADIARrIQQgD0EBciEPIBEgEUEFdmshAwwBCyARQYAQIBFrQQV2aiEDCyAAIAQ2AgAgECADOwEAIAxBAWoiDEEERw0ACwsCQCABIAggACgCVBCegICAAA0AQQAPCyAAKAIgIQILIAIgACgCKEkNAAsLQQEhAwJAIAAoAgAiBEH///8HSw0AIAAgBEEIdDYCAEEBIQMgACAAKAIQIgRBAWo2AhAgACAAKAIEQQh0IAQgACgCDGotAAByNgIECyADC3ABAX8CQEGo3gEQgICAgAAiAkUNACACQTRqIAE2AgAgAkE8aiAANgIAAkACQAJAIABBf2oOAgABAgsgAiABEICAgIAAIgA2AhggAA0BIAIQgoCAgAAMAgsgAkEANgIYIAJBOGpBADYCAAsgAg8LQQAL0gEBAn9BBiECAkAgAUEnSw0AIABBMGogAUEBcUECciABQQF2QQtqdCIBNgIAAkACQCAAQTxqKAIAIgNFDQBBBCECIAEgAEE0aigCAEsNAiAAQSxqIAE2AgAgA0ECRw0AIABBOGoiAygCACABTw0AIAAgATYCOCAAKAIYEIKAgIAAIAAgACgCMBCAgICAACIBNgIYIAENAEEDIQIMAQtBACECIABBADYCQCAAQdAAakEBOgAAIABB6ABqQQA2AgAgAEHk3QFqIQMLIANBADYCAAsgAgsjAAJAIABBPGooAgBFDQAgACgCGBCCgICAAAsgABCCgICAAAvHAQEDf0EAIQMCQCAAKAIMIAJNDQAgACgCGCACTQ0AIAEgASgCACIDIAAoAhAgACgCCCIEayIFIAMgBSADSRsiBWs2AgAgBCACQX9zaiEDAkAgBCACSw0AIAAoAhQgA2ohAwsDQCAAKAIAIgIgA2otAAAhASAAIAAoAggiBEEBajYCCCACIARqIAE6AABBACADQQFqIgMgAyAAKAIURhshAyAFQX9qIgUNAAtBASEDIAAoAgwgACgCCCIFTw0AIAAgBTYCDAsgAwvoBAEGfwJAAkAgACgCACIDQYCAgAhJDQAgACgCBCEEDAELIAAgA0EIdCIDNgIAIAAgACgCECIFQQFqNgIQIAAgACgCBEEIdCAFIAAoAgxqLQAAciIENgIECwJAAkAgBCADQQt2IAEvAQAiBWwiBk8NACAAIAY2AgAgASAFQYAQIAVrQQV2ajsBACABIAJBBHRqQQRqIQdBCCEIQQIhAQwBCyAAIAMgBmsiAzYCACAAIAQgBmsiBDYCBCABIAUgBUEFdms7AQACQCADQf///wdLDQAgACADQQh0IgM2AgAgACAAKAIQIgVBAWo2AhAgACAEQQh0IAUgACgCDGotAAByIgQ2AgQLAkAgBCADQQt2IAEvAQIiBWwiBk8NACAAIAY2AgAgASAFQYAQIAVrQQV2ajsBAiABIAJBBHRqQYQCaiEHQQghCEEKIQEMAQsgACADIAZrNgIAIAAgBCAGazYCBCABIAUgBUEFdms7AQIgAUGEBGohB0GAAiEIQRIhAQsgAEHoAGogATYCAEEBIQEDQCAHIAFBAXQiAWohBAJAAkAgACgCACIDQYCAgAhJDQAgACgCBCECDAELIAAgA0EIdCIDNgIAIAAgACgCECIFQQFqNgIQIAAgACgCBEEIdCAFIAAoAgxqLQAAciICNgIECwJAAkAgAiADQQt2IAQvAQAiBmwiBUkNACAAIAIgBWs2AgQgAyAFayEFIAFBAXIhASAGIAZBBXZrIQMMAQsgBkGAECAGa0EFdmohAwsgACAFNgIAIAQgAzsBACABIAhJDQALIABB6ABqIgAgASAIayAAKAIAajYCAAsLNQEAQYAICy4IAAAAEAAAABgAAAAgAAAAKAAAADAAAABAAAAAUAAAAIAAAAAAAQAA/Td6WFoA"
2},A=>{A.exports=e}],t={};function r(e){var n=t[e];if(void 0!==n)return n.exports;var s=t[e]={exports:{}};return A[e](s,s.exports,r),s.exports}r.d=(e,A)=>{for(var t in A)r.o(A,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:A[t]})},r.o=(e,A)=>Object.prototype.hasOwnProperty.call(e,A),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};return(()=>{r.r(n),r.d(n,{XzReadableStream:()=>o});var e=r(1);const A=globalThis.ReadableStream||r(2).ReadableStream;class t{constructor(e){this.exports=e.exports,this.memory=this.exports.memory,this.ptr=this.exports.create_context(),this._refresh(),this.bufSize=this.mem32[0],this.inStart=this.mem32[1]-this.ptr,this.inEnd=this.inStart+this.bufSize,this.outStart=this.mem32[4]-this.ptr}supplyInput(e){this._refresh(),this.mem8.subarray(this.inStart,this.inEnd).set(e,0),this.exports.supply_input(this.ptr,e.byteLength),this._refresh()}getNextOutput(){const e=this.exports.get_next_output(this.ptr);if(this._refresh(),0!==e&&1!==e)throw new Error(`get_next_output failed with error code ${e}`);return{outChunk:this.mem8.slice(this.outStart,this.outStart+this.mem32[5]),finished:1===e}}needsMoreInput(){return this.mem32[2]===this.mem32[3]}outputBufferIsFull(){return this.mem32[5]===this.bufSize}resetOutputBuffer(){this.outPos=this.mem32[5]=0}dispose(){this.exports.destroy_context(this.ptr),this.exports=null}_refresh(){this.memory.buffer!==this.mem8?.buffer&&(this.mem8=new Uint8Array(this.memory.buffer,this.ptr),this.mem32=new Uint32Array(this.memory.buffer,this.ptr))}}class s{constructor(){this.locked=!1,this.waitQueue=[]}async acquire(){if(this.locked)return new Promise(e=>{this.waitQueue.push(e)});this.locked=!0}release(){this.waitQueue.length>0?this.waitQueue.shift()():this.locked=!1}}class o extends A{static _moduleInstancePromise;static _moduleInstance;static _contextMutex=new s;static async _getModuleInstance(){const A=e.replace("data:application/wasm;base64,",""),t=Uint8Array.from(atob(A),e=>e.charCodeAt(0)).buffer,r=await WebAssembly.instantiate(t,{});o._moduleInstance=r.instance}constructor(e){let A,r=null;const n=e.getReader();super({async start(e){await o._contextMutex.acquire();try{o._moduleInstance||await(o._moduleInstancePromise||(o._moduleInstancePromise=o._getModuleInstance())),A=new t(o._moduleInstance)}catch(e){throw o._contextMutex.release(),e}},async pull(e){try{if(A.needsMoreInput()){if(null===r||0===r.byteLength){const{done:e,value:A}=await n.read();e||(r=A)}const e=Math.min(A.bufSize,r.byteLength);A.supplyInput(r.subarray(0,e)),r=r.subarray(e)}const t=A.getNextOutput();e.enqueue(t.outChunk),A.resetOutputBuffer(),t.finished&&(A.dispose(),o._contextMutex.release(),e.close())}catch(e){throw A&&A.dispose(),o._contextMutex.release(),e}},cancel(){try{return A&&A.dispose(),n.cancel()}finally{o._contextMutex.release()}}})}}})(),n})(),e.exports=r(t(81239))},80962:e=>{function A(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}e.exports=function(e){return null!=e&&(A(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&A(e.slice(0,0))}(e)||!!e._isBuffer)}}
vendor: 1,322 bytes, lines 2-3
2,93647:e=>{var A,t;A="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t={rotl:function(e,A){return e<<A|e>>>32-A},rotr:function(e,A){return e<<32-A|e>>>A},endian:function(e){if(e.constructor==Number)return 16711935&t.rotl(e,8)|4278255360&t.rotl(e,24);for(var A=0;A<e.length;A++)e[A]=t.endian(e[A]);return e},randomBytes:function(e){for(var A=[];e>0;e--)A.push(Math.floor(256*Math.random()));return A},bytesToWords:function(e){for(var A=[],t=0,r=0;t<e.length;t++,r+=8)A[r>>>5]|=e[t]<<24-r%32;return A},wordsToBytes:function(e){for(var A=[],t=0;t<32*e.length;t+=8)A.push(e[t>>>5]>>>24-t%32&255);return A},bytesToHex:function(e){for(var A=[],t=0;t<e.length;t++)A.push((e[t]>>>4).toString(16)),A.push((15&e[t]).toString(16));return A.join("")},hexToBytes:function(e){for(var A=[],t=0;t<e.length;t+=2)A.push(parseInt(e.substr(t,2),16));return A},bytesToBase64:function(e){for(var t=[],r=0;r<e.length;r+=3)for(var n=e[r]<<16|e[r+1]<<8|e[r+2],s=0;s<4;s++)8*r+6*s<=8*e.length?t.push(A.charAt(n>>>6*(3-s)&63)):t.push("=");return t.join("")},base64ToBytes:function(e){e=e.replace(/[^A-Z0-9+\/]/gi,"");for(var t=[],r=0,n=0;r<e.length;n=++r%4)0!=n&&t.push((A.indexOf(e.charAt(r-1))&Math.pow(2,-2*n+8)-1)<<2*n|A.indexOf(e.charAt(r))>>>6-2*n);return t}},e.exports=t}}]); 3//# sourceMappingURL=4808.313484ff.chunk.js.map
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.