replaywebpage 2.3.13 → 2.3.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/sw.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! sw.js (wabac.js 2.23.3) is part of Webrecorder project. Copyright (C) 2020-2025, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={9742:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},4181:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},7080:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},6450:(t,e,r)=>{var i=r(6154).g,n=r(6154).j,s=r(4181),o=r(5139),a=r(966).h,c=r(966).g,l=r(7080),h=r(8435),u=r(2973),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),y=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function m(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function b(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function A(t){var e,r,i,n=new b;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function v(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function _(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),y=32,m=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&y>0;++f){var b,A=d[f],v=0;i.fillBitWindow(),v+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[v].bits,b=w[v].value,g[A]=b,0!==b&&(y-=32>>b,++m)}if(1!==m&&0!==y)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,y,m=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=m),n+(y=(o+=i.readBits(m)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var b=0;b<y;b++)r[n+b]=l;n+=y,0!==l&&(h-=y<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function E(t,e,r){var i,n;return i=v(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function S(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function x(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function T(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*y[t+31>>>5]),this.htrees=new Uint32Array(e)}function C(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(_(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=v(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&x(i,n)}}(c,t),n}function I(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=v(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c)for(t.write(i,c),l-=c,p=0;p<l;p++)i[p]=i[c+p];for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function N(t){var e=new i(t),r=new s(e);return m(r),A(r).meta_block_length}function O(t,e){var r,i,n,c,d,f,g,y,b,x,N=0,O=0,B=0,P=[16,15,11,4],D=0,L=0,U=0,M=[new T(0,0),new T(0,0),new T(0,0)],F=128+s.READ_SIZE;n=(1<<(i=m(x=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,y=[],b=[];for(var H=0;H<3240;H++)y[H]=new a(0,0),b[H]=new a(0,0);for(;!O;){var W,j,V,G,z,q,Q,K,Y,J,X,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;x.readMoreInput();var ut=A(x);if(N+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(N+Z);pt.set(e.buffer),e.buffer=pt}if(O=ut.input_end,W=ut.is_uncompressed,ut.is_metadata)for(k(x);Z>0;--Z)x.readMoreInput(),x.readBits(8);else if(0!==Z)if(W)x.bit_pos_=x.bit_pos_+7&-8,R(e,Z,N,f,d,x),N+=Z;else{for(r=0;r<3;++r)et[r]=w(x)+1,et[r]>=2&&(_(et[r]+2,y,r*p,x),_(26,b,r*p,x),$[r]=E(b,r*p,x),it[r]=1);for(x.readMoreInput(),G=(1<<(j=x.readBits(2)))-1,z=(V=16+(x.readBits(4)<<j))+(48<<j),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)x.readMoreInput(),nt[r]=x.readBits(2)<<1;var dt=C(et[0]<<6,x);Q=dt.num_htrees,q=dt.context_map;var ft=C(et[2]<<2,x);for(Y=ft.num_htrees,K=ft.context_map,M[0]=new T(256,Q),M[1]=new T(704,et[1]),M[2]=new T(z,Y),r=0;r<3;++r)M[r].decode(x);for(st=0,at=0,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1],X=M[1].htrees[0];Z>0;){var gt,yt,mt,wt,bt,At,vt,_t,Et,St,xt,Tt;for(x.readMoreInput(),0===$[1]&&(I(et[1],y,1,tt,rt,it,x),$[1]=E(b,p,x),X=M[1].htrees[tt[1]]),--$[1],(yt=(gt=v(M[1].codes,X,x))>>6)>=2?(yt-=2,vt=-1):vt=0,mt=h.kInsertRangeLut[yt]+(gt>>3&7),wt=h.kCopyRangeLut[yt]+(7&gt),bt=h.kInsertLengthPrefixCode[mt].offset+x.readBits(h.kInsertLengthPrefixCode[mt].nbits),At=h.kCopyLengthPrefixCode[wt].offset+x.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[N-1&d],U=f[N-2&d],Et=0;Et<bt;++Et)x.readMoreInput(),0===$[0]&&(I(et[0],y,0,tt,rt,it,x),$[0]=E(b,0,x),st=tt[0]<<6,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1]),ot=q[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=v(M[0].codes,M[0].htrees[ot],x),f[N&d]=L,(N&d)===d&&e.write(f,c),++N;if((Z-=bt)<=0)break;if(vt<0&&(x.readMoreInput(),0===$[2]&&(I(et[2],y,2,tt,rt,it,x),$[2]=E(b,2160,x),at=tt[2]<<2),--$[2],ct=K[at+(255&(At>4?3:At-2))],(vt=v(M[2].codes,M[2].htrees[ct],x))>=V&&(Tt=(vt-=V)&G,vt=V+((Ct=(2+(1&(vt>>=j))<<(xt=1+(vt>>1)))-4)+x.readBits(xt)<<j)+Tt)),(_t=S(vt,P,D))<0)throw new Error("[BrotliDecompress] invalid distance");if(St=N&d,_t>(B=N<n&&B!==n?N:n)){if(!(At>=o.minDictionaryWordLength&&At<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Ct=o.offsetsByLength[At],It=_t-B-1,Rt=o.sizeBitsByLength[At],kt=It>>Rt;if(Ct+=(It&(1<<Rt)-1)*At,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Nt=u.transformDictionaryWord(f,St,Ct,At,kt);if(N+=Nt,Z-=Nt,(St+=Nt)>=g){e.write(f,c);for(var Ot=0;Ot<St-g;Ot++)f[Ot]=f[g+Ot]}}else{if(vt>0&&(P[3&D]=_t,++D),At>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);for(Et=0;Et<At;++Et)f[N&d]=f[N-_t&d],(N&d)===d&&e.write(f,c),++N,--Z}L=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}T.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=_(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=N(t));var s=new Uint8Array(e),o=new n(s);return O(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},5340:(t,e,r)=>{var i=r(4789);e.init=function(){return(0,r(6450).BrotliDecompressBuffer)(i.toByteArray(r(2722)))}},2722:t=>{t.exports="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"},5139:(t,e,r)=>{var i=r(5340);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},966:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.h=r;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function n(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function s(t,e,r){for(var i=1<<e-r;e<15&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.g=function(t,e,o,a,c){var l,h,u,p,d,f,g,y,m,w,b=e,A=new Int32Array(16),v=new Int32Array(16);for(w=new Int32Array(c),h=0;h<c;h++)A[a[h]]++;for(v[1]=0,l=1;l<15;l++)v[l+1]=v[l]+A[l];for(h=0;h<c;h++)0!==a[h]&&(w[v[a[h]]++]=h);if(m=y=1<<(g=o),1===v[15]){for(u=0;u<m;++u)t[e+u]=new r(0,65535&w[0]);return m}for(u=0,h=0,l=1,p=2;l<=o;++l,p<<=1)for(;A[l]>0;--A[l])n(t,e+u,p,y,new r(255&l,65535&w[h++])),u=i(u,l);for(f=m-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;A[l]>0;--A[l])(u&f)!==d&&(e+=y,m+=y=1<<(g=s(A,l,o)),t[b+(d=u&f)]=new r(g+o&255,e-b-d&65535)),n(t,e+(u>>o),p,y,new r(l-o&255,65535&w[h++])),u=i(u,l);return m}},8435:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},6154:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.g=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.j=i},2973:(t,e,r)=>{var i=r(5139),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,y=e;f>o&&(f=o);for(var m=0;m<u.length;)t[e++]=u[m++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var b=0;b<p.length;)t[e++]=p[b++];return e-y}},7709:(t,e,r)=>{t.exports=r(6450).BrotliDecompressBuffer},4789:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(t,e,r)=>{
1
+ /*! sw.js (wabac.js 2.23.7) is part of Webrecorder project. Copyright (C) 2020-2025, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={9742:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;return 2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e),l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},4181:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},7080:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},6450:(t,e,r)=>{var i=r(6154).g,n=r(6154).j,s=r(4181),o=r(5139),a=r(966).h,c=r(966).g,l=r(7080),h=r(8435),u=r(2973),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),y=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function m(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function b(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function A(t){var e,r,i,n=new b;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function v(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function _(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),y=32,m=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&y>0;++f){var b,A=d[f],v=0;i.fillBitWindow(),v+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[v].bits,b=w[v].value,g[A]=b,0!==b&&(y-=32>>b,++m)}if(1!==m&&0!==y)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,y,m=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=m),n+(y=(o+=i.readBits(m)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var b=0;b<y;b++)r[n+b]=l;n+=y,0!==l&&(h-=y<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function E(t,e,r){var i,n;return i=v(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function S(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function x(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function T(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*y[t+31>>>5]),this.htrees=new Uint32Array(e)}function C(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(_(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=v(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&x(i,n)}}(c,t),n}function I(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=v(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c)for(t.write(i,c),l-=c,p=0;p<l;p++)i[p]=i[c+p];for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function N(t){var e=new i(t),r=new s(e);return m(r),A(r).meta_block_length}function O(t,e){var r,i,n,c,d,f,g,y,b,x,N=0,O=0,B=0,P=[16,15,11,4],D=0,L=0,U=0,M=[new T(0,0),new T(0,0),new T(0,0)],F=128+s.READ_SIZE;n=(1<<(i=m(x=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,y=[],b=[];for(var H=0;H<3240;H++)y[H]=new a(0,0),b[H]=new a(0,0);for(;!O;){var W,j,V,G,z,q,Q,K,Y,J,X,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;x.readMoreInput();var ut=A(x);if(N+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(N+Z);pt.set(e.buffer),e.buffer=pt}if(O=ut.input_end,W=ut.is_uncompressed,ut.is_metadata)for(k(x);Z>0;--Z)x.readMoreInput(),x.readBits(8);else if(0!==Z)if(W)x.bit_pos_=x.bit_pos_+7&-8,R(e,Z,N,f,d,x),N+=Z;else{for(r=0;r<3;++r)et[r]=w(x)+1,et[r]>=2&&(_(et[r]+2,y,r*p,x),_(26,b,r*p,x),$[r]=E(b,r*p,x),it[r]=1);for(x.readMoreInput(),G=(1<<(j=x.readBits(2)))-1,z=(V=16+(x.readBits(4)<<j))+(48<<j),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)x.readMoreInput(),nt[r]=x.readBits(2)<<1;var dt=C(et[0]<<6,x);Q=dt.num_htrees,q=dt.context_map;var ft=C(et[2]<<2,x);for(Y=ft.num_htrees,K=ft.context_map,M[0]=new T(256,Q),M[1]=new T(704,et[1]),M[2]=new T(z,Y),r=0;r<3;++r)M[r].decode(x);for(st=0,at=0,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1],X=M[1].htrees[0];Z>0;){var gt,yt,mt,wt,bt,At,vt,_t,Et,St,xt,Tt;for(x.readMoreInput(),0===$[1]&&(I(et[1],y,1,tt,rt,it,x),$[1]=E(b,p,x),X=M[1].htrees[tt[1]]),--$[1],(yt=(gt=v(M[1].codes,X,x))>>6)>=2?(yt-=2,vt=-1):vt=0,mt=h.kInsertRangeLut[yt]+(gt>>3&7),wt=h.kCopyRangeLut[yt]+(7&gt),bt=h.kInsertLengthPrefixCode[mt].offset+x.readBits(h.kInsertLengthPrefixCode[mt].nbits),At=h.kCopyLengthPrefixCode[wt].offset+x.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[N-1&d],U=f[N-2&d],Et=0;Et<bt;++Et)x.readMoreInput(),0===$[0]&&(I(et[0],y,0,tt,rt,it,x),$[0]=E(b,0,x),st=tt[0]<<6,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1]),ot=q[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=v(M[0].codes,M[0].htrees[ot],x),f[N&d]=L,(N&d)===d&&e.write(f,c),++N;if((Z-=bt)<=0)break;if(vt<0&&(x.readMoreInput(),0===$[2]&&(I(et[2],y,2,tt,rt,it,x),$[2]=E(b,2160,x),at=tt[2]<<2),--$[2],ct=K[at+(255&(At>4?3:At-2))],(vt=v(M[2].codes,M[2].htrees[ct],x))>=V&&(Tt=(vt-=V)&G,vt=V+((Ct=(2+(1&(vt>>=j))<<(xt=1+(vt>>1)))-4)+x.readBits(xt)<<j)+Tt)),(_t=S(vt,P,D))<0)throw new Error("[BrotliDecompress] invalid distance");if(St=N&d,_t>(B=N<n&&B!==n?N:n)){if(!(At>=o.minDictionaryWordLength&&At<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Ct=o.offsetsByLength[At],It=_t-B-1,Rt=o.sizeBitsByLength[At],kt=It>>Rt;if(Ct+=(It&(1<<Rt)-1)*At,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);var Nt=u.transformDictionaryWord(f,St,Ct,At,kt);if(N+=Nt,Z-=Nt,(St+=Nt)>=g){e.write(f,c);for(var Ot=0;Ot<St-g;Ot++)f[Ot]=f[g+Ot]}}else{if(vt>0&&(P[3&D]=_t,++D),At>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+_t+" len: "+At+" bytes left: "+Z);for(Et=0;Et<At;++Et)f[N&d]=f[N-_t&d],(N&d)===d&&e.write(f,c),++N,--Z}L=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}T.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=_(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=N(t));var s=new Uint8Array(e),o=new n(s);return O(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},5340:(t,e,r)=>{var i=r(4789);e.init=function(){return(0,r(6450).BrotliDecompressBuffer)(i.toByteArray(r(2722)))}},2722:t=>{t.exports="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"},5139:(t,e,r)=>{var i=r(5340);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},966:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.h=r;function i(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function n(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function s(t,e,r){for(var i=1<<e-r;e<15&&!((i-=t[e])<=0);)++e,i<<=1;return e-r}e.g=function(t,e,o,a,c){var l,h,u,p,d,f,g,y,m,w,b=e,A=new Int32Array(16),v=new Int32Array(16);for(w=new Int32Array(c),h=0;h<c;h++)A[a[h]]++;for(v[1]=0,l=1;l<15;l++)v[l+1]=v[l]+A[l];for(h=0;h<c;h++)0!==a[h]&&(w[v[a[h]]++]=h);if(m=y=1<<(g=o),1===v[15]){for(u=0;u<m;++u)t[e+u]=new r(0,65535&w[0]);return m}for(u=0,h=0,l=1,p=2;l<=o;++l,p<<=1)for(;A[l]>0;--A[l])n(t,e+u,p,y,new r(255&l,65535&w[h++])),u=i(u,l);for(f=m-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;A[l]>0;--A[l])(u&f)!==d&&(e+=y,m+=y=1<<(g=s(A,l,o)),t[b+(d=u&f)]=new r(g+o&255,e-b-d&65535)),n(t,e+(u>>o),p,y,new r(l-o&255,65535&w[h++])),u=i(u,l);return m}},8435:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},6154:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.g=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.j=i},2973:(t,e,r)=>{var i=r(5139),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,y=e;f>o&&(f=o);for(var m=0;m<u.length;)t[e++]=u[m++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var b=0;b<p.length;)t[e++]=p[b++];return e-y}},7709:(t,e,r)=>{t.exports=r(6450).BrotliDecompressBuffer},4789:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e),c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,l=i-n;a<l;a+=o)s.push(c(t,a,a+o>l?l:a+o));return 1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"=")),s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t,e,i){for(var n,s,o=[],a=e;a<i;a+=3)n=(t[a]<<16&16711680)+(t[a+1]<<8&65280)+(255&t[a+2]),o.push(r[(s=n)>>18&63]+r[s>>12&63]+r[s>>6&63]+r[63&s]);return o.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8764:(t,e,r)=>{
2
2
  /*!
3
3
  * The buffer module from node.js, for the browser.
4
4
  *
@@ -23,7 +23,7 @@ See the Apache Version 2.0 License for specific language governing permissions
23
23
  and limitations under the License.
24
24
  ***************************************************************************** */!function(t){!function(e){var i="object"==typeof r.g?r.g:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),s=o(t);function o(t,e){return function(r,i){"function"!=typeof t[r]&&Object.defineProperty(t,r,{configurable:!0,writable:!0,value:i}),e&&e(r,i)}}void 0===i.Reflect?i.Reflect=t:s=o(i.Reflect,s),function(t){var e=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,i=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",s=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",o="function"==typeof Object.create,a={__proto__:[]}instanceof Array,c=!o&&!a,l={create:o?function(){return M(Object.create(null))}:a?function(){return M({__proto__:null})}:function(){return M({})},has:c?function(t,r){return e.call(t,r)}:function(t,e){return e in t},get:c?function(t,r){return e.call(t,r)?t[r]:void 0}:function(t,e){return t[e]}},h=Object.getPrototypeOf(Function),u="object"==typeof n&&n.env&&"true"===n.env.REFLECT_METADATA_USE_MAP_POLYFILL,p=u||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?function(){var t={},e=[],r=function(){function t(t,e,r){this._index=0,this._keys=t,this._values=e,this._selector=r}return t.prototype["@@iterator"]=function(){return this},t.prototype[s]=function(){return this},t.prototype.next=function(){var t=this._index;if(t>=0&&t<this._keys.length){var r=this._selector(this._keys[t],this._values[t]);return t+1>=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},t.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},t.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},t}();return function(){function e(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this._find(t,!1)>=0},e.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},e.prototype.set=function(t,e){var r=this._find(t,!0);return this._values[r]=e,this},e.prototype.delete=function(e){var r=this._find(e,!1);if(r>=0){for(var i=this._keys.length,n=r+1;n<i;n++)this._keys[n-1]=this._keys[n],this._values[n-1]=this._values[n];return this._keys.length--,this._values.length--,e===this._cacheKey&&(this._cacheKey=t,this._cacheIndex=-2),!0}return!1},e.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=t,this._cacheIndex=-2},e.prototype.keys=function(){return new r(this._keys,this._values,i)},e.prototype.values=function(){return new r(this._keys,this._values,n)},e.prototype.entries=function(){return new r(this._keys,this._values,o)},e.prototype["@@iterator"]=function(){return this.entries()},e.prototype[s]=function(){return this.entries()},e.prototype._find=function(t,e){return this._cacheKey!==t&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=t)),this._cacheIndex<0&&e&&(this._cacheIndex=this._keys.length,this._keys.push(t),this._values.push(void 0)),this._cacheIndex},e}();function i(t,e){return t}function n(t,e){return e}function o(t,e){return[t,e]}}():Map,d=u||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?function(){function t(){this._map=new p}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this._map.has(t)},t.prototype.add=function(t){return this._map.set(t,t),this},t.prototype.delete=function(t){return this._map.delete(t)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.values()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[s]=function(){return this.keys()},t}():Set,f=new(u||"function"!=typeof WeakMap?function(){var t=16,r=l.create(),i=n();return function(){function t(){this._key=n()}return t.prototype.has=function(t){var e=s(t,!1);return void 0!==e&&l.has(e,this._key)},t.prototype.get=function(t){var e=s(t,!1);return void 0!==e?l.get(e,this._key):void 0},t.prototype.set=function(t,e){return s(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=s(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=n()},t}();function n(){var t;do{t="@@WeakMap@@"+a()}while(l.has(r,t));return r[t]=!0,t}function s(t,r){if(!e.call(t,i)){if(!r)return;Object.defineProperty(t,i,{value:l.create()})}return t[i]}function o(t,e){for(var r=0;r<e;++r)t[r]=255*Math.random()|0;return t}function a(){var e=function(t){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(t)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(t)):o(new Uint8Array(t),t):o(new Array(t),t)}(t);e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var r="",i=0;i<t;++i){var n=e[i];4!==i&&6!==i&&8!==i||(r+="-"),n<16&&(r+="0"),r+=n.toString(16).toLowerCase()}return r}}():WeakMap);function g(t,e,r){var i=f.get(t);if(S(i)){if(!r)return;i=new p,f.set(t,i)}var n=i.get(e);if(S(n)){if(!r)return;n=new p,i.set(e,n)}return n}function y(t,e,r){if(m(t,e,r))return!0;var i=U(e);return!x(i)&&y(t,i,r)}function m(t,e,r){var i=g(e,r,!1);return!S(i)&&function(t){return!!t}(i.has(t))}function w(t,e,r){if(m(t,e,r))return b(t,e,r);var i=U(e);return x(i)?void 0:w(t,i,r)}function b(t,e,r){var i=g(e,r,!1);if(!S(i))return i.get(t)}function A(t,e,r,i){g(r,i,!0).set(t,e)}function v(t,e){var r=_(t,e),i=U(t);if(null===i)return r;var n=v(i,e);if(n.length<=0)return r;if(r.length<=0)return n;for(var s=new d,o=[],a=0,c=r;a<c.length;a++){var l=c[a];s.has(l)||(s.add(l),o.push(l))}for(var h=0,u=n;h<u.length;h++)l=u[h],s.has(l)||(s.add(l),o.push(l));return o}function _(t,e){var r=[],i=g(t,e,!1);if(S(i))return r;for(var n=B(i.keys()),s=0;;){var o=D(n);if(!o)return r.length=s,r;var a=P(o);try{r[s]=a}catch(t){try{L(n)}finally{throw t}}s++}}function E(t){if(null===t)return 1;switch(typeof t){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===t?1:6;default:return 6}}function S(t){return void 0===t}function x(t){return null===t}function T(t){return"object"==typeof t?null!==t:"function"==typeof t}function C(t,e){switch(E(t)){case 0:case 1:case 2:case 3:case 4:case 5:return t}var r=3===e?"string":5===e?"number":"default",n=O(t,i);if(void 0!==n){var s=n.call(t,r);if(T(s))throw new TypeError;return s}return function(t,e){if("string"===e){var r=t.toString;if(k(r)&&!T(n=r.call(t)))return n;if(k(i=t.valueOf)&&!T(n=i.call(t)))return n}else{var i;if(k(i=t.valueOf)&&!T(n=i.call(t)))return n;var n,s=t.toString;if(k(s)&&!T(n=s.call(t)))return n}throw new TypeError}(t,"default"===r?"number":r)}function I(t){var e=C(t,3);return function(t){return"symbol"==typeof t}(e)?e:function(t){return""+t}(e)}function R(t){return Array.isArray?Array.isArray(t):t instanceof Object?t instanceof Array:"[object Array]"===Object.prototype.toString.call(t)}function k(t){return"function"==typeof t}function N(t){return"function"==typeof t}function O(t,e){var r=t[e];if(null!=r){if(!k(r))throw new TypeError;return r}}function B(t){var e=O(t,s);if(!k(e))throw new TypeError;var r=e.call(t);if(!T(r))throw new TypeError;return r}function P(t){return t.value}function D(t){var e=t.next();return!e.done&&e}function L(t){var e=t.return;e&&e.call(t)}function U(t){var e=Object.getPrototypeOf(t);if("function"!=typeof t||t===h)return e;if(e!==h)return e;var r=t.prototype,i=r&&Object.getPrototypeOf(r);if(null==i||i===Object.prototype)return e;var n=i.constructor;return"function"!=typeof n||n===t?e:n}function M(t){return t.__=void 0,delete t.__,t}t("decorate",(function(t,e,r,i){if(S(r)){if(!R(t))throw new TypeError;if(!N(e))throw new TypeError;return function(t,e){for(var r=t.length-1;r>=0;--r){var i=(0,t[r])(e);if(!S(i)&&!x(i)){if(!N(i))throw new TypeError;e=i}}return e}(t,e)}if(!R(t))throw new TypeError;if(!T(e))throw new TypeError;if(!T(i)&&!S(i)&&!x(i))throw new TypeError;return x(i)&&(i=void 0),function(t,e,r,i){for(var n=t.length-1;n>=0;--n){var s=(0,t[n])(e,r,i);if(!S(s)&&!x(s)){if(!T(s))throw new TypeError;i=s}}return i}(t,e,r=I(r),i)})),t("metadata",(function(t,e){return function(r,i){if(!T(r))throw new TypeError;if(!S(i)&&!function(t){switch(E(t)){case 3:case 4:return!0;default:return!1}}(i))throw new TypeError;A(t,e,r,i)}})),t("defineMetadata",(function(t,e,r,i){if(!T(r))throw new TypeError;return S(i)||(i=I(i)),A(t,e,r,i)})),t("hasMetadata",(function(t,e,r){if(!T(e))throw new TypeError;return S(r)||(r=I(r)),y(t,e,r)})),t("hasOwnMetadata",(function(t,e,r){if(!T(e))throw new TypeError;return S(r)||(r=I(r)),m(t,e,r)})),t("getMetadata",(function(t,e,r){if(!T(e))throw new TypeError;return S(r)||(r=I(r)),w(t,e,r)})),t("getOwnMetadata",(function(t,e,r){if(!T(e))throw new TypeError;return S(r)||(r=I(r)),b(t,e,r)})),t("getMetadataKeys",(function(t,e){if(!T(t))throw new TypeError;return S(e)||(e=I(e)),v(t,e)})),t("getOwnMetadataKeys",(function(t,e){if(!T(t))throw new TypeError;return S(e)||(e=I(e)),_(t,e)})),t("deleteMetadata",(function(t,e,r){if(!T(e))throw new TypeError;S(r)||(r=I(r));var i=g(e,r,!1);if(S(i))return!1;if(!i.delete(t))return!1;if(i.size>0)return!0;var n=f.get(e);return n.delete(r),n.size>0||f.delete(e),!0}))}(s)}()}(i||(i={}))},9509:(t,e,r)=>{
25
25
  /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
26
- var i=r(8764),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),o.prototype=Object.create(n.prototype),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},2830:(t,e,r)=>{t.exports=n;var i=r(7187).EventEmitter;function n(){i.call(this)}r(5717)(n,i),n.Readable=r(9481),n.Writable=r(4229),n.Duplex=r(6753),n.Transform=r(4605),n.PassThrough=r(2725),n.finished=r(8610),n.pipeline=r(9946),n.Stream=n,n.prototype.pipe=function(t,e){var r=this;function n(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function s(){r.readable&&r.resume&&r.resume()}r.on("data",n),t.on("drain",s),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",c));var o=!1;function a(){o||(o=!0,t.end())}function c(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function l(t){if(h(),0===i.listenerCount(this,"error"))throw t}function h(){r.removeListener("data",n),t.removeListener("drain",s),r.removeListener("end",a),r.removeListener("close",c),r.removeListener("error",l),t.removeListener("error",l),r.removeListener("end",h),r.removeListener("close",h),t.removeListener("close",h)}return r.on("error",l),t.on("error",l),r.on("end",h),r.on("close",h),t.on("close",h),t.emit("pipe",r),t}},2553:(t,e,r)=>{var i=r(9509).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=l,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function h(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.s=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},s.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},s.prototype.text=function(t,e){var r=function(t,e,r){var i=e.length-1;if(i<r)return 0;var n=o(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<r||-2===n?0:(n=o(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<r||-2===n?0:(n=o(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},4153:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let s=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(s))return t;if(n.hex&&e.test(s))return Number.parseInt(s,16);{const e=r.exec(s);if(e){const r=e[1],i=e[2];let o=function(t){return t&&-1!==t.indexOf(".")?("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1)),t):t}(e[3]);const a=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==s[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==s[1])return t;{const e=Number(s),c=""+e;return-1!==c.search(/[eE]/)||a?n.eNotation?e:t:-1!==s.indexOf(".")?"0"===c&&""===o||c===o||r&&c==="-"+o?e:t:i?o===c||r+o===c?e:t:s===c||s===r+c?e:t}}return t}}},4927:(t,e,r)=>{function i(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var r=!1;return function(){if(!r){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},2043:(t,e,r)=>{!function(){var e,i,n,s=0,o=[];for(i=0;i<256;i++)o[i]=(i+256).toString(16).substr(1);function a(){var t=(16,(!e||s+16>c.BUFFER_SIZE)&&(s=0,e=c.randomBytes(c.BUFFER_SIZE)),e.slice(s,s+=16));return t[6]=15&t[6]|64,t[8]=63&t[8]|128,t}function c(){var t=a();return o[t[0]]+o[t[1]]+o[t[2]]+o[t[3]]+"-"+o[t[4]]+o[t[5]]+"-"+o[t[6]]+o[t[7]]+"-"+o[t[8]]+o[t[9]]+"-"+o[t[10]]+o[t[11]]+o[t[12]]+o[t[13]]+o[t[14]]+o[t[15]]}c.BUFFER_SIZE=4096,c.bin=a,c.clearBuffer=function(){e=null,s=0},c.test=function(t){return"string"==typeof t&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)},"undefined"!=typeof crypto?n=crypto:"undefined"!=typeof window&&void 0!==window.msCrypto&&(n=window.msCrypto),n=n||r(9061),t.exports=c,c.randomBytes=function(){if(n){if(n.randomBytes)return n.randomBytes;if(n.getRandomValues)return"function"!=typeof Uint8Array.prototype.slice?function(t){var e=new Uint8Array(t);return n.getRandomValues(e),Array.from(e)}:function(t){var e=new Uint8Array(t);return n.getRandomValues(e),e}}return function(t){var e,r=[];for(e=0;e<t;e++)r.push(Math.floor(256*Math.random()));return r}}()}()},2361:()=>{},4616:()=>{},9061:()=>{}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={};r.r(t),r.d(t,{Any:()=>Vh,BaseBlock:()=>nl,BaseStringBlock:()=>ol,BitString:()=>ih,BmpString:()=>Sh,Boolean:()=>$l,CharacterString:()=>Dh,Choice:()=>Gh,Constructed:()=>Kl,DATE:()=>Mh,DateTime:()=>Hh,Duration:()=>Wh,EndOfContent:()=>Jl,Enumerated:()=>lh,GeneralString:()=>Ph,GeneralizedTime:()=>Uh,GraphicString:()=>Oh,HexBlock:()=>Zc,IA5String:()=>Nh,Integer:()=>ch,Null:()=>Xl,NumericString:()=>Ch,ObjectIdentifier:()=>ph,OctetString:()=>eh,Primitive:()=>Vl,PrintableString:()=>Ih,RawData:()=>qh,RelativeObjectIdentifier:()=>gh,Repeated:()=>zh,Sequence:()=>yh,Set:()=>mh,TIME:()=>jh,TeletexString:()=>Rh,TimeOfDay:()=>Fh,UTCTime:()=>Lh,UniversalString:()=>Th,Utf8String:()=>_h,ValueBlock:()=>tl,VideotexString:()=>kh,ViewWriter:()=>Wc,VisibleString:()=>Bh,compareSchema:()=>Qh,fromBER:()=>zl,verifySchema:()=>Kh});var e=r(2475),i=r.n(e),n={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy"};const s=25e6,o=262144,a=/Expires=\w{3},\s\d[^;,]+(?:;\s*)?/gi;let c="default-src 'unsafe-eval' 'unsafe-inline' 'self' data: blob: mediastream: ws: wss: ; form-action 'self' ; object-src 'none'";function l(){return c}function h(t,e){for(const r of e)if(t.startsWith(r))return!0;return!1}function u(t){return t.replace(/[-:T]/g,"").slice(0,14)}function p(t){if(!t)return new Date;t.length<17&&(t+="00000101000000000".substring(t.length));const e=t.substring(0,4)+"-"+t.substring(4,6)+"-"+t.substring(6,8)+"T"+t.substring(8,10)+":"+t.substring(10,12)+":"+t.substring(12,14)+"."+t.substring(14)+"Z";return new Date(e)}function d(t){if(!t)return"";try{return""+t.getTime()/1e3}catch(t){return""}}function f(t){return Array.from(new Uint8Array(t)).map((t=>t.toString(16).padStart(2,"0"))).join("")}async function g(t,e,r=null){const i="string"==typeof t?(new TextEncoder).encode(t):t,n=await crypto.subtle.digest(e,i);return""===r?f(n):(r||e)+":"+f(n)}function y(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}function m(t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return e}function w(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function b(t){try{return new Headers(t)}catch(e){if("object"==typeof t){const e=t;for(const r of Object.keys(t)){const t=e[r],i=t.replace(/[\r\n]+/g,", ");t!=i&&(e[r]=i)}}else{const e=t;for(const r of Object.keys(t)){const t=e.get(r)||"",i=t.replace(/[\r\n]+/g,", ");t!=i&&e.set(r,i)}}return new Headers(t)}}const A=[101,204,205,304];function v(t){return A.includes(t)}function _(t){try{return function(t){var e=n[t.toString()];if(!e)throw new Error("Status code does not exist: "+t);return e}(t)}catch(t){return"Unknown Status"}}function E(t){return"XMLHttpRequest"===t.headers.get("X-Pywb-Requested-With")||"cors"===t.mode&&("script"!==t.destination||"esm_"!==t.mod)}async function S(t,e){if(t instanceof C){const r=await self.clients.matchAll({type:"window"});for(const i of r)new URL(i.url).searchParams.get("source")===e.sourceUrl&&i.postMessage({source:e.sourceUrl,coll:e.dbname.slice(3),type:"authneeded",fileHandle:t.info.fileHandle});return!0}return!1}function x(t){const e=t.config.metadata?t.config.metadata:{},r={...e,title:e.title||"",desc:e.desc||"",size:e.size||0,filename:t.config.sourceName,loadUrl:t.config.loadUrl,sourceUrl:t.config.sourceUrl,id:t.name,ctime:t.config.ctime,mtime:e.mtime||t.config.ctime,onDemand:t.config.onDemand};return e.ipfsPins&&(r.ipfsPins=e.ipfsPins),r}class T{info;constructor(t={}){this.info=t}toString(){return JSON.stringify(this.info)}}class C extends T{}class I extends T{}class R{}class k{}async function N(t){return new Promise((e=>setTimeout(e,t)))}const O=new Set;function B(t){for(const e of t)try{const t=new URL(e,self.location.href);O.add(t.href)}catch(t){}}var P,D=r(7709),L=r.n(D),U=r(9591),M=r.n(U),F=r(2043);
26
+ var i=r(8764),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),o.prototype=Object.create(n.prototype),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},2830:(t,e,r)=>{t.exports=n;var i=r(7187).EventEmitter;function n(){i.call(this)}r(5717)(n,i),n.Readable=r(9481),n.Writable=r(4229),n.Duplex=r(6753),n.Transform=r(4605),n.PassThrough=r(2725),n.finished=r(8610),n.pipeline=r(9946),n.Stream=n,n.prototype.pipe=function(t,e){var r=this;function n(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function s(){r.readable&&r.resume&&r.resume()}r.on("data",n),t.on("drain",s),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",c));var o=!1;function a(){o||(o=!0,t.end())}function c(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function l(t){if(h(),0===i.listenerCount(this,"error"))throw t}function h(){r.removeListener("data",n),t.removeListener("drain",s),r.removeListener("end",a),r.removeListener("close",c),r.removeListener("error",l),t.removeListener("error",l),r.removeListener("end",h),r.removeListener("close",h),t.removeListener("close",h)}return r.on("error",l),t.on("error",l),r.on("end",h),r.on("close",h),t.on("close",h),t.emit("pipe",r),t}},2553:(t,e,r)=>{var i=r(9509).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=l,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function h(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.s=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},s.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},s.prototype.text=function(t,e){var r=function(t,e,r){var i=e.length-1;if(i<r)return 0;var n=o(e[i]);return n>=0?(n>0&&(t.lastNeed=n-1),n):--i<r||-2===n?0:(n=o(e[i]))>=0?(n>0&&(t.lastNeed=n-2),n):--i<r||-2===n?0:(n=o(e[i]))>=0?(n>0&&(2===n?n=0:t.lastNeed=n-3),n):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},4153:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let s=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(s))return t;if(n.hex&&e.test(s))return Number.parseInt(s,16);{const e=r.exec(s);if(e){const r=e[1],i=e[2];let o=function(t){return t&&-1!==t.indexOf(".")?("."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1)),t):t}(e[3]);const a=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==s[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==s[1])return t;{const e=Number(s),c=""+e;return-1!==c.search(/[eE]/)||a?n.eNotation?e:t:-1!==s.indexOf(".")?"0"===c&&""===o||c===o||r&&c==="-"+o?e:t:i?o===c||r+o===c?e:t:s===c||s===r+c?e:t}}return t}}},4927:(t,e,r)=>{function i(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var r=!1;return function(){if(!r){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},2043:(t,e,r)=>{!function(){var e,i,n,s=0,o=[];for(i=0;i<256;i++)o[i]=(i+256).toString(16).substr(1);function a(){var t=(16,(!e||s+16>c.BUFFER_SIZE)&&(s=0,e=c.randomBytes(c.BUFFER_SIZE)),e.slice(s,s+=16));return t[6]=15&t[6]|64,t[8]=63&t[8]|128,t}function c(){var t=a();return o[t[0]]+o[t[1]]+o[t[2]]+o[t[3]]+"-"+o[t[4]]+o[t[5]]+"-"+o[t[6]]+o[t[7]]+"-"+o[t[8]]+o[t[9]]+"-"+o[t[10]]+o[t[11]]+o[t[12]]+o[t[13]]+o[t[14]]+o[t[15]]}c.BUFFER_SIZE=4096,c.bin=a,c.clearBuffer=function(){e=null,s=0},c.test=function(t){return"string"==typeof t&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)},"undefined"!=typeof crypto?n=crypto:"undefined"!=typeof window&&void 0!==window.msCrypto&&(n=window.msCrypto),n=n||r(9061),t.exports=c,c.randomBytes=function(){if(n){if(n.randomBytes)return n.randomBytes;if(n.getRandomValues)return"function"!=typeof Uint8Array.prototype.slice?function(t){var e=new Uint8Array(t);return n.getRandomValues(e),Array.from(e)}:function(t){var e=new Uint8Array(t);return n.getRandomValues(e),e}}return function(t){var e,r=[];for(e=0;e<t;e++)r.push(Math.floor(256*Math.random()));return r}}()}()},2361:()=>{},4616:()=>{},9061:()=>{}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t={};r.r(t),r.d(t,{Any:()=>Gh,BaseBlock:()=>sl,BaseStringBlock:()=>al,BitString:()=>nh,BmpString:()=>xh,Boolean:()=>th,CharacterString:()=>Lh,Choice:()=>zh,Constructed:()=>Yl,DATE:()=>Fh,DateTime:()=>Wh,Duration:()=>jh,EndOfContent:()=>Xl,Enumerated:()=>hh,GeneralString:()=>Dh,GeneralizedTime:()=>Mh,GraphicString:()=>Bh,HexBlock:()=>$c,IA5String:()=>Oh,Integer:()=>lh,Null:()=>Zl,NumericString:()=>Ih,ObjectIdentifier:()=>dh,OctetString:()=>rh,Primitive:()=>Gl,PrintableString:()=>Rh,RawData:()=>Qh,RelativeObjectIdentifier:()=>yh,Repeated:()=>qh,Sequence:()=>mh,Set:()=>wh,TIME:()=>Vh,TeletexString:()=>kh,TimeOfDay:()=>Hh,UTCTime:()=>Uh,UniversalString:()=>Ch,Utf8String:()=>Eh,ValueBlock:()=>el,VideotexString:()=>Nh,ViewWriter:()=>jc,VisibleString:()=>Ph,compareSchema:()=>Kh,fromBER:()=>ql,verifySchema:()=>Yh});var e=r(2475),i=r.n(e),n={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy"};const s=25e6,o=262144,a=/Expires=\w{3},\s\d[^;,]+(?:;\s*)?/gi;let c="default-src 'unsafe-eval' 'unsafe-inline' 'self' data: blob: mediastream: ws: wss: ; form-action 'self' ; object-src 'none'";function l(){return c}function h(t,e){for(const r of e)if(t.startsWith(r))return!0;return!1}function u(t){return t.replace(/[-:T]/g,"").slice(0,14)}function p(t){if(!t)return new Date;t.length<17&&(t+="00000101000000000".substring(t.length));const e=t.substring(0,4)+"-"+t.substring(4,6)+"-"+t.substring(6,8)+"T"+t.substring(8,10)+":"+t.substring(10,12)+":"+t.substring(12,14)+"."+t.substring(14)+"Z";return new Date(e)}function d(t){if(!t)return"";try{return""+t.getTime()/1e3}catch(t){return""}}function f(t){return Array.from(new Uint8Array(t)).map((t=>t.toString(16).padStart(2,"0"))).join("")}async function g(t,e,r=null){const i="string"==typeof t?(new TextEncoder).encode(t):t,n=await crypto.subtle.digest(e,i);return""===r?f(n):(r||e)+":"+f(n)}function y(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}function m(t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return e}function w(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function b(t){try{return new Headers(t)}catch(e){if("object"==typeof t){const e=t;for(const r of Object.keys(t)){const t=e[r],i=t.replace(/[\r\n]+/g,", ");t!=i&&(e[r]=i)}}else{const e=t;for(const r of Object.keys(t)){const t=e.get(r)||"",i=t.replace(/[\r\n]+/g,", ");t!=i&&e.set(r,i)}}return new Headers(t)}}const A=[101,204,205,304];function v(t){return A.includes(t)}function _(t){try{return function(t){var e=n[t.toString()];if(!e)throw new Error("Status code does not exist: "+t);return e}(t)}catch(t){return"Unknown Status"}}function E(t){return"XMLHttpRequest"===t.headers.get("X-Pywb-Requested-With")||"cors"===t.mode&&("script"!==t.destination||"esm_"!==t.mod)}async function S(t,e){if(t instanceof C){const r=await self.clients.matchAll({type:"window"});for(const i of r)new URL(i.url).searchParams.get("source")===e.sourceUrl&&i.postMessage({source:e.sourceUrl,coll:e.dbname.slice(3),type:"authneeded",fileHandle:t.info.fileHandle});return!0}return!1}function x(t){const e=t.config.metadata?t.config.metadata:{},r={...e,title:e.title||"",desc:e.desc||"",size:e.size||0,filename:t.config.sourceName,loadUrl:t.config.loadUrl,sourceUrl:t.config.sourceUrl,id:t.name,ctime:t.config.ctime,mtime:e.mtime||t.config.ctime,onDemand:t.config.onDemand};return e.ipfsPins&&(r.ipfsPins=e.ipfsPins),r}class T{info;constructor(t={}){this.info=t}toString(){return JSON.stringify(this.info)}}class C extends T{}class I extends T{}class R{}class k{}async function N(t){return new Promise((e=>setTimeout(e,t)))}const O=new Set;function B(t){for(const e of t)try{const t=new URL(e,self.location.href);O.add(t.href)}catch(t){}}var P,D=r(7709),L=r.n(D),U=r(9591),M=r.n(U),F=r(2043);
27
27
  /*!
28
28
  * hash-wasm (https://www.npmjs.com/package/hash-wasm)
29
29
  * (c) Dani Biro
@@ -42,8 +42,8 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
42
42
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
43
43
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
44
44
  PERFORMANCE OF THIS SOFTWARE.
45
- ***************************************************************************** */function H(t,e,r,i){return new(r||(r=Promise))((function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))}class W{constructor(){this.mutex=Promise.resolve()}lock(){let t=()=>{};return this.mutex=this.mutex.then((()=>new Promise(t))),new Promise((e=>{t=e}))}dispatch(t){return H(this,void 0,void 0,(function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}}))}}const j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,V=null!==(P=j.Buffer)&&void 0!==P?P:null,G=j.TextEncoder?new j.TextEncoder:null;function z(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}const q="a".charCodeAt(0)-10,Q="0".charCodeAt(0);function K(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+q:r+Q,r=15&e[n],t[i++]=r>9?r+q:r+Q}return String.fromCharCode.apply(null,t)}const Y=null!==V?t=>{if("string"==typeof t){const e=V.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(V.isBuffer(t))return new Uint8Array(t.buffer,t.byteOffset,t.length);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")}:t=>{if("string"==typeof t)return G.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},J="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",X=new Uint8Array(256);for(let t=0;t<64;t++)X[J.charCodeAt(t)]=t;function Z(t){const e=function(t){let e=Math.floor(.75*t.length);const r=t.length;return"="===t[r-1]&&(e-=1,"="===t[r-2]&&(e-=1)),e}(t),r=t.length,i=new Uint8Array(e);let n=0;for(let e=0;e<r;e+=4){const r=X[t.charCodeAt(e)],s=X[t.charCodeAt(e+1)],o=X[t.charCodeAt(e+2)],a=X[t.charCodeAt(e+3)];i[n]=r<<2|s>>4,n+=1,i[n]=(15&s)<<4|o>>2,n+=1,i[n]=(3&o)<<6|63&a,n+=1}return i}const $=16384,tt=new W,et=new Map;function rt(t,e){return H(this,void 0,void 0,(function*(){let r=null,i=null,n=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const s=()=>new DataView(r.exports.memory.buffer).getUint32(r.exports.STATE_SIZE,!0),o=tt.dispatch((()=>H(this,void 0,void 0,(function*(){if(!et.has(t.name)){const e=Z(t.data),r=WebAssembly.compile(e);et.set(t.name,r)}const e=yield et.get(t.name);r=yield WebAssembly.instantiate(e,{})})))),a=(t=null)=>{n=!0,r.exports.Hash_Init(t)},c=t=>{if(!n)throw new Error("update() called before init()");(t=>{let e=0;for(;e<t.length;){const n=t.subarray(e,e+$);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(Y(t))},l=new Uint8Array(2*e),h=(t,s=null)=>{if(!n)throw new Error("digest() called before init()");return n=!1,r.exports.Hash_Final(s),"binary"===t?i.slice(0,e):K(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<$;let p=u;switch(t.name){case"argon2":case"scrypt":p=()=>!0;break;case"blake2b":case"blake2s":p=(t,e)=>e<=512&&u(t);break;case"blake3":p=(t,e)=>0===e&&u(t);break;case"xxhash64":case"xxhash3":case"xxhash128":p=()=>!1}return yield(()=>H(this,void 0,void 0,(function*(){r||(yield o);const t=r.exports.Hash_GetBuffer(),e=r.exports.memory.buffer;i=new Uint8Array(e,t,$)})))(),{getMemory:()=>i,writeMemory:(t,e=0)=>{i.set(t,e)},getExports:()=>r.exports,setMemorySize:t=>{r.exports.Hash_SetMemorySize(t);const e=r.exports.Hash_GetBuffer(),n=r.exports.memory.buffer;i=new Uint8Array(n,e,t)},init:a,update:c,digest:h,save:()=>{if(!n)throw new Error("save() can only be called after init() and before digest()");const e=r.exports.Hash_GetState(),i=s(),o=r.exports.memory.buffer,a=new Uint8Array(o,e,i),c=new Uint8Array(4+i);return function(t,e){const r=e.length>>1;for(let i=0;i<r;i++){const r=i<<1;t[i]=z(e.charCodeAt(r),e.charCodeAt(r+1))}}(c,t.hash),c.set(a,4),c},load:e=>{if(!(e instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const i=r.exports.Hash_GetState(),o=s(),a=4+o,c=r.exports.memory.buffer;if(e.length!==a)throw new Error(`Bad state length (expected ${a} bytes, got ${e.length})`);if(!function(t,e){if(t.length!==2*e.length)return!1;for(let r=0;r<e.length;r++){const i=r<<1;if(e[r]!==z(t.charCodeAt(i),t.charCodeAt(i+1)))return!1}return!0}(t.hash,e.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const l=e.subarray(4);new Uint8Array(c,i,o).set(l),n=!0},calculate:(t,n=null,s=null)=>{if(!p(t,n))return a(n),c(t),h("hex",s);const o=Y(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),K(l,i,e)},hashLength:e}}))}new W,new W,new DataView(new ArrayBuffer(4)),new W,new W,new W,new W,new W,new W,new W,new W,new W;var it={name:"sha256",data:"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",hash:"817d957e"};function nt(t){let e;e="string"==typeof t?t:t?.length?t.reduce(((t,e)=>t+String.fromCharCode(e)),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function st(t){try{if(!t.startsWith("https:")&&!t.startsWith("http:"))return t;let e=(t=t.replace(/^(https?:\/\/)www\d*\./,"$1")).toLowerCase(),r=new URL(e),i=r.hostname.split(".").reverse().join(",");if(r.port&&(i+=":"+r.port),i+=")",i+=r.pathname,r.search){let t=r.search.slice(1).split("&");t.sort(),i+="?"+t.join("&")}return i}catch{return t}}function ot(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let n=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function s(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let o="";switch(n.split(";")[0]){case"application/x-www-form-urlencoded":o=s(i);break;case"application/json":o=lt(s(i));break;case"text/plain":try{o=lt(s(i),!1)}catch{o=nt(i)}break;case"multipart/form-data":if(!n)throw new Error("utils cannot call postToGetURL when missing content-type header");o=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],n=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of n){let e=t.trim().match(/name="([^"]+)"\r\n\r\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(s(i),n);break;default:o=nt(i)}return null!=o&&(t.url=at(t.url,decodeURI(o),t.method),t.method="GET",t.requestBody=o,!0)}function at(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function ct(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},n=(t,e="")=>{let s="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)n(t[r],e)}else try{for(let[e,r]of Object.entries(t))n(r,e)}catch{null===t&&(s="null")}["string","number","boolean"].includes(typeof t)&&(s=t.toString()),s&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),s)};try{n(t)}catch(t){if(!e)throw t}return r}function lt(t="",e=!0){return ct(t,e).toString()}function ht(t,e){if(1===t.length)return t[0];let r=new Uint8Array(e),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}function ut(t,e){return[t.slice(0,e),t.slice(e)]}function pt(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return(new TextDecoder).decode(e)}new W,new W,new W,new W,new W,new W,new ArrayBuffer(8),new W,new ArrayBuffer(8),new W,new ArrayBuffer(8),new W,new W,new W;var dt=["set-cookie","warc-concurrent-to","warc-protocol"],ft=",,,",gt=class extends Map{constructor(t){if(t instanceof Array){super();for(let e of t)if(e instanceof Array){let t=e[0],r=e[1];this.append(t,r)}}else super(t?Object.entries(t):void 0)}getMultiple(t){let e=super.get(t);if(e)return dt.includes(t.toLowerCase())?e.split(ft):[e]}append(t,e){if(dt.includes(t.toLowerCase())){let r=this.get(t);this.set(t,void 0!==r?r+ft+e:e)}else this.set(t,e)}*[Symbol.iterator](){for(let[t,e]of super[Symbol.iterator]())if(dt.includes(t.toLowerCase()))for(let r of e.split(ft))yield[t,r];else yield[t,e]}},yt=new TextDecoder("utf-8"),mt=class extends U.Inflate{constructor(t,e){super(t),this.ended=!1,this.chunks=[],this.reader=e}onEnd(t){this.err=t,this.err||(this.reader._rawOffset+=this.strm.total_in)}},wt=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return ht(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull:async e=>t.next().then((t=>{t.done||!t.value?e.close():e.enqueue(t.value)}))})}async readFully(){return await t.readFully(this)}async readline(t=0){let e=await this.readlineRaw(t);return e?yt.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}},bt=class t extends wt{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new mt(this.opts,this):null,function(t){return!(!t||!(Symbol.asyncIterator in Object(t)))}(e))n=e;else if("object"==typeof e&&"read"in e&&"function"==typeof e.read)n=t.fromReadable(e);else if(e instanceof ReadableStream)n=t.fromReadable(e.getReader());else{if(!function(t){return!(!t||!(Symbol.iterator in Object(t)))}(e))throw new TypeError("Invalid Stream Source");n=t.fromIter(e)}this._sourceIter=i?this.dechunk(n):n[Symbol.asyncIterator](),this.lastValue=null,this.errored=!1,this._savedChunk=null,this._rawOffset=0,this._readOffset=0,this.numChunks=0}async _loadNext(){let t=await this._sourceIter.next();return t.done?null:t.value}async*dechunk(e){let r=e instanceof t?e:new t(e,null),i=-1,n=!0;for(;0!=i;){let t=await r.readlineRaw(64),e=new Uint8Array;if(i=t?parseInt(yt.decode(t),16):0,!i||i>2**32){if(Number.isNaN(i)||i>2**32){n||(this.errored=!0),yield t;break}}else if(e=await r.readSize(i),e.length!=i){n?yield t:this.errored=!0,yield e;break}let s=await r.readSize(2);if(13!=s[0]||10!=s[1]){n?yield t:this.errored=!0,yield e,yield s;break}if(n=!1,!e||0===i)return;yield e}yield*r}unread(t){t.length&&(this._readOffset-=t.length,this._savedChunk&&console.log("Already have chunk!"),this._savedChunk=t)}async _next(){if(this._savedChunk){let t=this._savedChunk;return this._savedChunk=null,t}if(this.compressed){let t=this._getNextChunk();if(t)return t}let t=await this._loadNext();for(;this.compressed&&t;){this._push(t);let e=this._getNextChunk(t);if(e)return e;t=await this._loadNext()}return t}_push(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _push when this.compressed is null");this.lastValue=t,this.inflator.ended&&(this.inflator=new mt(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new mt(this.opts,this),this.inflator.push(t))}_getNextChunk(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _getNextChunk when this.compressed is null");for(;;){if(this.inflator.chunks.length>0)return this.numChunks++,this.inflator.chunks.shift();if(this.inflator.ended){if(0!==this.inflator.err)return this.compressed=null,t;let e=this.inflator.strm.avail_in;if(e&&this.lastValue){this._push(this.lastValue.slice(-e));continue}}return null}}async*[Symbol.asyncIterator](){let t=null;for(;t=await this._next();)this._readOffset+=t.length,yield t}async readlineRaw(t){let e=[],r=0,i=-1,n=null;for await(let s of this){if(t&&r+s.byteLength>t){n=s,i=t-r-1;let e=s.slice(0,i+1).indexOf(10);e>=0&&(i=e);break}if(i=s.indexOf(10),i>=0){n=s;break}e.push(s),r+=s.byteLength}if(n){let[t,s]=ut(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return ht(e,r)}async readFully(){return(await this._readOrSkip())[1]}async readSize(t){return(await this._readOrSkip(t))[1]}async skipSize(t){return(await this._readOrSkip(t,!0))[0]}async _readOrSkip(t=-1,e=!1){let r=[],i=0;for await(let n of this){if(t>=0){if(n.length>t){let[s,o]=ut(n,t);e||r.push(s),i+=s.byteLength,this.unread(o);break}if(n.length===t){e||r.push(n),i+=n.byteLength,t=0;break}t-=n.length}e||r.push(n),i+=n.byteLength}return e?[i,new Uint8Array]:[i,ht(r,i)]}getReadOffset(){return this._readOffset}getRawOffset(){return this.compressed?this._rawOffset:this._readOffset}getRawLength(t){return this.compressed?this.inflator.strm.total_in:this._readOffset-t}static fromReadable(t){return{async*[Symbol.asyncIterator](){let e=null;for(;(e=await t.read())&&!e.done;)yield e.value}}}static fromIter(t){return{async*[Symbol.asyncIterator](){for(let e of t)yield e}}}},At=class extends wt{constructor(t,e,r=0){super(),this.sourceIter=t,this.length=e,this.limit=e,this.skip=r}setLimitSkip(t,e=0){this.limit=t,this.skip=e}async*[Symbol.asyncIterator](){if(!(this.limit<=0))for await(let t of this.sourceIter){if(this.skip>0){if(!(t.length>=this.skip)){this.skip-=t.length;continue}{let[,e]=ut(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=ut(t,this.limit);t=e,this.sourceIter.unread&&this.sourceIter.unread(r)}if(t.length&&(this.limit-=t.length,yield t),this.limit<=0)break}}async readlineRaw(t){if(this.limit<=0)return null;let e=await this.sourceIter.readlineRaw(t?Math.min(t,this.limit):this.limit);return this.limit-=e?.length||0,e}async skipFully(){let t=this.limit;for(;this.limit>0;)this.limit-=await this.sourceIter.skipSize(this.limit);return t}},vt=new Uint8Array([13,10]),_t=(new Uint8Array([13,10,13,10]),new TextDecoder("utf-8")),Et=class{constructor({statusline:t,headers:e,reencodeHeaders:r}){this.statusline=t,this.headers=e,this.reencodeHeaders=r}toString(){let t=[this.statusline],e=this.headers instanceof Headers;for(let[r,i]of this.headers)e&&this.reencodeHeaders?.has(r)?t.push(`${r}: ${pt(i)}`):t.push(`${r}: ${i}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield vt;for(let[e,r]of this.headers)yield t.encode(`${e}: ${r}\r\n`)}_parseResponseStatusLine(){let t=function(t,e,r){let i=t.split(" "),n=i.slice(0,2);return i.slice(2).length>0&&n.push(i.slice(2).join(" ")),n}(this.statusline);this._protocol=t[0]??"",this._statusCode=t.length>1?Number(t[1]):"",this._statusText=t.length>2?t[2]:""}get statusCode(){return void 0===this._statusCode&&this._parseResponseStatusLine(),this._statusCode}get protocol(){return void 0===this._protocol&&this._parseResponseStatusLine(),this._protocol}get statusText(){return void 0===this._statusText&&this._parseResponseStatusLine(),this._statusText}_parseRequestStatusLine(){let t=this.statusline.split(" ",2);this._method=t[0]??"",this._requestPath=t.length>1?t[1]:""}get method(){return void 0===this._method&&this._parseRequestStatusLine(),this._method}get requestPath(){return void 0===this._requestPath&&this._parseRequestStatusLine(),this._requestPath}};async function St(t,e){let r=0;for(let i=0;i<t.length-4;i++){let i=t.indexOf(13,r);if(i<0)break;if(i+3>=t.length){let{value:r}=await e.next();if(!r)break;let i=new Uint8Array(r.length+t.length);i.set(t,0),i.set(r,t.length),t=i}if(10===t[i+1]&&13===t[i+2]&&10===t[i+3])return[i+3,t];r=i+1}return[-1,t]}var xt=new TextDecoder("utf-8"),Tt=new TextEncoder,Ct="WARC/1.0",It={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},Rt=class t extends wt{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this._urlkey="",this.warcHeaders=t,this._reader=e,this._contentReader=null,this.payload=null,this.httpHeaders=null,this.consumed="",this.fixUp()}static create({url:e,date:r,type:i,warcHeaders:n={},filename:s="",httpHeaders:o={},statusline:a="HTTP/1.1 200 OK",warcVersion:c=Ct,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===Ct&&"Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z"),t}r=d(r||(new Date).toISOString());let f=new gt(n);if("warcinfo"===i)s&&f.set("WARC-Filename",s);else if(e)try{f.set("WARC-Target-URI",new URL(e).href)}catch{f.set("WARC-Target-URI",e)}f.set("WARC-Date",r),i&&f.set("WARC-Type",i),"revisit"===i&&(f.set("WARC-Profile","WARC/1.1"===c?"http://netpreserve.org/warc/1.1/revisit/identical-payload-digest":"http://netpreserve.org/warc/1.0/revisit/identical-payload-digest"),h&&(f.set("WARC-Refers-To-Target-URI",h),f.set("WARC-Refers-To-Date",d(u||(new Date).toISOString()))));let g=new Et({statusline:c,headers:f});g.headers.get("WARC-Record-ID")||g.headers.set("WARC-Record-ID",`<urn:uuid:${F()}>`),g.headers.get("Content-Type")||g.headers.set("Content-Type",i&&It[i]||"application/octet-stream"),p||(p=kt());let y=new t({warcHeaders:g,reader:p}),m=null,w=!1;switch(i){case"response":case"request":case"revisit":l?(m=new gt(o),w=!m.size):(m=new Headers(o),w=!Object.entries(o).length),(!w||"revisit"!==i)&&(y.httpHeaders=new Et({statusline:a,headers:m}))}return y}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield Tt.encode(`${t}: ${e}\r\n`)}())}getResponseInfo(){let t=this.httpHeaders;return t?{headers:t.headers,status:t.statusCode,statusText:t.statusText}:null}fixUp(){let t=this.warcHeaders.headers.get("WARC-Target-URI");t&&t.startsWith("<")&&t.endsWith(">")&&this.warcHeaders.headers.set("WARC-Target-URI",t.slice(1,-1))}async readFully(t=!1){if(this.httpHeaders){if(this.payload&&!this.payload.length)return this.payload;if(this._contentReader&&!t)throw new TypeError("WARC Record decoding already started, but requesting raw payload");if(t&&"raw"===this.consumed&&this.payload)return await this._createDecodingReader([this.payload]).readFully()}return this.payload||(t?(this.payload=await super.readFully(),this.consumed="content"):(this.payload=await wt.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return kt();if(this._contentReader)throw new TypeError("WARC Record decoding already started, but requesting raw payload");return this._reader}get contentReader(){return this.httpHeaders?(this._contentReader||(this._contentReader=this._createDecodingReader(this._reader)),this._contentReader):this._reader}_createDecodingReader(t){if(!this.httpHeaders)throw new Error("WARCRecord cannot call _createDecodingReader when this.httpHeaders === null");let e=this.httpHeaders.headers.get("Content-Encoding"),r=this.httpHeaders.headers.get("Transfer-Encoding"),i="chunked"===r;return!e&&!i&&(e=r),new bt(t,e,i)}async readlineRaw(t){if(this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");if(this.contentReader instanceof wt)return this.contentReader.readlineRaw(t);throw new Error("WARCRecord cannot call readlineRaw on this.contentReader if it does not extend BaseAsyncIterReader")}async contentText(){let t=await this.readFully(!0);return xt.decode(t)}async*[Symbol.asyncIterator](){for await(let t of this.contentReader)if(yield t,this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");this.consumed="content"}async skipFully(){if(!this.consumed){if(this._reader instanceof At){let t=await this._reader.skipFully();return this.consumed="skipped",t}throw new Error("WARCRecord cannot call skipFully on this._reader if it is not a LimitReader")}}warcHeader(t){return this.warcHeaders.headers.get(t)}get warcType(){return this.warcHeaders.headers.get("WARC-Type")}get warcTargetURI(){return this.warcHeaders.headers.get("WARC-Target-URI")}get warcDate(){return this.warcHeaders.headers.get("WARC-Date")}get warcRefersToTargetURI(){return this.warcHeaders.headers.get("WARC-Refers-To-Target-URI")}get warcRefersToDate(){return this.warcHeaders.headers.get("WARC-Refers-To-Date")}get warcPayloadDigest(){return this.warcHeaders.headers.get("WARC-Payload-Digest")}get warcBlockDigest(){return this.warcHeaders.headers.get("WARC-Block-Digest")}get warcContentType(){return this.warcHeaders.headers.get("Content-Type")}get warcContentLength(){return Number(this.warcHeaders.headers.get("Content-Length"))}get warcConcurrentTo(){if(this.warcHeaders.headers instanceof gt)return this.warcHeaders.headers.getMultiple("WARC-Concurrent-To");{let t=this.warcHeaders.headers.get("WARC-Concurrent-To");return t?t.split(","):[]}}};async function*kt(){}var Nt=new TextDecoder,Ot=new Uint8Array([]),Bt=class t{static async parse(e,r){return new t(e,r).parse()}static iterRecords(e,r){return new t(e,r)[Symbol.asyncIterator]()}constructor(t,{keepHeadersCase:e=!1,parseHttp:r=!0}={}){this._offset=0,this._warcHeadersLength=0,this._headersClass=e?gt:Headers,this._parseHttp=r,this._reader=t instanceof bt?t:new bt(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return Ot;await this._record.skipFully(),this._reader.compressed&&(this._offset=this._reader.getRawOffset());let t=await this._reader.readlineRaw(),e=0;if(t){if(e=t.byteLength-1,9===e&&Nt.decode(t).startsWith("WARC/"))return t;for(;e>0;){let r=t[e-1];if(10!==r&&13!==r)break;e--}e&&console.warn(`Content-Length Too Small: Record not followed by newline, Remainder Length: ${e}, Offset: ${this._reader.getRawOffset()-t.byteLength}`)}else t=Ot;if(this._reader.compressed)await this._reader.skipSize(2),t=Ot;else{for(t=await this._reader.readlineRaw();t&&2===t.byteLength;)t=await this._reader.readlineRaw();this._offset=this._reader.getRawOffset(),t&&(this._offset-=t.length)}return t}_initRecordReader(t){return new At(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?Nt.decode(t):"",r=new class{constructor(){this.reencodeHeaders=new Set}async parse(t,{headersClass:e,firstLine:r}={headersClass:gt}){let i=r||await t.readline();if(!i)return null;let n=i.trimEnd();if(!n)return null;let s,o,a,c,l=new e,h=await async function(t){let e=[],r=0,i=0,n=null,s=t[Symbol.asyncIterator]();for await(let t of s){if([i,t]=await St(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=ut(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return _t.decode(ht(e,r))}(t),u=0,p="";for(;u<h.length&&(a=h.indexOf("\n",u),!c||" "!==h[u]&&"\t"!==h[u]?(c&&(this.setHeader(p,c,l),c=null),s=h.indexOf(":",u),o=s<0?u:s+1,s>=0&&s<a?(p=h.slice(u,s).trimStart(),c=h.slice(o,a<0?void 0:a).trim()):c=null):c+=h.slice(u,a<0?void 0:a).trimEnd(),!(a<0));)u=a+1;return c&&this.setHeader(p,c,l),new Et({statusline:n,headers:l,reencodeHeaders:this.reencodeHeaders})}setHeader(t,e,r,i=!1){try{r.append(t,e),r instanceof Headers&&i&&this.reencodeHeaders.add(t.toLowerCase())}catch{i||this.setHeader(t,function(t){let e=(new TextEncoder).encode(t),r="";return e.forEach((t=>r+=String.fromCharCode(t))),r}(e),r,!0)}}},i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new Rt({warcHeaders:i,reader:this._initRecordReader(i)});if(this._record=n,this._parseHttp)switch(n.warcType){case"response":case"request":await this._addHttpHeaders(n,r);break;case"revisit":n.warcContentLength>0&&await this._addHttpHeaders(n,r)}return n}get offset(){return this._offset}get recordLength(){return this._reader.getRawLength(this._offset)}async*[Symbol.asyncIterator](){let t=null;for(;null!==(t=await this.parse());)yield t;this._record=null}async _addHttpHeaders(t,e){let r=await e.parse(this._reader,{headersClass:this._headersClass});t.httpHeaders=r;let i=this._reader.getReadOffset()-this._warcHeadersLength;t.reader instanceof At&&t.reader.setLimitSkip(t.warcContentLength-i)}};new TextEncoder;var Pt=(Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),Dt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),Lt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(","),Ut=class extends class extends class{constructor(t={},e=Pt){this.opts=t,t.fields?(this.fields=t.fields,this.reqFields=this.fields.filter((t=>{return(e=t).startsWith("req.")||"referrer"===e.toLowerCase();var e}))):(this.fields=e,this.reqFields=[]),this.parseHttp=!1}serialize(t){return JSON.stringify(t)+"\n"}write(t,e){e.write(this.serialize(t))}async writeAll(t,e){for await(let r of this.iterIndex(t))this.write(r,e)}async*iterIndex(t){let e={strictHeaders:!0,parseHttp:this.parseHttp};for(let{filename:r,reader:i}of t){let t=new Bt(i,e);yield*this.iterRecords(t,r)}}async*iterRecords(t,e){for await(let r of t){await r.skipFully();let i=this.indexRecord(r,t,e);i&&(yield i)}}indexRecord(t,e,r){if(this.filterRecord&&!this.filterRecord(t))return null;let i={},{offset:n,recordLength:s}=e,o={offset:n,length:s,filename:r};for(let e of this.fields)e in o?i[e]=o[e]:this.setField(e,t,i);return i}setField(t,e,r){let i=this.getField(t,e);null!==i&&(r[t]=i)}getField(t,e){if(t.startsWith("req.")){if("request"!==e.warcType)return null;t=t.slice(4)}if("http:status"===t)return!e.httpHeaders||"response"!==e.warcType&&"revisit"!==e.warcType?null:e.httpHeaders.statusCode;if(t.startsWith("http:")){if(e.httpHeaders){let r=e.httpHeaders.headers,i=t.slice(5),n=r.get(i);if(r instanceof Map){let t=i.toLowerCase();for(let e of r.keys())t===e.toLowerCase()&&(n=r.get(e))}return n}return null}return e.warcHeaders.headers.get(t)||null}}{constructor(t,e){super(t,e);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}}{constructor(t){switch(super(t,Dt),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.parseHttp=!0,this.noSurt=!!t?.noSurt,this._lastRecord=null,t?.format){case"cdxj":this.serialize=this.serializeCDXJ;break;case"cdx":this.serialize=this.serializeCDX11}}async*iterRecords(t,e){this._lastRecord=null;for await(let r of t){await r.readFully();let i=this.indexRecord(r,t,e);i&&(yield i)}let r=this.indexRecord(null,t,e);r&&(yield r)}filterRecord(t){if(this.includeAll)return!0;let e=t.warcType;return!("request"===e||"warcinfo"===e||("metadata"===e||"resource"===e)&&"application/warc-fields"===t.warcContentType)}indexRecord(t,e,r){if(this.overrideIndexForAll)return t?super.indexRecord(t,e,r):null;let i=this._lastRecord;if(this._lastRecord=t,t&&(t._offset=e.offset,t._length=e.recordLength),!i)return null;if(!t||i.warcTargetURI!=t.warcTargetURI)return this.indexRecordPair(i,null,e,r);let n=t.warcType,s=i.warcType;return"request"!==n||"response"!==s&&"revisit"!==s?"response"!==n&&"revisit"!==n||"request"!==s?this.indexRecordPair(i,null,e,r):(this._lastRecord=null,this.indexRecordPair(t,i,e,r)):(this._lastRecord=null,this.indexRecordPair(i,t,e,r))}indexRecordPair(t,e,r,i){let n,s,o=t.warcTargetURI||"";if(e?.httpHeaders&&"GET"!==e.httpHeaders.method){let t={url:o,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};n=t.method,ot(t)&&(s=t.requestBody,o=t.url)}t._urlkey=o;let a=super.indexRecord(t,r,i);if(a&&(void 0!==t._offset&&(a.offset=t._offset,a.length=t._length),n&&(a.method=n),s&&(a.requestBody=s),e&&this.reqFields.length))for(let t of this.reqFields)this.setField(t,e,a);return a}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t,((t,e)=>["offset","length","status"].includes(t)?null==e?"":""+e:e))}\n`}serializeCDX11(t){let e=[];for(let r of Lt)e.push(null!=t[r]?t[r]:"-");return e.join(" ")+"\n"}getField(t,e){let r=null;switch(t){case"urlkey":return r=e._urlkey||e.warcTargetURI||null,this.noSurt||null===r?r:st(r);case"timestamp":return r=e.warcDate??"",r.replace(/[-:T]/g,"").slice(0,14);case"url":return e.warcTargetURI;case"mime":switch(e.warcType){case"revisit":return"warc/revisit";case"response":case"request":t="http:content-type";break;default:return e.warcContentType}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"referrer":return super.getField("req.http:referer",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return super.getField(t,e)}}};async function Mt(t,e,r){const i=t;try{"chunked"===r&&(t=function(t){let e=0,r=0;const i=new TextDecoder("utf-8");for(;e<t.length;){let n=e;for(;t[n]>=48&&t[n]<=57||t[n]>=65&&t[n]<=70||t[n]>=97&&t[n]<=102;)n++;if(0===n)return t;if(13!=t[n]||10!=t[n+1])return t;n+=2;const s=parseInt(i.decode(t.subarray(e,n)),16);if(0==s)break;t.set(t.subarray(n,n+s),r),n+=s,r+=s,13==t[n]&&10==t[n+1]&&(n+=2),e=n}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=L()(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new(M().Inflate);e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var Ft=r(6932);function Ht(t={}){let e,r;const i=t.response?.extraOpts;if(i&&(e=i.adaptive_max_resolution||i.maxRes,r=i.adaptive_max_bandwidth||i.maxBand,e&&r))return{maxRes:e,maxBand:r};let n;return n=t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t.save&&(t.save.maxRes=n.maxRes,t.save.maxBand=n.maxBand),n}function Wt(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=Ht(e),o=n||s,a=[];let c=0;const l=[],h=t.trimEnd().split("\n");for(const t of h){const s=t.match(r);if(!s){e.rewriteUrl&&!t.startsWith("#")&&(h[c]=e.rewriteUrl(t)),c+=1;continue}a.push(c);const o=Number(s[1]),u=t.match(i),p=u?Number(u[1])*Number(u[2]):0;l.push({value:n?p:o,index:c}),c+=1}l.sort(((t,e)=>t.value-e.value));let u=null,p=null;for(const t of l){if(t.value>o)break;p!=t.value&&(p=t.value,u=t.index)}null===u&&l.length>0&&(u=l[0].index),a.reverse();for(const t of a)t!==u&&h.splice(t,2);return h.join("\n")}const jt={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0,suppressBooleanAttributes:!1};function Vt(t,e,r){try{return function(t,e,r){const i=new Ft.XMLParser(jt).parse(t),{maxRes:n,maxBand:s}=Ht(e);let o,a=null,c=0,l=0;o=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of o){let e;a=null,c=0,l=0,e=Array.isArray(t.Representation)?t.Representation:[t.Representation];for(const t of e){const e=Number(t["@_width"]||"0")*Number(t["@_height"]||"0"),r=Number(t["@_bandwidth"]||"0");e&&n&&e<=n?e>c&&(c=e,l=r,a=t):r<=s&&r>l&&(c=e,l=r,a=t)}a&&Array.isArray(r)&&r.push(a["@_id"]),a&&(t.Representation=[a])}const h=new Ft.XMLBuilder(jt).build(i).trim();return h.slice(0,5).toLowerCase().startsWith("<?xml")?h:"<?xml version='1.0' encoding='UTF-8'?>\n"+h}(t,e,r)}catch(e){return console.log(e),t}}const Gt=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,Kt('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,Kt('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,Kt('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,Kt('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,Kt('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,Kt("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e?.request?.files){const t=e.request.files;if("object"==typeof t.progressive&&t.progressive.length)return t.dash&&(t.__dash=t.dash,delete t.dash),t.hls&&(t.__hls=t.hls,delete t.hls),JSON.stringify(e)}return t.replace(/query_string_ranges=1/g,"query_string_ranges=0")}]]},{contains:["master.json?query_string_ranges=0","master.json?base64"],rxRules:[[/^\{.+\}$/,function(t,e){if(!e)return t;let r=null;const i=Jt(e);try{r=JSON.parse(t),console.log("manifest",r)}catch(e){return t}function n(t,e,r){if(!t)return null;let i=null,n=0;for(const s of t)s.mime_type==r&&s.bitrate>n&&s.bitrate<=e&&(n=s.bitrate,i=s);return i?[i]:t}return r.video=n(r.video,i,"video/mp4"),r.audio=n(r.audio,i,"audio/mp4"),JSON.stringify(r)}]]},{contains:["facebook.com/","fbsbx.com/"],rxRules:[[/"dash_manifests.*?,"failure_reason":null}]/,function(t,e){const r="/MPD>",i=t.indexOf("\\u003C?xml"),n=t.indexOf(r,i)+5;if(n<5)return t;let s=Vt(JSON.parse('"'+t.slice(i,n)+'"'),e);s=JSON.stringify(s).replaceAll("<","\\u003C").slice(1,-1);const o=t.slice(0,i)+s+t.slice(n),a=Math.max(0,t.length-o.length);return o+" ".repeat(a)}],[/"playlist/,Yt('"playli__')],[/"debugNoBatching\s?":(?:false|0)/,Yt('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,Yt('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,Yt('"maxBatchSize":1')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,Yt('"is_dash_eligible":0')],[/"debugNoBatching\s?":(?:false|0)/,Yt('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,Yt('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,Yt('"maxBatchSize":1')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/","api.x.com/2/","x.com/i/api/2/","x.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,Xt('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,Xt('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,Kt("/*{0}*/")]]}],zt=' ;Object.defineProperty(MediaSource, "isTypeSupported", {value: () => false, configurable: false, writable: false});',qt=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/[^"]<head.*?>/,t=>`\n ${t}<script>${zt}<\/script>\n `]]},...Gt],Qt=[{contains:/video.*fbcdn.net/,start:"bytestart",end:"byteend"}];function Kt(t){return e=>t.replace("{0}",e)}function Yt(t){return e=>{const r=Math.max(0,e.length-t.length);return t+" ".repeat(r)}}function Jt(t){let e=5e6;const r=t.response?.extraOpts;return t.save?t.save.maxBitrate=e:r?.maxBitrate&&(e=r.maxBitrate),e}function Xt(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=Jt(r);e=e.slice(t.length);const s=JSON.parse(e);let o=null,a=0;for(const t of s.variants)if(!(t.content_type&&"video/mp4"!==t.content_type||t.type&&"video/mp4"!==t.type))if(t.bitrate&&t.bitrate>a&&t.bitrate<=n)o=t,a=t.bitrate;else if(t.src){const e=i.exec(t.src);if(e){const r=Number(e[1])*Number(e[2]);r>a&&(a=r,o=t)}}return o&&(s.variants=[o]),t+JSON.stringify(s)}catch(t){return console.warn("rewriter error: ",t),i}}}class Zt{rwRules;RewriterCls;rewriters=new Map;defaultRewriter;constructor(t,e){this.rwRules=e||Gt,this.RewriterCls=t,this._initRules()}_initRules(){this.rewriters=new Map;for(const t of this.rwRules)t.rxRules&&this.rewriters.set(t,new this.RewriterCls(t.rxRules));this.defaultRewriter=new this.RewriterCls}getCustomRewriter(t){for(const e of this.rwRules)if(e.contains)for(const r of e.contains)if(t.indexOf(r)>=0){const t=this.rewriters.get(e);if(t)return t}return null}getRewriter(t){return this.getCustomRewriter(t)||this.defaultRewriter}}class $t{rules;rx=null;constructor(t){this.rules=t||null,this.rules&&this.compileRules()}compileRules(){let t="";if(!this.rules)return;for(const e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e,r){const i=e[e.length-2],n=e[e.length-1];for(let t=0;t<this.rules.length;t++){const s=e[t];if(!s)continue;const o=this.rules[t][1].call(this,s,r,i,n);if(o)return o}return console.warn(`rx no match found for ${t} - rx rule contains extra matching group?`),t}rewrite(t,e){return this.rx?t.replace(this.rx,((t,...r)=>this.doReplace(t,r,e))):t}}var te=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239],ee=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],re="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",ie={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},ne="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",se={5:ne,"5module":ne+" export import",6:ne+" const class extends export import super"},oe=/^in(stanceof)?$/,ae=new RegExp("["+re+"]"),ce=new RegExp("["+re+"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_]");function le(t,e){for(var r=65536,i=0;i<e.length;i+=2){if((r+=e[i])>t)return!1;if((r+=e[i+1])>=t)return!0}return!1}function he(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&ae.test(String.fromCharCode(t)):!1!==e&&le(t,ee)))}function ue(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&ce.test(String.fromCharCode(t)):!1!==e&&(le(t,ee)||le(t,te)))))}var pe=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function de(t,e){return new pe(t,{beforeExpr:!0,binop:e})}var fe={beforeExpr:!0},ge={startsExpr:!0},ye={};function me(t,e){return void 0===e&&(e={}),e.keyword=t,ye[t]=new pe(t,e)}var we={num:new pe("num",ge),regexp:new pe("regexp",ge),string:new pe("string",ge),name:new pe("name",ge),privateId:new pe("privateId",ge),eof:new pe("eof"),bracketL:new pe("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new pe("]"),braceL:new pe("{",{beforeExpr:!0,startsExpr:!0}),braceR:new pe("}"),parenL:new pe("(",{beforeExpr:!0,startsExpr:!0}),parenR:new pe(")"),comma:new pe(",",fe),semi:new pe(";",fe),colon:new pe(":",fe),dot:new pe("."),question:new pe("?",fe),questionDot:new pe("?."),arrow:new pe("=>",fe),template:new pe("template"),invalidTemplate:new pe("invalidTemplate"),ellipsis:new pe("...",fe),backQuote:new pe("`",ge),dollarBraceL:new pe("${",{beforeExpr:!0,startsExpr:!0}),eq:new pe("=",{beforeExpr:!0,isAssign:!0}),assign:new pe("_=",{beforeExpr:!0,isAssign:!0}),incDec:new pe("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new pe("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:de("||",1),logicalAND:de("&&",2),bitwiseOR:de("|",3),bitwiseXOR:de("^",4),bitwiseAND:de("&",5),equality:de("==/!=/===/!==",6),relational:de("</>/<=/>=",7),bitShift:de("<</>>/>>>",8),plusMin:new pe("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:de("%",10),star:de("*",10),slash:de("/",10),starstar:new pe("**",{beforeExpr:!0}),coalesce:de("??",1),_break:me("break"),_case:me("case",fe),_catch:me("catch"),_continue:me("continue"),_debugger:me("debugger"),_default:me("default",fe),_do:me("do",{isLoop:!0,beforeExpr:!0}),_else:me("else",fe),_finally:me("finally"),_for:me("for",{isLoop:!0}),_function:me("function",ge),_if:me("if"),_return:me("return",fe),_switch:me("switch"),_throw:me("throw",fe),_try:me("try"),_var:me("var"),_const:me("const"),_while:me("while",{isLoop:!0}),_with:me("with"),_new:me("new",{beforeExpr:!0,startsExpr:!0}),_this:me("this",ge),_super:me("super",ge),_class:me("class",ge),_extends:me("extends",fe),_export:me("export"),_import:me("import",ge),_null:me("null",ge),_true:me("true",ge),_false:me("false",ge),_in:me("in",{beforeExpr:!0,binop:7}),_instanceof:me("instanceof",{beforeExpr:!0,binop:7}),_typeof:me("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:me("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:me("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},be=/\r\n?|\n|\u2028|\u2029/,Ae=new RegExp(be.source,"g");function ve(t){return 10===t||13===t||8232===t||8233===t}function _e(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(ve(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var Ee=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Se=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,xe=Object.prototype,Te=xe.hasOwnProperty,Ce=xe.toString,Ie=Object.hasOwn||function(t,e){return Te.call(t,e)},Re=Array.isArray||function(t){return"[object Array]"===Ce.call(t)};function ke(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}function Ne(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var Oe=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Be=function(t,e){this.line=t,this.column=e};Be.prototype.offset=function(t){return new Be(this.line,this.column+t)};var Pe=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function De(t,e){for(var r=1,i=0;;){var n=_e(t,i,e);if(n<0)return new Be(r,e-i);++r,i=n}}var Le={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},Ue=!1;function Me(t,e){return 2|(t?4:0)|(e?8:0)}var Fe=function(t,e,r){this.options=t=function(t){var e={};for(var r in Le)e[r]=t&&Ie(t,r)?t[r]:Le[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!Ue&&"object"==typeof console&&console.warn&&(Ue=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),e.ecmaVersion=11):e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),t&&null!=t.allowHashBang||(e.allowHashBang=e.ecmaVersion>=14),Re(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return Re(e.onComment)&&(e.onComment=function(t,e){return function(r,i,n,s,o,a){var c={type:r?"Block":"Line",value:i,start:n,end:s};t.locations&&(c.loc=new Pe(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}(t),this.sourceFile=t.sourceFile,this.keywords=ke(se[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=ie[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=ke(i);var n=(i?i+" ":"")+ie.strict;this.reservedWordsStrict=ke(n),this.reservedWordsStrictBind=ke(n+" "+ie.strictBind),this.input=String(e),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(be).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=we.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},He={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};Fe.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},He.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},He.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},He.inAsync.get=function(){return(4&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},He.canAwait.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t];if(e.inClassFieldInit||256&e.flags)return!1;if(2&e.flags)return(4&e.flags)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},He.allowSuper.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(64&e)>0||r||this.options.allowSuperOutsideMethod},He.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},He.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},He.allowNewDotTarget.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(258&e)>0||r},He.inClassStaticBlock.get=function(){return(256&this.currentVarScope().flags)>0},Fe.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var r=this,i=0;i<t.length;i++)r=t[i](r);return r},Fe.parse=function(t,e){return new this(e,t).parse()},Fe.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},Fe.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(Fe.prototype,He);var We=Fe.prototype,je=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;We.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){Se.lastIndex=t,t+=Se.exec(this.input)[0].length;var e=je.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){Se.lastIndex=t+e[0].length;var r=Se.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||be.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,Se.lastIndex=t,t+=Se.exec(this.input)[0].length,";"===this.input[t]&&t++}},We.eat=function(t){return this.type===t&&(this.next(),!0)},We.isContextual=function(t){return this.type===we.name&&this.value===t&&!this.containsEsc},We.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},We.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},We.canInsertSemicolon=function(){return this.type===we.eof||this.type===we.braceR||be.test(this.input.slice(this.lastTokEnd,this.start))},We.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},We.semicolon=function(){this.eat(we.semi)||this.insertSemicolon()||this.unexpected()},We.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},We.expect=function(t){this.eat(t)||this.unexpected()},We.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var Ve=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};We.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var r=e?t.parenthesizedAssign:t.parenthesizedBind;r>-1&&this.raiseRecoverable(r,e?"Assigning to rvalue":"Parenthesized pattern")}},We.checkExpressionErrors=function(t,e){if(!t)return!1;var r=t.shorthandAssign,i=t.doubleProto;if(!e)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},We.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},We.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var Ge=Fe.prototype;Ge.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==we.eof;){var r=this.parseStatement(null,!0,e);t.body.push(r)}if(this.inModule)for(var i=0,n=Object.keys(this.undefinedExports);i<n.length;i+=1){var s=n[i];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var ze={kind:"loop"},qe={kind:"switch"};Ge.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Se.lastIndex=this.pos;var e=Se.exec(this.input),r=this.pos+e[0].length,i=this.input.charCodeAt(r);if(91===i||92===i)return!0;if(t)return!1;if(123===i||i>55295&&i<56320)return!0;if(he(i,!0)){for(var n=r+1;ue(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!oe.test(s))return!0}return!1},Ge.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Se.lastIndex=this.pos;var t,e=Se.exec(this.input),r=this.pos+e[0].length;return!(be.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(ue(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},Ge.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=we._var,i="let"),n){case we._break:case we._continue:return this.parseBreakContinueStatement(s,n.keyword);case we._debugger:return this.parseDebuggerStatement(s);case we._do:return this.parseDoStatement(s);case we._for:return this.parseForStatement(s);case we._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case we._class:return t&&this.unexpected(),this.parseClass(s,!0);case we._if:return this.parseIfStatement(s);case we._return:return this.parseReturnStatement(s);case we._switch:return this.parseSwitchStatement(s);case we._throw:return this.parseThrowStatement(s);case we._try:return this.parseTryStatement(s);case we._const:case we._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case we._while:return this.parseWhileStatement(s);case we._with:return this.parseWithStatement(s);case we.braceL:return this.parseBlock(!0,s);case we.semi:return this.parseEmptyStatement(s);case we._export:case we._import:if(this.options.ecmaVersion>10&&n===we._import){Se.lastIndex=this.pos;var o=Se.exec(this.input),a=this.pos+o[0].length,c=this.input.charCodeAt(a);if(40===c||46===c)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===we._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!t);var l=this.value,h=this.parseExpression();return n===we.name&&"Identifier"===h.type&&this.eat(we.colon)?this.parseLabeledStatement(s,l,h,t):this.parseExpressionStatement(s,h)}},Ge.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(we.semi)||this.insertSemicolon()?t.label=null:this.type!==we.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var n=this.labels[i];if(null==t.label||n.name===t.label.name){if(null!=n.kind&&(r||"loop"===n.kind))break;if(t.label&&r)break}}return i===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")},Ge.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},Ge.parseDoStatement=function(t){return this.next(),this.labels.push(ze),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(we._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(we.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},Ge.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ze),this.enterScope(0),this.expect(we.parenL),this.type===we.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===we._var||this.type===we._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),(this.type===we._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===we._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,i)):(e>-1&&this.unexpected(e),this.parseFor(t,i))}var s=this.isContextual("let"),o=!1,a=new Ve,c=this.parseExpression(!(e>-1)||"await",a);return this.type===we._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===we._in?e>-1&&this.unexpected(e):t.await=e>-1),s&&o&&this.raise(c.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(c,!1,a),this.checkLValPattern(c),this.parseForIn(t,c)):(this.checkExpressionErrors(a,!0),e>-1&&this.unexpected(e),this.parseFor(t,c))},Ge.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,Ke|(r?0:Ye),!1,e)},Ge.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(we._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},Ge.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(we.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},Ge.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(we.braceL),this.labels.push(qe),this.enterScope(0);for(var r=!1;this.type!==we.braceR;)if(this.type===we._case||this.type===we._default){var i=this.type===we._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,e.test=null),this.expect(we.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},Ge.parseThrowStatement=function(t){return this.next(),be.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var Qe=[];Ge.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(we.parenR),t},Ge.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===we._catch){var e=this.startNode();this.next(),this.eat(we.parenL)?e.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0)),e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(we._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},Ge.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},Ge.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(ze),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},Ge.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},Ge.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},Ge.parseLabeledStatement=function(t,e,r,i){for(var n=0,s=this.labels;n<s.length;n+=1)s[n].name===e&&this.raise(r.start,"Label '"+e+"' is already declared");for(var o=this.type.isLoop?"loop":this.type===we._switch?"switch":null,a=this.labels.length-1;a>=0;a--){var c=this.labels[a];if(c.statementStart!==t.start)break;c.statementStart=this.start,c.kind=o}return this.labels.push({name:e,kind:o,statementStart:this.start}),t.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")},Ge.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},Ge.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(we.braceL),t&&this.enterScope(0);this.type!==we.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},Ge.parseFor=function(t,e){return t.init=e,this.expect(we.semi),t.test=this.type===we.semi?null:this.parseExpression(),this.expect(we.semi),t.update=this.type===we.parenR?null:this.parseExpression(),this.expect(we.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},Ge.parseForIn=function(t,e){var r=this.type===we._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)&&this.raise(e.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(we.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},Ge.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(we.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===we._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===we._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(we.comma))break}return t},Ge.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var Ke=1,Ye=2;function Je(t,e){var r=e.key.name,i=t[r],n="true";return"MethodDefinition"!==e.type||"get"!==e.kind&&"set"!==e.kind||(n=(e.static?"s":"i")+e.kind),"iget"===i&&"iset"===n||"iset"===i&&"iget"===n||"sget"===i&&"sset"===n||"sset"===i&&"sget"===n?(t[r]="true",!1):!!i||(t[r]=n,!1)}function Xe(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}Ge.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===we.star&&e&Ye&&this.unexpected(),t.generator=this.eat(we.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&Ke&&(t.id=4&e&&this.type!==we.name?null:this.parseIdent(),!t.id||e&Ye||this.checkLValSimple(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var s=this.yieldPos,o=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Me(t.async,t.generator)),e&Ke||(t.id=this.type===we.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,r,!1,n),this.yieldPos=s,this.awaitPos=o,this.awaitIdentPos=a,this.finishNode(t,e&Ke?"FunctionDeclaration":"FunctionExpression")},Ge.parseFunctionParams=function(t){this.expect(we.parenL),t.params=this.parseBindingList(we.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Ge.parseClass=function(t,e){this.next();var r=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var i=this.enterClassBody(),n=this.startNode(),s=!1;for(n.body=[],this.expect(we.braceL);this.type!==we.braceR;){var o=this.parseClassElement(null!==t.superClass);o&&(n.body.push(o),"MethodDefinition"===o.type&&"constructor"===o.kind?(s&&this.raiseRecoverable(o.start,"Duplicate constructor in the same class"),s=!0):o.key&&"PrivateIdentifier"===o.key.type&&Je(i,o)&&this.raiseRecoverable(o.key.start,"Identifier '#"+o.key.name+"' has already been declared"))}return this.strict=r,this.next(),t.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},Ge.parseClassElement=function(t){if(this.eat(we.semi))return null;var e=this.options.ecmaVersion,r=this.startNode(),i="",n=!1,s=!1,o="method",a=!1;if(this.eatContextual("static")){if(e>=13&&this.eat(we.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===we.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==we.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(we.star)&&(n=!0),!i&&!s&&!n){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?o=c:i=c)}if(i?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=i,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),e<13||this.type===we.parenL||"method"!==o||n||s){var l=!r.static&&Xe(r,"constructor"),h=l&&t;l&&"method"!==o&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=l?"constructor":o,this.parseClassMethod(r,n,s,h)}else this.parseClassField(r);return r},Ge.isClassElementNameStart=function(){return this.type===we.name||this.type===we.privateId||this.type===we.num||this.type===we.string||this.type===we.bracketL||this.type.keyword},Ge.parseClassElementName=function(t){this.type===we.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),t.computed=!1,t.key=this.parsePrivateIdent()):this.parsePropertyName(t)},Ge.parseClassMethod=function(t,e,r,i){var n=t.key;"constructor"===t.kind?(e&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):t.static&&Xe(t,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var s=t.value=this.parseMethod(e,r,i);return"get"===t.kind&&0!==s.params.length&&this.raiseRecoverable(s.start,"getter should have no params"),"set"===t.kind&&1!==s.params.length&&this.raiseRecoverable(s.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===s.params[0].type&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(t,"MethodDefinition")},Ge.parseClassField=function(t){if(Xe(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&Xe(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(we.eq)){var e=this.currentThisScope(),r=e.inClassFieldInit;e.inClassFieldInit=!0,t.value=this.parseMaybeAssign(),e.inClassFieldInit=r}else t.value=null;return this.semicolon(),this.finishNode(t,"PropertyDefinition")},Ge.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==we.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},Ge.parseClassId=function(t,e){this.type===we.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},Ge.parseClassSuper=function(t){t.superClass=this.eat(we._extends)?this.parseExprSubscripts(null,!1):null},Ge.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},Ge.exitClassBody=function(){var t=this.privateNameStack.pop(),e=t.declared,r=t.used;if(this.options.checkPrivateFields)for(var i=this.privateNameStack.length,n=0===i?null:this.privateNameStack[i-1],s=0;s<r.length;++s){var o=r[s];Ie(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},Ge.parseExportAllDeclaration=function(t,e){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseModuleExportName(),this.checkExport(e,t.exported,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==we.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},Ge.parseExport=function(t,e){if(this.next(),this.eat(we.star))return this.parseExportAllDeclaration(t,e);if(this.eat(we._default))return this.checkExport(e,"default",this.lastTokStart),t.declaration=this.parseExportDefaultDeclaration(),this.finishNode(t,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())t.declaration=this.parseExportDeclaration(t),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==we.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var r=0,i=t.specifiers;r<i.length;r+=1){var n=i[r];this.checkUnreserved(n.local),this.checkLocalExport(n.local),"Literal"===n.local.type&&this.raise(n.local.start,"A string literal cannot be used as an exported binding without `from`.")}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},Ge.parseExportDeclaration=function(t){return this.parseStatement(null)},Ge.parseExportDefaultDeclaration=function(){var t;if(this.type===we._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|Ke,!1,t)}if(this.type===we._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},Ge.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),Ie(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},Ge.checkPatternExport=function(t,e){var r=e.type;if("Identifier"===r)this.checkExport(t,e,e.start);else if("ObjectPattern"===r)for(var i=0,n=e.properties;i<n.length;i+=1){var s=n[i];this.checkPatternExport(t,s)}else if("ArrayPattern"===r)for(var o=0,a=e.elements;o<a.length;o+=1){var c=a[o];c&&this.checkPatternExport(t,c)}else"Property"===r?this.checkPatternExport(t,e.value):"AssignmentPattern"===r?this.checkPatternExport(t,e.left):"RestElement"===r?this.checkPatternExport(t,e.argument):"ParenthesizedExpression"===r&&this.checkPatternExport(t,e.expression)},Ge.checkVariableExport=function(t,e){if(t)for(var r=0,i=e;r<i.length;r+=1){var n=i[r];this.checkPatternExport(t,n.id)}},Ge.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},Ge.parseExportSpecifier=function(t){var e=this.startNode();return e.local=this.parseModuleExportName(),e.exported=this.eatContextual("as")?this.parseModuleExportName():e.local,this.checkExport(t,e.exported,e.exported.start),this.finishNode(e,"ExportSpecifier")},Ge.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(we.braceL);!this.eat(we.braceR);){if(r)r=!1;else if(this.expect(we.comma),this.afterTrailingComma(we.braceR))break;e.push(this.parseExportSpecifier(t))}return e},Ge.parseImport=function(t){return this.next(),this.type===we.string?(t.specifiers=Qe,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===we.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},Ge.parseImportSpecifier=function(){var t=this.startNode();return t.imported=this.parseModuleExportName(),this.eatContextual("as")?t.local=this.parseIdent():(this.checkUnreserved(t.imported),t.local=t.imported),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportSpecifier")},Ge.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},Ge.parseImportNamespaceSpecifier=function(){var t=this.startNode();return this.next(),this.expectContextual("as"),t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportNamespaceSpecifier")},Ge.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===we.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(we.comma)))return t;if(this.type===we.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(we.braceL);!this.eat(we.braceR);){if(e)e=!1;else if(this.expect(we.comma),this.afterTrailingComma(we.braceR))break;t.push(this.parseImportSpecifier())}return t},Ge.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===we.string){var t=this.parseLiteral(this.value);return Oe.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},Ge.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},Ge.isDirectiveCandidate=function(t){return this.options.ecmaVersion>=5&&"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var Ze=Fe.prototype;Ze.toAssignable=function(t,e,r){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.toAssignable(s,e),"RestElement"!==s.type||"ArrayPattern"!==s.argument.type&&"ObjectPattern"!==s.argument.type||this.raise(s.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",r&&this.checkPatternErrors(r,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,r);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else r&&this.checkPatternErrors(r,!0);return t},Ze.toAssignableList=function(t,e){for(var r=t.length,i=0;i<r;i++){var n=t[i];n&&this.toAssignable(n,e)}if(r){var s=t[r-1];6===this.options.ecmaVersion&&e&&s&&"RestElement"===s.type&&"Identifier"!==s.argument.type&&this.unexpected(s.argument.start)}return t},Ze.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},Ze.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==we.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},Ze.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case we.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(we.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case we.braceL:return this.parseObj(!0)}return this.parseIdent()},Ze.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(we.comma),e&&this.type===we.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===we.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===we.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},Ze.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},Ze.parseBindingListItem=function(t){return t},Ze.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(we.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},Ze.checkLValSimple=function(t,e,r){void 0===e&&(e=0);var i=0!==e;switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(i?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),r&&(Ie(r,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),r[t.name]=!0),5!==e&&this.declareName(t.name,e,t.start));break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":i&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ParenthesizedExpression":return i&&this.raiseRecoverable(t.start,"Binding parenthesized expression"),this.checkLValSimple(t.expression,e,r);default:this.raise(t.start,(i?"Binding":"Assigning to")+" rvalue")}},Ze.checkLValPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"ObjectPattern":for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,e,r)}break;case"ArrayPattern":for(var o=0,a=t.elements;o<a.length;o+=1){var c=a[o];c&&this.checkLValInnerPattern(c,e,r)}break;default:this.checkLValSimple(t,e,r)}},Ze.checkLValInnerPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"Property":this.checkLValInnerPattern(t.value,e,r);break;case"AssignmentPattern":this.checkLValPattern(t.left,e,r);break;case"RestElement":this.checkLValPattern(t.argument,e,r);break;default:this.checkLValPattern(t,e,r)}};var $e=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},tr={b_stat:new $e("{",!1),b_expr:new $e("{",!0),b_tmpl:new $e("${",!1),p_stat:new $e("(",!1),p_expr:new $e("(",!0),q_tmpl:new $e("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new $e("function",!1),f_expr:new $e("function",!0),f_expr_gen:new $e("function",!0,!1,null,!0),f_gen:new $e("function",!1,!1,null,!0)},er=Fe.prototype;er.initialContext=function(){return[tr.b_stat]},er.curContext=function(){return this.context[this.context.length-1]},er.braceIsBlock=function(t){var e=this.curContext();return e===tr.f_expr||e===tr.f_stat||(t!==we.colon||e!==tr.b_stat&&e!==tr.b_expr?t===we._return||t===we.name&&this.exprAllowed?be.test(this.input.slice(this.lastTokEnd,this.start)):t===we._else||t===we.semi||t===we.eof||t===we.parenR||t===we.arrow||(t===we.braceL?e===tr.b_stat:t!==we._var&&t!==we._const&&t!==we.name&&!this.exprAllowed):!e.isExpr)},er.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},er.updateContext=function(t){var e,r=this.type;r.keyword&&t===we.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},er.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},we.parenR.updateContext=we.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===tr.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},we.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?tr.b_stat:tr.b_expr),this.exprAllowed=!0},we.dollarBraceL.updateContext=function(){this.context.push(tr.b_tmpl),this.exprAllowed=!0},we.parenL.updateContext=function(t){var e=t===we._if||t===we._for||t===we._with||t===we._while;this.context.push(e?tr.p_stat:tr.p_expr),this.exprAllowed=!0},we.incDec.updateContext=function(){},we._function.updateContext=we._class.updateContext=function(t){!t.beforeExpr||t===we._else||t===we.semi&&this.curContext()!==tr.p_stat||t===we._return&&be.test(this.input.slice(this.lastTokEnd,this.start))||(t===we.colon||t===we.braceL)&&this.curContext()===tr.b_stat?this.context.push(tr.f_stat):this.context.push(tr.f_expr),this.exprAllowed=!1},we.backQuote.updateContext=function(){this.curContext()===tr.q_tmpl?this.context.pop():this.context.push(tr.q_tmpl),this.exprAllowed=!1},we.star.updateContext=function(t){if(t===we._function){var e=this.context.length-1;this.context[e]===tr.f_expr?this.context[e]=tr.f_expr_gen:this.context[e]=tr.f_gen}this.exprAllowed=!0},we.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==we.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var rr=Fe.prototype;function ir(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&ir(t.expression)}rr.checkPropClash=function(t,e,r){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var i,n=t.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=String(n.value);break;default:return}var s=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(e.proto&&(r?r.doubleProto<0&&(r.doubleProto=n.start):this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),e.proto=!0);else{var o=e[i="$"+i];o?("init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s])&&this.raiseRecoverable(n.start,"Redefinition of property"):o=e[i]={init:!1,get:!1,set:!1},o[s]=!0}}},rr.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===we.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(we.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},rr.parseMaybeAssign=function(t,e,r){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,n=-1,s=-1,o=-1;e?(n=e.parenthesizedAssign,s=e.trailingComma,o=e.doubleProto,e.parenthesizedAssign=e.trailingComma=-1):(e=new Ve,i=!0);var a=this.start,c=this.startLoc;this.type!==we.parenL&&this.type!==we.name||(this.potentialArrowAt=this.start,this.potentialArrowInForAwait="await"===t);var l=this.parseMaybeConditional(t,e);if(r&&(l=r.call(this,l,a,c)),this.type.isAssign){var h=this.startNodeAt(a,c);return h.operator=this.value,this.type===we.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===we.eq?this.checkLValPattern(l):this.checkLValSimple(l),h.left=l,this.next(),h.right=this.parseMaybeAssign(t),o>-1&&(e.doubleProto=o),this.finishNode(h,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),n>-1&&(e.parenthesizedAssign=n),s>-1&&(e.trailingComma=s),l},rr.parseMaybeConditional=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return n;if(this.eat(we.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(we.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},rr.parseExprOps=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(e,!1,!1,t);return this.checkExpressionErrors(e)||n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,t)},rr.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==we._in)&&s>i){var o=this.type===we.logicalOR||this.type===we.logicalAND,a=this.type===we.coalesce;a&&(s=we.logicalAND.binop);var c=this.value;this.next();var l=this.start,h=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),l,h,s,n),p=this.buildBinary(e,r,t,u,c,o||a);return(o&&this.type===we.coalesce||a&&(this.type===we.logicalOR||this.type===we.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(p,e,r,i,n)}return t},rr.buildBinary=function(t,e,r,i,n,s){"PrivateIdentifier"===i.type&&this.raise(i.start,"Private identifier can only be left side of binary expression");var o=this.startNodeAt(t,e);return o.left=r,o.operator=n,o.right=i,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},rr.parseMaybeUnary=function(t,e,r,i){var n,s=this.start,o=this.startLoc;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(i),e=!0;else if(this.type.prefix){var a=this.startNode(),c=this.type===we.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0,c,i),this.checkExpressionErrors(t,!0),c?this.checkLValSimple(a.argument):this.strict&&"delete"===a.operator&&"Identifier"===a.argument.type?this.raiseRecoverable(a.start,"Deleting local variable in strict mode"):"delete"===a.operator&&ir(a.argument)?this.raiseRecoverable(a.start,"Private fields can not be deleted"):e=!0,n=this.finishNode(a,c?"UpdateExpression":"UnaryExpression")}else if(e||this.type!==we.privateId){if(n=this.parseExprSubscripts(t,i),this.checkExpressionErrors(t))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(s,o);l.operator=this.value,l.prefix=!1,l.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(l,"UpdateExpression")}}else(i||0===this.privateNameStack.length)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==we._in&&this.unexpected();return r||!this.eat(we.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},rr.parseExprSubscripts=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprAtom(t,e);if("ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return n;var s=this.parseSubscripts(n,r,i,!1,e);return t&&"MemberExpression"===s.type&&(t.parenthesizedAssign>=s.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=s.start&&(t.parenthesizedBind=-1),t.trailingComma>=s.start&&(t.trailingComma=-1)),s},rr.parseSubscripts=function(t,e,r,i,n){for(var s=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&this.potentialArrowAt===t.start,o=!1;;){var a=this.parseSubscript(t,e,r,i,s,o,n);if(a.optional&&(o=!0),a===t||"ArrowFunctionExpression"===a.type){if(o){var c=this.startNodeAt(e,r);c.expression=a,a=this.finishNode(c,"ChainExpression")}return a}t=a}},rr.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(we.arrow)},rr.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},rr.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(we.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(we.bracketL);if(l||c&&this.type!==we.parenL&&this.type!==we.backQuote||this.eat(we.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(we.bracketR)):this.type===we.privateId&&"Super"!==t.type?h.property=this.parsePrivateIdent():h.property=this.parseIdent("never"!==this.options.allowReserved),h.computed=!!l,a&&(h.optional=c),t=this.finishNode(h,"MemberExpression")}else if(!i&&this.eat(we.parenL)){var u=new Ve,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(we.parenR,this.options.ecmaVersion>=8,!1,u);if(n&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=d,this.awaitIdentPos=f,this.parseSubscriptAsyncArrow(e,r,g,o);this.checkExpressionErrors(u,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=d||this.awaitPos,this.awaitIdentPos=f||this.awaitIdentPos;var y=this.startNodeAt(e,r);y.callee=t,y.arguments=g,a&&(y.optional=c),t=this.finishNode(y,"CallExpression")}else if(this.type===we.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var m=this.startNodeAt(e,r);m.tag=t,m.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(m,"TaggedTemplateExpression")}return t},rr.parseExprAtom=function(t,e,r){this.type===we.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case we._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==we.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==we.dot&&this.type!==we.bracketL&&this.type!==we.parenL&&this.unexpected(),this.finishNode(i,"Super");case we._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case we.name:var s=this.start,o=this.startLoc,a=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&"async"===c.name&&!this.canInsertSemicolon()&&this.eat(we._function))return this.overrideContext(tr.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(we.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===we.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(we.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case we.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case we.num:case we.string:return this.parseLiteral(this.value);case we._null:case we._true:case we._false:return(i=this.startNode()).value=this.type===we._null?null:this.type===we._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case we.parenL:var h=this.start,u=this.parseParenAndDistinguishExpression(n,e);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),u;case we.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(we.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case we.braceL:return this.overrideContext(tr.b_expr),this.parseObj(!1,t);case we._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case we._class:return this.parseClass(this.startNode(),!1);case we._new:return this.parseNew();case we.backQuote:return this.parseTemplate();case we._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},rr.parseExprAtomDefault=function(){this.unexpected()},rr.parseExprImport=function(t){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var r=this.parseIdent(!0);return this.type!==we.parenL||t?this.type===we.dot?(e.meta=r,this.parseImportMeta(e)):void this.unexpected():this.parseDynamicImport(e)},rr.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(we.parenR)){var e=this.start;this.eat(we.comma)&&this.eat(we.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},rr.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},rr.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},rr.parseParenExpression=function(){this.expect(we.parenL);var t=this.parseExpression();return this.expect(we.parenR),t},rr.shouldParseArrow=function(t){return!this.canInsertSemicolon()},rr.parseParenAndDistinguishExpression=function(t,e){var r,i=this.start,n=this.startLoc,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o,a=this.start,c=this.startLoc,l=[],h=!0,u=!1,p=new Ve,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==we.parenR;){if(h?h=!1:this.expect(we.comma),s&&this.afterTrailingComma(we.parenR,!0)){u=!0;break}if(this.type===we.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===we.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var g=this.lastTokEnd,y=this.lastTokEndLoc;if(this.expect(we.parenR),t&&this.shouldParseArrow(l)&&this.eat(we.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(i,n,l,e);l.length&&!u||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(p,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,l.length>1?((r=this.startNodeAt(a,c)).expressions=l,this.finishNodeAt(r,"SequenceExpression",g,y)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var m=this.startNodeAt(i,n);return m.expression=r,this.finishNode(m,"ParenthesizedExpression")}return r},rr.parseParenItem=function(t){return t},rr.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var nr=[];rr.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(we.dot)){t.meta=e;var r=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(t.start,"'new.target' can only be used in functions and class static block"),this.finishNode(t,"MetaProperty")}var i=this.start,n=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),i,n,!0,!1),this.eat(we.parenL)?t.arguments=this.parseExprList(we.parenR,this.options.ecmaVersion>=8,!1):t.arguments=nr,this.finishNode(t,"NewExpression")},rr.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===we.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===we.backQuote,this.finishNode(r,"TemplateElement")},rr.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:e});for(r.quasis=[i];!i.tail;)this.type===we.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(we.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(we.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},rr.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===we.name||this.type===we.num||this.type===we.string||this.type===we.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===we.star)&&!be.test(this.input.slice(this.lastTokEnd,this.start))},rr.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(we.braceR);){if(i)i=!1;else if(this.expect(we.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(we.braceR))break;var s=this.parseProperty(t,e);t||this.checkPropClash(s,n,e),r.properties.push(s)}return this.finishNode(r,t?"ObjectPattern":"ObjectExpression")},rr.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(we.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===we.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(o,"RestElement")):(o.argument=this.parseMaybeAssign(!1,e),this.type===we.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(o,"SpreadElement"));this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(t||e)&&(n=this.start,s=this.startLoc),t||(r=this.eat(we.star)));var a=this.containsEsc;return this.parsePropertyName(o),!t&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(o)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(we.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},rr.parseGetterSetter=function(t){t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var e="get"===t.kind?0:1;if(t.value.params.length!==e){var r=t.value.start;"get"===t.kind?this.raiseRecoverable(r,"getter should have no params"):this.raiseRecoverable(r,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")},rr.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===we.colon&&this.unexpected(),this.eat(we.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===we.parenL?(e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(r,i)):e||a||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===we.comma||this.type===we.braceR||this.type===we.eq?this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),t.kind="init",e?t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key)):this.type===we.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key))):t.value=this.copyNode(t.key),t.shorthand=!0):this.unexpected():((r||i)&&this.unexpected(),this.parseGetterSetter(t))},rr.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(we.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(we.bracketR),t.key;t.computed=!1}return t.key=this.type===we.num||this.type===we.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},rr.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},rr.parseMethod=function(t,e,r){var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|Me(e,i.generator)|(r?128:0)),this.expect(we.parenL),i.params=this.parseBindingList(we.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0,!1),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(i,"FunctionExpression")},rr.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|Me(r,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1,i),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(t,"ArrowFunctionExpression")},rr.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==we.braceL,s=this.strict,o=!1;if(n)t.body=this.parseMaybeAssign(i),t.expression=!0,this.checkParams(t,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!a||(o=this.strictDirective(this.end))&&a&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(t,!s&&!o&&!e&&!r&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLValSimple(t.id,5),t.body=this.parseBlock(!1,void 0,o&&!s),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=c}this.exitScope()},rr.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1)if("Identifier"!==r[e].type)return!1;return!0},rr.checkParams=function(t,e){for(var r=Object.create(null),i=0,n=t.params;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,1,e?null:r)}},rr.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(we.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===we.comma?o=null:this.type===we.ellipsis?(o=this.parseSpread(i),i&&this.type===we.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},rr.checkUnreserved=function(t){var e=t.start,r=t.end,i=t.name;this.inGenerator&&"yield"===i&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===i&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().inClassFieldInit&&"arguments"===i&&this.raiseRecoverable(e,"Cannot use 'arguments' in class field initializer"),!this.inClassStaticBlock||"arguments"!==i&&"await"!==i||this.raise(e,"Cannot use "+i+" in class static initialization block"),this.keywords.test(i)&&this.raise(e,"Unexpected keyword '"+i+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,r).indexOf("\\")||(this.strict?this.reservedWordsStrict:this.reservedWords).test(i)&&(this.inAsync||"await"!==i||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+i+"' is reserved"))},rr.parseIdent=function(t){var e=this.parseIdentNode();return this.next(!!t),this.finishNode(e,"Identifier"),t||(this.checkUnreserved(e),"await"!==e.name||this.awaitIdentPos||(this.awaitIdentPos=e.start)),e},rr.parseIdentNode=function(){var t=this.startNode();return this.type===we.name?t.name=this.value:this.type.keyword?(t.name=this.type.keyword,"class"!==t.name&&"function"!==t.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),t},rr.parsePrivateIdent=function(){var t=this.startNode();return this.type===we.privateId?t.name=this.value:this.unexpected(),this.next(),this.finishNode(t,"PrivateIdentifier"),this.options.checkPrivateFields&&(0===this.privateNameStack.length?this.raise(t.start,"Private field '#"+t.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(t)),t},rr.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===we.semi||this.canInsertSemicolon()||this.type!==we.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(we.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},rr.parseAwait=function(t){this.awaitPos||(this.awaitPos=this.start);var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!0,!1,t),this.finishNode(e,"AwaitExpression")};var sr=Fe.prototype;sr.raise=function(t,e){var r=De(this.input,t);e+=" ("+r.line+":"+r.column+")";var i=new SyntaxError(e);throw i.pos=t,i.loc=r,i.raisedAt=this.pos,i},sr.raiseRecoverable=sr.raise,sr.curPosition=function(){if(this.options.locations)return new Be(this.curLine,this.pos-this.lineStart)};var or=Fe.prototype,ar=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};or.enterScope=function(t){this.scopeStack.push(new ar(t))},or.exitScope=function(){this.scopeStack.pop()},or.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},or.declareName=function(t,e,r){var i=!1;if(2===e){var n=this.currentScope();i=n.lexical.indexOf(t)>-1||n.functions.indexOf(t)>-1||n.var.indexOf(t)>-1,n.lexical.push(t),this.inModule&&1&n.flags&&delete this.undefinedExports[t]}else if(4===e)this.currentScope().lexical.push(t);else if(3===e){var s=this.currentScope();i=this.treatFunctionsAsVar?s.lexical.indexOf(t)>-1:s.lexical.indexOf(t)>-1||s.var.indexOf(t)>-1,s.functions.push(t)}else for(var o=this.scopeStack.length-1;o>=0;--o){var a=this.scopeStack[o];if(a.lexical.indexOf(t)>-1&&!(32&a.flags&&a.lexical[0]===t)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(t)>-1){i=!0;break}if(a.var.push(t),this.inModule&&1&a.flags&&delete this.undefinedExports[t],259&a.flags)break}i&&this.raiseRecoverable(r,"Identifier '"+t+"' has already been declared")},or.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},or.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},or.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags)return e}},or.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags&&!(16&e.flags))return e}};var cr=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Pe(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},lr=Fe.prototype;function hr(t,e,r,i){return t.type=e,t.end=r,this.options.locations&&(t.loc.end=i),this.options.ranges&&(t.range[1]=r),t}lr.startNode=function(){return new cr(this,this.start,this.startLoc)},lr.startNodeAt=function(t,e){return new cr(this,t,e)},lr.finishNode=function(t,e){return hr.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},lr.finishNodeAt=function(t,e,r,i){return hr.call(this,t,e,r,i)},lr.copyNode=function(t){var e=new cr(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var ur="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",pr=ur+" Extended_Pictographic",dr=pr+" EBase EComp EMod EPres ExtPict",fr={9:ur,10:pr,11:pr,12:dr,13:dr,14:"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic EBase EComp EMod EPres ExtPict"},gr={9:"",10:"",11:"",12:"",13:"",14:"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"},yr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",mr="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",wr=mr+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",br=wr+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Ar=br+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",vr={9:mr,10:wr,11:br,12:Ar,13:Ar+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",14:"Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz"},_r={};function Er(t){var e=_r[t]={binary:ke(fr[t]+" "+yr),binaryOfStrings:ke(gr[t]),nonBinary:{General_Category:ke(yr),Script:ke(vr[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}for(var Sr=0,xr=[9,10,11,12,13,14];Sr<xr.length;Sr+=1)Er(xr[Sr]);var Tr=Fe.prototype,Cr=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=_r[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Ir(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function Rr(t){return t>=65&&t<=90||t>=97&&t<=122}function kr(t){return Rr(t)||95===t}function Nr(t){return kr(t)||Or(t)}function Or(t){return t>=48&&t<=57}function Br(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Pr(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function Dr(t){return t>=48&&t<=55}Cr.prototype.reset=function(t,e,r){var i=-1!==r.indexOf("v"),n=-1!==r.indexOf("u");this.start=0|t,this.source=e+"",this.flags=r,i&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=n&&this.parser.options.ecmaVersion>=9)},Cr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Cr.prototype.at=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return-1;var n=r.charCodeAt(t);if(!e&&!this.switchU||n<=55295||n>=57344||t+1>=i)return n;var s=r.charCodeAt(t+1);return s>=56320&&s<=57343?(n<<10)+s-56613888:n},Cr.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return i;var n,s=r.charCodeAt(t);return!e&&!this.switchU||s<=55295||s>=57344||t+1>=i||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},Cr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Cr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Cr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Cr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Cr.prototype.eatChars=function(t,e){void 0===e&&(e=!1);for(var r=this.pos,i=0,n=t;i<n.length;i+=1){var s=n[i],o=this.at(r,e);if(-1===o||o!==s)return!1;r=this.nextIndex(r,e)}return this.pos=r,!0},Tr.validateRegExpFlags=function(t){for(var e=t.validFlags,r=t.flags,i=!1,n=!1,s=0;s<r.length;s++){var o=r.charAt(s);-1===e.indexOf(o)&&this.raise(t.start,"Invalid regular expression flag"),r.indexOf(o,s+1)>-1&&this.raise(t.start,"Duplicate regular expression flag"),"u"===o&&(i=!0),"v"===o&&(n=!0)}this.options.ecmaVersion>=15&&i&&n&&this.raise(t.start,"Invalid regular expression flag")},Tr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},Tr.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,r=t.backReferenceNames;e<r.length;e+=1){var i=r[e];-1===t.groupNames.indexOf(i)&&t.raise("Invalid named capture referenced")}},Tr.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},Tr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},Tr.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},Tr.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var r=!1;if(this.options.ecmaVersion>=9&&(r=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!r,!0}return t.pos=e,!1},Tr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Tr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Tr.regexp_eatBracedQuantifier=function(t,e){var r=t.pos;if(t.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(n=t.lastIntValue),t.eat(125)))return-1!==n&&n<i&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=r}return!1},Tr.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},Tr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},Tr.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},Tr.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Tr.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Tr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Tr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Ir(e)&&(t.lastIntValue=e,t.advance(),!0)},Tr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!Ir(r);)t.advance();return t.pos!==e},Tr.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e||(t.advance(),0))},Tr.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},Tr.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Tr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ne(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ne(t.lastIntValue);return!0}return!1},Tr.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return he(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Tr.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return ue(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Tr.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Tr.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var r=t.lastIntValue;if(t.switchU)return r>t.maxBackReference&&(t.maxBackReference=r),!0;if(r<=t.numCapturingParens)return!0;t.pos=e}return!1},Tr.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Tr.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Tr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Tr.regexp_eatZero=function(t){return 48===t.current()&&!Or(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Tr.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Tr.regexp_eatControlLetter=function(t){var e=t.current();return!!Rr(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Tr.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var r,i=t.pos,n=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(n&&s>=55296&&s<=56319){var o=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var a=t.lastIntValue;if(a>=56320&&a<=57343)return t.lastIntValue=1024*(s-55296)+(a-56320)+65536,!0}t.pos=o,t.lastIntValue=s}return!0}if(n&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&(r=t.lastIntValue)>=0&&r<=1114111)return!0;n&&t.raise("Invalid unicode escape"),t.pos=i}return!1},Tr.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e||(t.lastIntValue=e,t.advance(),0))},Tr.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Tr.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),1;var r=!1;if(t.switchU&&this.options.ecmaVersion>=9&&((r=80===e)||112===e)){var i;if(t.lastIntValue=-1,t.advance(),t.eat(123)&&(i=this.regexp_eatUnicodePropertyValueExpression(t))&&t.eat(125))return r&&2===i&&t.raise("Invalid property name"),i;t.raise("Invalid property name")}return 0},Tr.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var r=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,r,i),1}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var n=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,n)}return 0},Tr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){Ie(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},Tr.regexp_validateUnicodePropertyNameOrValue=function(t,e){return t.unicodeProperties.binary.test(e)?1:t.switchV&&t.unicodeProperties.binaryOfStrings.test(e)?2:void t.raise("Invalid property name")},Tr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";kr(e=t.current());)t.lastStringValue+=Ne(e),t.advance();return""!==t.lastStringValue},Tr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Nr(e=t.current());)t.lastStringValue+=Ne(e),t.advance();return""!==t.lastStringValue},Tr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Tr.regexp_eatCharacterClass=function(t){if(t.eat(91)){var e=t.eat(94),r=this.regexp_classContents(t);return t.eat(93)||t.raise("Unterminated character class"),e&&2===r&&t.raise("Negated character class may contain strings"),!0}return!1},Tr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},Tr.regexp_nonEmptyClassRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var r=t.lastIntValue;!t.switchU||-1!==e&&-1!==r||t.raise("Invalid character class"),-1!==e&&-1!==r&&e>r&&t.raise("Range out of order in character class")}}},Tr.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var r=t.current();(99===r||Dr(r))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var i=t.current();return 93!==i&&(t.lastIntValue=i,t.advance(),!0)},Tr.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Tr.regexp_classSetExpression=function(t){var e,r=1;if(this.regexp_eatClassSetRange(t));else if(e=this.regexp_eatClassSetOperand(t)){2===e&&(r=2);for(var i=t.pos;t.eatChars([38,38]);)38!==t.current()&&(e=this.regexp_eatClassSetOperand(t))?2!==e&&(r=1):t.raise("Invalid character in character class");if(i!==t.pos)return r;for(;t.eatChars([45,45]);)this.regexp_eatClassSetOperand(t)||t.raise("Invalid character in character class");if(i!==t.pos)return r}else t.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(t)){if(!(e=this.regexp_eatClassSetOperand(t)))return r;2===e&&(r=2)}},Tr.regexp_eatClassSetRange=function(t){var e=t.pos;if(this.regexp_eatClassSetCharacter(t)){var r=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassSetCharacter(t)){var i=t.lastIntValue;return-1!==r&&-1!==i&&r>i&&t.raise("Range out of order in character class"),!0}t.pos=e}return!1},Tr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},Tr.regexp_eatNestedClass=function(t){var e=t.pos;if(t.eat(91)){var r=t.eat(94),i=this.regexp_classContents(t);if(t.eat(93))return r&&2===i&&t.raise("Negated character class may contain strings"),i;t.pos=e}if(t.eat(92)){var n=this.regexp_eatCharacterClassEscape(t);if(n)return n;t.pos=e}return null},Tr.regexp_eatClassStringDisjunction=function(t){var e=t.pos;if(t.eatChars([92,113])){if(t.eat(123)){var r=this.regexp_classStringDisjunctionContents(t);if(t.eat(125))return r}else t.raise("Invalid escape");t.pos=e}return null},Tr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},Tr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},Tr.regexp_eatClassSetCharacter=function(t){var e=t.pos;if(t.eat(92))return!(!this.regexp_eatCharacterEscape(t)&&!this.regexp_eatClassSetReservedPunctuator(t)&&(t.eat(98)?(t.lastIntValue=8,0):(t.pos=e,1)));var r=t.current();return!(r<0||r===t.lookahead()&&function(t){return 33===t||t>=35&&t<=38||t>=42&&t<=44||46===t||t>=58&&t<=64||94===t||96===t||126===t}(r)||function(t){return 40===t||41===t||45===t||47===t||t>=91&&t<=93||t>=123&&t<=125}(r)||(t.advance(),t.lastIntValue=r,0))},Tr.regexp_eatClassSetReservedPunctuator=function(t){var e=t.current();return!!function(t){return 33===t||35===t||37===t||38===t||44===t||45===t||t>=58&&t<=62||64===t||96===t||126===t}(e)&&(t.lastIntValue=e,t.advance(),!0)},Tr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!Or(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},Tr.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Tr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;Or(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},Tr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;Br(r=t.current());)t.lastIntValue=16*t.lastIntValue+Pr(r),t.advance();return t.pos!==e},Tr.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var r=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*r+t.lastIntValue:t.lastIntValue=8*e+r}else t.lastIntValue=e;return!0}return!1},Tr.regexp_eatOctalDigit=function(t){var e=t.current();return Dr(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Tr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!Br(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+Pr(n),t.advance()}return!0};var Lr=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Pe(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},Ur=Fe.prototype;function Mr(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}Ur.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Lr(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Ur.getToken=function(){return this.next(),new Lr(this)},"undefined"!=typeof Symbol&&(Ur[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===we.eof,value:e}}}}),Ur.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(we.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},Ur.readToken=function(t){return he(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},Ur.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=56320)return t;var e=this.input.charCodeAt(this.pos+1);return e<=56319||e>=57344?t:(t<<10)+e-56613888},Ur.skipBlockComment=function(){var t=this.options.onComment&&this.curPosition(),e=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var i=void 0,n=e;(i=_e(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=i;this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,r),e,this.pos,t,this.curPosition())},Ur.skipLineComment=function(t){for(var e=this.pos,r=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!ve(i);)i=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,r,this.curPosition())},Ur.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&Ee.test(String.fromCharCode(t))))break t;++this.pos}}},Ur.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=t,this.value=e,this.updateContext(r)},Ur.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(we.ellipsis)):(++this.pos,this.finishToken(we.dot))},Ur.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(we.assign,2):this.finishOp(we.slash,1)},Ur.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?we.star:we.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=we.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(we.assign,r+1):this.finishOp(i,r)},Ur.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(we.assign,3):this.finishOp(124===t?we.logicalOR:we.logicalAND,2):61===e?this.finishOp(we.assign,2):this.finishOp(124===t?we.bitwiseOR:we.bitwiseAND,1)},Ur.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(we.assign,2):this.finishOp(we.bitwiseXOR,1)},Ur.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!be.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(we.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(we.assign,2):this.finishOp(we.plusMin,1)},Ur.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(we.assign,r+1):this.finishOp(we.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(r=2),this.finishOp(we.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Ur.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(we.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(we.arrow)):this.finishOp(61===t?we.eq:we.prefix,1)},Ur.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(we.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(we.assign,3):this.finishOp(we.coalesce,2)}return this.finishOp(we.question,1)},Ur.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,he(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(we.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Ne(t)+"'")},Ur.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(we.parenL);case 41:return++this.pos,this.finishToken(we.parenR);case 59:return++this.pos,this.finishToken(we.semi);case 44:return++this.pos,this.finishToken(we.comma);case 91:return++this.pos,this.finishToken(we.bracketL);case 93:return++this.pos,this.finishToken(we.bracketR);case 123:return++this.pos,this.finishToken(we.braceL);case 125:return++this.pos,this.finishToken(we.braceR);case 58:return++this.pos,this.finishToken(we.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(we.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(we.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Ne(t)+"'")},Ur.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},Ur.readRegexp=function(){for(var t,e,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(be.test(i)&&this.raise(r,"Unterminated regular expression"),t)t=!1;else{if("["===i)e=!0;else if("]"===i&&e)e=!1;else if("/"===i&&!e)break;t="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(s);var a=this.regexpState||(this.regexpState=new Cr(this));a.reset(r,n,o),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var c=null;try{c=new RegExp(n,o)}catch(t){}return this.finishToken(we.regexp,{pattern:n,flags:o,value:c})},Ur.readInt=function(t,e,r){for(var i=this.options.ecmaVersion>=12&&void 0===e,n=r&&48===this.input.charCodeAt(this.pos),s=this.pos,o=0,a=0,c=0,l=null==e?1/0:e;c<l;++c,++this.pos){var h=this.input.charCodeAt(this.pos),u=void 0;if(i&&95===h)n&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===a&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===c&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),a=h;else{if((u=h>=97?h-97+10:h>=65?h-65+10:h>=48&&h<=57?h-48:1/0)>=t)break;a=h,o=o*t+u}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||null!=e&&this.pos-s!==e?null:o},Ur.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var r=this.readInt(t);return null==r&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=Mr(this.input.slice(e,this.pos)),++this.pos):he(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(we.num,r)},Ur.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var r=this.pos-e>=2&&48===this.input.charCodeAt(e);r&&this.strict&&this.raise(e,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!t&&this.options.ecmaVersion>=11&&110===i){var n=Mr(this.input.slice(e,this.pos));return++this.pos,he(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(we.num,n)}r&&/[89]/.test(this.input.slice(e,this.pos))&&(r=!1),46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),he(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=function(t,e){return e?parseInt(t,8):parseFloat(t.replace(/_/g,""))}(this.input.slice(e,this.pos),r);return this.finishToken(we.num,s)},Ur.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},Ur.readString=function(t){for(var e="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===t)break;92===i?(e+=this.input.slice(r,this.pos),e+=this.readEscapedChar(!1),r=this.pos):8232===i||8233===i?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(ve(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(we.string,e)};var Fr={};Ur.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Fr)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Ur.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Fr;this.raise(t,e)},Ur.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==we.template&&this.type!==we.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(we.template,t)):36===r?(this.pos+=2,this.finishToken(we.dollarBraceL)):(++this.pos,this.finishToken(we.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(ve(r)){switch(t+=this.input.slice(e,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},Ur.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(we.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},Ur.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Ne(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),t){var r=this.pos-1;this.invalidStringToken(r,"Invalid escape sequence in template string")}default:if(e>=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return ve(e)?"":String.fromCharCode(e)}},Ur.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},Ur.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos<this.input.length;){var n=this.fullCharCodeAtPos();if(ue(n,i))this.pos+=n<=65535?1:2;else{if(92!==n)break;this.containsEsc=!0,t+=this.input.slice(r,this.pos);var s=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var o=this.readCodePoint();(e?he:ue)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=Ne(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},Ur.readWord=function(){var t=this.readWord1(),e=we.name;return this.keywords.test(t)&&(e=ye[t]),this.finishToken(e,t)},Fe.acorn={Parser:Fe,version:"8.10.0",defaultOptions:Le,Position:Be,SourceLocation:Pe,getLineInfo:De,Node:cr,TokenType:pe,tokTypes:we,keywordTypes:ye,TokContext:$e,tokContexts:tr,isIdentifierChar:ue,isIdentifierStart:he,Token:Lr,isNewLine:ve,lineBreak:be,lineBreakG:Ae,nonASCIIwhitespace:Ee};const Hr=/^\s*?import\s*?[{"'*]/,Wr=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,jr=/^\s*?import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,Vr=/(import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,Gr=["window","globalThis","self","document","location","top","parent","frames","opener"],zr=Gr.map((t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`)).join("|"),qr=new RegExp(`(${zr})`),Qr=(()=>{const t="_____WB$wombat$check$this$function_____(this)",e="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),";function r(){return(e,r,i,n)=>function(t,e){let r=t.lastIndexOf('"',e);return r<0&&(r=t.indexOf('"',e)),r>0&&"\\"===t[r-1]}(n,i)?e:e.replace("this",t)}function i(t,e){return r=>r.replace(t,e)}return[[/(?:^|\s)\beval\s*\(/,(n=e,"eval",t=>{const e=t.indexOf("eval");return 0===e?n:t.slice(0,e)+n})],[/\([\w]+,\s*eval\)\(/,()=>" "+e],[/[=]\s*\beval\b(?![(:.$])/,i("eval","self.eval")],[/var\s+self/,i("var","let")],[/\.postMessage\b\(/,t=>".__WB_pmw(self)"+t],[/(?:^|[^$.+*/%^-])\s?\blocation\b\s*[=]\s*(?![\s\d=])/,("((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).href = ",(t,e,r,i)=>{if(r>0){const e=i[r-1];if("."===e||"$"===e)return t}return t+"((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).href = "})],[/\breturn\s+this\b\s*(?![\s\w.$])/,r()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${Gr.join("|")})\\b))`),(e,r,i,n)=>{const s=n[i];return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,r()],[/\}(?:\s*\))?\s*\(this\)/,r()],[/[^|&][|&]{2}\s*this\b\s*(?![|\s&.$](?:[^|&]|$))/,r()],[/async\s+import\s*\(/,t=>t],[/[^$.]\bimport\s*\([^)]*\)\s*\{/,t=>t],[/[^$.]\bimport\s*\(/,("import","____wb_rewrite_import__",(t,e)=>{let r=t.replace("import","____wb_rewrite_import__");return r+=e.isModule?"import.meta.url, ":"null, ",r})]];var n})(),Kr=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),Yr="�";var Jr;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.NUMBER_SIGN=35]="NUMBER_SIGN",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",t[t.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_F=102]="LATIN_SMALL_F",t[t.LATIN_SMALL_X=120]="LATIN_SMALL_X",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",t[t.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"}(Jr=Jr||(Jr={}));const Xr="[CDATA[",Zr="doctype",$r="script";function ti(t){return t>=55296&&t<=57343}function ei(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function ri(t){return t>=64976&&t<=65007||Kr.has(t)}var ii,ni;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(ii=ii||(ii={}));class si{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t){const{line:e,col:r,offset:i}=this;return{code:t,startLine:e,endLine:e,startCol:r,endCol:r,startOffset:i,endOffset:i}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(function(t){return t>=56320&&t<=57343}(e))return this.pos++,this._addGap(),1024*(t-55296)+9216+e}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Jr.EOF;return this._err(ii.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,e){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,e){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(t,this.pos);for(let e=0;e<t.length;e++)if((32|this.html.charCodeAt(this.pos+e))!==t.charCodeAt(e))return!1;return!0}peek(t){const e=this.pos+t;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Jr.EOF;const r=this.html.charCodeAt(e);return r===Jr.CARRIAGE_RETURN?Jr.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Jr.EOF;let t=this.html.charCodeAt(this.pos);return t===Jr.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Jr.LINE_FEED):t===Jr.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,ti(t)&&(t=this._processSurrogate(t)),null===this.handler.onParseError||t>31&&t<127||t===Jr.LINE_FEED||t===Jr.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){ei(t)?this._err(ii.controlCharacterInInputStream):ri(t)&&this._err(ii.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(ni=ni||(ni={}));const oi=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((t=>t.charCodeAt(0)))),ai=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((t=>t.charCodeAt(0))));var ci;const li=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),hi=null!==(ci=String.fromCodePoint)&&void 0!==ci?ci:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function ui(t){return hi(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=li.get(t))&&void 0!==e?e:t}(t))}var pi,di,fi,gi,yi,mi,wi;function bi(t){return function(e,r){let i="",n=0,s=0;for(;(s=e.indexOf("&",s))>=0;){if(i+=e.slice(n,s),n=s,s+=1,e.charCodeAt(s)===pi.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|pi.To_LOWER_BIT)===pi.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=pi.ZERO&&a<=pi.NINE||16===o&&(a|pi.To_LOWER_BIT)>=pi.LOWER_A&&(a|pi.To_LOWER_BIT)<=pi.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===pi.SEMI)s+=1;else if(r)continue;i+=ui(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=Ai(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&di.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==pi.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&di.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~di.VALUE_LENGTH):2===e?String.fromCharCode(t[o+1]):String.fromCharCode(t[o+1],t[o+2]),n=s-a+1}}return i+e.slice(n)}}function Ai(t,e,r,i){const n=(e&di.BRANCH_LENGTH)>>7,s=e&di.JUMP_TABLE;if(0===n)return 0!==s&&i===s?r:-1;if(s){const e=i-s;return e<0||e>=n?-1:t[r+e]-1}let o=r,a=o+n-1;for(;o<=a;){const e=o+a>>>1,r=t[e];if(r<i)o=e+1;else{if(!(r>i))return t[e+n];a=e-1}}return-1}!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.To_LOWER_BIT=32]="To_LOWER_BIT"}(pi||(pi={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(di||(di={})),bi(oi),bi(ai),function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(fi=fi||(fi={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}(gi=gi||(gi={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(yi=yi||(yi={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(mi=mi||(mi={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SECTION=94]="SECTION",t[t.SELECT=95]="SELECT",t[t.SOURCE=96]="SOURCE",t[t.SMALL=97]="SMALL",t[t.SPAN=98]="SPAN",t[t.STRIKE=99]="STRIKE",t[t.STRONG=100]="STRONG",t[t.STYLE=101]="STYLE",t[t.SUB=102]="SUB",t[t.SUMMARY=103]="SUMMARY",t[t.SUP=104]="SUP",t[t.TABLE=105]="TABLE",t[t.TBODY=106]="TBODY",t[t.TEMPLATE=107]="TEMPLATE",t[t.TEXTAREA=108]="TEXTAREA",t[t.TFOOT=109]="TFOOT",t[t.TD=110]="TD",t[t.TH=111]="TH",t[t.THEAD=112]="THEAD",t[t.TITLE=113]="TITLE",t[t.TR=114]="TR",t[t.TRACK=115]="TRACK",t[t.TT=116]="TT",t[t.U=117]="U",t[t.UL=118]="UL",t[t.SVG=119]="SVG",t[t.VAR=120]="VAR",t[t.WBR=121]="WBR",t[t.XMP=122]="XMP"}(wi=wi||(wi={}));const vi=new Map([[mi.A,wi.A],[mi.ADDRESS,wi.ADDRESS],[mi.ANNOTATION_XML,wi.ANNOTATION_XML],[mi.APPLET,wi.APPLET],[mi.AREA,wi.AREA],[mi.ARTICLE,wi.ARTICLE],[mi.ASIDE,wi.ASIDE],[mi.B,wi.B],[mi.BASE,wi.BASE],[mi.BASEFONT,wi.BASEFONT],[mi.BGSOUND,wi.BGSOUND],[mi.BIG,wi.BIG],[mi.BLOCKQUOTE,wi.BLOCKQUOTE],[mi.BODY,wi.BODY],[mi.BR,wi.BR],[mi.BUTTON,wi.BUTTON],[mi.CAPTION,wi.CAPTION],[mi.CENTER,wi.CENTER],[mi.CODE,wi.CODE],[mi.COL,wi.COL],[mi.COLGROUP,wi.COLGROUP],[mi.DD,wi.DD],[mi.DESC,wi.DESC],[mi.DETAILS,wi.DETAILS],[mi.DIALOG,wi.DIALOG],[mi.DIR,wi.DIR],[mi.DIV,wi.DIV],[mi.DL,wi.DL],[mi.DT,wi.DT],[mi.EM,wi.EM],[mi.EMBED,wi.EMBED],[mi.FIELDSET,wi.FIELDSET],[mi.FIGCAPTION,wi.FIGCAPTION],[mi.FIGURE,wi.FIGURE],[mi.FONT,wi.FONT],[mi.FOOTER,wi.FOOTER],[mi.FOREIGN_OBJECT,wi.FOREIGN_OBJECT],[mi.FORM,wi.FORM],[mi.FRAME,wi.FRAME],[mi.FRAMESET,wi.FRAMESET],[mi.H1,wi.H1],[mi.H2,wi.H2],[mi.H3,wi.H3],[mi.H4,wi.H4],[mi.H5,wi.H5],[mi.H6,wi.H6],[mi.HEAD,wi.HEAD],[mi.HEADER,wi.HEADER],[mi.HGROUP,wi.HGROUP],[mi.HR,wi.HR],[mi.HTML,wi.HTML],[mi.I,wi.I],[mi.IMG,wi.IMG],[mi.IMAGE,wi.IMAGE],[mi.INPUT,wi.INPUT],[mi.IFRAME,wi.IFRAME],[mi.KEYGEN,wi.KEYGEN],[mi.LABEL,wi.LABEL],[mi.LI,wi.LI],[mi.LINK,wi.LINK],[mi.LISTING,wi.LISTING],[mi.MAIN,wi.MAIN],[mi.MALIGNMARK,wi.MALIGNMARK],[mi.MARQUEE,wi.MARQUEE],[mi.MATH,wi.MATH],[mi.MENU,wi.MENU],[mi.META,wi.META],[mi.MGLYPH,wi.MGLYPH],[mi.MI,wi.MI],[mi.MO,wi.MO],[mi.MN,wi.MN],[mi.MS,wi.MS],[mi.MTEXT,wi.MTEXT],[mi.NAV,wi.NAV],[mi.NOBR,wi.NOBR],[mi.NOFRAMES,wi.NOFRAMES],[mi.NOEMBED,wi.NOEMBED],[mi.NOSCRIPT,wi.NOSCRIPT],[mi.OBJECT,wi.OBJECT],[mi.OL,wi.OL],[mi.OPTGROUP,wi.OPTGROUP],[mi.OPTION,wi.OPTION],[mi.P,wi.P],[mi.PARAM,wi.PARAM],[mi.PLAINTEXT,wi.PLAINTEXT],[mi.PRE,wi.PRE],[mi.RB,wi.RB],[mi.RP,wi.RP],[mi.RT,wi.RT],[mi.RTC,wi.RTC],[mi.RUBY,wi.RUBY],[mi.S,wi.S],[mi.SCRIPT,wi.SCRIPT],[mi.SECTION,wi.SECTION],[mi.SELECT,wi.SELECT],[mi.SOURCE,wi.SOURCE],[mi.SMALL,wi.SMALL],[mi.SPAN,wi.SPAN],[mi.STRIKE,wi.STRIKE],[mi.STRONG,wi.STRONG],[mi.STYLE,wi.STYLE],[mi.SUB,wi.SUB],[mi.SUMMARY,wi.SUMMARY],[mi.SUP,wi.SUP],[mi.TABLE,wi.TABLE],[mi.TBODY,wi.TBODY],[mi.TEMPLATE,wi.TEMPLATE],[mi.TEXTAREA,wi.TEXTAREA],[mi.TFOOT,wi.TFOOT],[mi.TD,wi.TD],[mi.TH,wi.TH],[mi.THEAD,wi.THEAD],[mi.TITLE,wi.TITLE],[mi.TR,wi.TR],[mi.TRACK,wi.TRACK],[mi.TT,wi.TT],[mi.U,wi.U],[mi.UL,wi.UL],[mi.SVG,wi.SVG],[mi.VAR,wi.VAR],[mi.WBR,wi.WBR],[mi.XMP,wi.XMP]]);function _i(t){var e;return null!==(e=vi.get(t))&&void 0!==e?e:wi.UNKNOWN}const Ei=wi;fi.HTML,new Set([Ei.ADDRESS,Ei.APPLET,Ei.AREA,Ei.ARTICLE,Ei.ASIDE,Ei.BASE,Ei.BASEFONT,Ei.BGSOUND,Ei.BLOCKQUOTE,Ei.BODY,Ei.BR,Ei.BUTTON,Ei.CAPTION,Ei.CENTER,Ei.COL,Ei.COLGROUP,Ei.DD,Ei.DETAILS,Ei.DIR,Ei.DIV,Ei.DL,Ei.DT,Ei.EMBED,Ei.FIELDSET,Ei.FIGCAPTION,Ei.FIGURE,Ei.FOOTER,Ei.FORM,Ei.FRAME,Ei.FRAMESET,Ei.H1,Ei.H2,Ei.H3,Ei.H4,Ei.H5,Ei.H6,Ei.HEAD,Ei.HEADER,Ei.HGROUP,Ei.HR,Ei.HTML,Ei.IFRAME,Ei.IMG,Ei.INPUT,Ei.LI,Ei.LINK,Ei.LISTING,Ei.MAIN,Ei.MARQUEE,Ei.MENU,Ei.META,Ei.NAV,Ei.NOEMBED,Ei.NOFRAMES,Ei.NOSCRIPT,Ei.OBJECT,Ei.OL,Ei.P,Ei.PARAM,Ei.PLAINTEXT,Ei.PRE,Ei.SCRIPT,Ei.SECTION,Ei.SELECT,Ei.SOURCE,Ei.STYLE,Ei.SUMMARY,Ei.TABLE,Ei.TBODY,Ei.TD,Ei.TEMPLATE,Ei.TEXTAREA,Ei.TFOOT,Ei.TH,Ei.THEAD,Ei.TITLE,Ei.TR,Ei.TRACK,Ei.UL,Ei.WBR,Ei.XMP]),fi.MATHML,new Set([Ei.MI,Ei.MO,Ei.MN,Ei.MS,Ei.MTEXT,Ei.ANNOTATION_XML]),fi.SVG,new Set([Ei.TITLE,Ei.FOREIGN_OBJECT,Ei.DESC]),fi.XLINK,new Set,fi.XML,new Set,fi.XMLNS,new Set;const Si=new Set([mi.STYLE,mi.SCRIPT,mi.XMP,mi.IFRAME,mi.NOEMBED,mi.NOFRAMES,mi.PLAINTEXT]),xi=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var Ti;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",t[t.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",t[t.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",t[t.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",t[t.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",t[t.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}(Ti||(Ti={}));const Ci={DATA:Ti.DATA,RCDATA:Ti.RCDATA,RAWTEXT:Ti.RAWTEXT,SCRIPT_DATA:Ti.SCRIPT_DATA,PLAINTEXT:Ti.PLAINTEXT,CDATA_SECTION:Ti.CDATA_SECTION};function Ii(t){return t>=Jr.DIGIT_0&&t<=Jr.DIGIT_9}function Ri(t){return t>=Jr.LATIN_CAPITAL_A&&t<=Jr.LATIN_CAPITAL_Z}function ki(t){return function(t){return t>=Jr.LATIN_SMALL_A&&t<=Jr.LATIN_SMALL_Z}(t)||Ri(t)}function Ni(t){return ki(t)||Ii(t)}function Oi(t){return t>=Jr.LATIN_CAPITAL_A&&t<=Jr.LATIN_CAPITAL_F}function Bi(t){return t>=Jr.LATIN_SMALL_A&&t<=Jr.LATIN_SMALL_F}function Pi(t){return t+32}function Di(t){return t===Jr.SPACE||t===Jr.LINE_FEED||t===Jr.TABULATION||t===Jr.FORM_FEED}function Li(t){return Di(t)||t===Jr.SOLIDUS||t===Jr.GREATER_THAN_SIGN}class Ui{constructor(t,e){this.options=t,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Ti.DATA,this.returnState=Ti.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new si(e),this.currentLocation=this.getCurrentLocation(-1)}_err(t){var e,r;null===(r=(e=this.handler).onParseError)||void 0===r||r.call(e,this.preprocessor.getError(t))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==t||t())}write(t,e,r){this.active=!0,this.preprocessor.write(t,e),this._runParsingLoop(),this.paused||null==r||r()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(t){this.consumedAfterSnapshot-=t,this.preprocessor.retreat(t)}_reconsumeInState(t,e){this.state=t,this._callState(e)}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let e=0;e<t;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(t,e){return!!this.preprocessor.startsWith(t,e)&&(this._advanceBy(t.length-1),!0)}_createStartTagToken(){this.currentToken={type:ni.START_TAG,tagName:"",tagID:wi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:ni.END_TAG,tagName:"",tagID:wi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:ni.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:ni.DOCTYPE,name:t,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(t,e){this.currentCharacterToken={type:t,chars:e,location:this.currentLocation}}_createAttr(t){this.currentAttr={name:t,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var t,e;const r=this.currentToken;null===function(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}(r,this.currentAttr.name)?(r.attrs.push(this.currentAttr),r.location&&this.currentLocation&&((null!==(t=(e=r.location).attrs)&&void 0!==t?t:e.attrs=Object.create(null))[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue())):this._err(ii.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(t){this._emitCurrentCharacterToken(t.location),this.currentToken=null,t.location&&(t.location.endLine=this.preprocessor.line,t.location.endCol=this.preprocessor.col+1,t.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const t=this.currentToken;this.prepareToken(t),t.tagID=_i(t.tagName),t.type===ni.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(ii.endTagWithAttributes),t.selfClosing&&this._err(ii.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case ni.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case ni.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case ni.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:ni.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,e){if(this.currentCharacterToken){if(this.currentCharacterToken.type===t)return void(this.currentCharacterToken.chars+=e);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(t,e)}_emitCodePoint(t){const e=Di(t)?ni.WHITESPACE_CHARACTER:t===Jr.NULL?ni.NULL_CHARACTER:ni.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(ni.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let s=0,o=oi[0];s>=0&&(s=Ai(oi,o,s+1,t),!(s<0));t=this._consume()){r+=1,o=oi[s];const a=o&di.VALUE_LENGTH;if(a){const o=(a>>14)-1;if(t!==Jr.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((n=this.preprocessor.peek(1))===Jr.EQUALS_SIGN||Ni(n))?(e=[Jr.AMPERSAND],s+=o):(e=0===o?[oi[s]&~di.VALUE_LENGTH]:1===o?[oi[++s]]:[oi[++s],oi[++s]],r=0,i=t!==Jr.SEMICOLON),0===o){this._consume();break}}}var n;return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(ii.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Ti.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case Ti.DATA:this._stateData(t);break;case Ti.RCDATA:this._stateRcdata(t);break;case Ti.RAWTEXT:this._stateRawtext(t);break;case Ti.SCRIPT_DATA:this._stateScriptData(t);break;case Ti.PLAINTEXT:this._statePlaintext(t);break;case Ti.TAG_OPEN:this._stateTagOpen(t);break;case Ti.END_TAG_OPEN:this._stateEndTagOpen(t);break;case Ti.TAG_NAME:this._stateTagName(t);break;case Ti.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case Ti.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case Ti.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case Ti.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case Ti.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case Ti.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case Ti.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case Ti.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case Ti.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case Ti.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case Ti.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case Ti.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case Ti.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case Ti.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case Ti.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case Ti.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case Ti.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case Ti.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case Ti.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case Ti.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case Ti.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case Ti.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case Ti.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case Ti.BOGUS_COMMENT:this._stateBogusComment(t);break;case Ti.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case Ti.COMMENT_START:this._stateCommentStart(t);break;case Ti.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case Ti.COMMENT:this._stateComment(t);break;case Ti.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case Ti.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case Ti.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case Ti.COMMENT_END:this._stateCommentEnd(t);break;case Ti.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case Ti.DOCTYPE:this._stateDoctype(t);break;case Ti.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case Ti.DOCTYPE_NAME:this._stateDoctypeName(t);break;case Ti.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case Ti.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case Ti.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case Ti.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case Ti.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case Ti.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case Ti.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case Ti.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case Ti.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case Ti.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case Ti.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case Ti.CDATA_SECTION:this._stateCdataSection(t);break;case Ti.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case Ti.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case Ti.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case Ti.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case Ti.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case Ti.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case Ti.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case Ti.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case Ti.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case Ti.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case Jr.LESS_THAN_SIGN:this.state=Ti.TAG_OPEN;break;case Jr.AMPERSAND:this.returnState=Ti.DATA,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitCodePoint(t);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case Jr.AMPERSAND:this.returnState=Ti.RCDATA,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.LESS_THAN_SIGN:this.state=Ti.RCDATA_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case Jr.LESS_THAN_SIGN:this.state=Ti.RAWTEXT_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(ki(t))this._createStartTagToken(),this.state=Ti.TAG_NAME,this._stateTagName(t);else switch(t){case Jr.EXCLAMATION_MARK:this.state=Ti.MARKUP_DECLARATION_OPEN;break;case Jr.SOLIDUS:this.state=Ti.END_TAG_OPEN;break;case Jr.QUESTION_MARK:this._err(ii.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Ti.BOGUS_COMMENT,this._stateBogusComment(t);break;case Jr.EOF:this._err(ii.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(ii.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Ti.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(ki(t))this._createEndTagToken(),this.state=Ti.TAG_NAME,this._stateTagName(t);else switch(t){case Jr.GREATER_THAN_SIGN:this._err(ii.missingEndTagName),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(ii.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=Ti.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_ATTRIBUTE_NAME;break;case Jr.SOLIDUS:this.state=Ti.SELF_CLOSING_START_TAG;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.tagName+=Yr;break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(Ri(t)?Pi(t):t)}}_stateRcdataLessThanSign(t){t===Jr.SOLIDUS?this.state=Ti.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=Ti.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){ki(t)?(this.state=Ti.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=Ti.RCDATA,this._stateRcdata(t))}handleSpecialEndTag(t){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();switch(this._createEndTagToken(),this.currentToken.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=Ti.BEFORE_ATTRIBUTE_NAME,!1;case Jr.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=Ti.SELF_CLOSING_START_TAG,!1;case Jr.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=Ti.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===Jr.SOLIDUS?this.state=Ti.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=Ti.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){ki(t)?(this.state=Ti.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=Ti.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case Jr.SOLIDUS:this.state=Ti.SCRIPT_DATA_END_TAG_OPEN;break;case Jr.EXCLAMATION_MARK:this.state=Ti.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=Ti.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){ki(t)?(this.state=Ti.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===Jr.HYPHEN_MINUS?(this.state=Ti.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===Jr.HYPHEN_MINUS?(this.state=Ti.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case Jr.HYPHEN_MINUS:this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.SCRIPT_DATA,this._emitChars(">");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===Jr.SOLIDUS?this.state=Ti.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:ki(t)?(this._emitChars("<"),this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){ki(t)?(this.state=Ti.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith($r,!1)&&Li(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case Jr.HYPHEN_MINUS:this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Jr.GREATER_THAN_SIGN:this.state=Ti.SCRIPT_DATA,this._emitChars(">");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===Jr.SOLIDUS?(this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith($r,!1)&&Li(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=Ti.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.SOLIDUS:case Jr.GREATER_THAN_SIGN:case Jr.EOF:this.state=Ti.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Jr.EQUALS_SIGN:this._err(ii.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Ti.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=Ti.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:case Jr.SOLIDUS:case Jr.GREATER_THAN_SIGN:case Jr.EOF:this._leaveAttrName(),this.state=Ti.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Jr.EQUALS_SIGN:this._leaveAttrName(),this.state=Ti.BEFORE_ATTRIBUTE_VALUE;break;case Jr.QUOTATION_MARK:case Jr.APOSTROPHE:case Jr.LESS_THAN_SIGN:this._err(ii.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.name+=Yr;break;default:this.currentAttr.name+=String.fromCodePoint(Ri(t)?Pi(t):t)}}_stateAfterAttributeName(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.SOLIDUS:this.state=Ti.SELF_CLOSING_START_TAG;break;case Jr.EQUALS_SIGN:this.state=Ti.BEFORE_ATTRIBUTE_VALUE;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=Ti.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.QUOTATION_MARK:this.state=Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this.state=Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingAttributeValue),this.state=Ti.DATA,this.emitCurrentTagToken();break;default:this.state=Ti.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case Jr.QUOTATION_MARK:this.state=Ti.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Jr.AMPERSAND:this.returnState=Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.value+=Yr;break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case Jr.APOSTROPHE:this.state=Ti.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Jr.AMPERSAND:this.returnState=Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.value+=Yr;break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this._leaveAttrValue(),this.state=Ti.BEFORE_ATTRIBUTE_NAME;break;case Jr.AMPERSAND:this.returnState=Ti.ATTRIBUTE_VALUE_UNQUOTED,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.value+=Yr;break;case Jr.QUOTATION_MARK:case Jr.APOSTROPHE:case Jr.LESS_THAN_SIGN:case Jr.EQUALS_SIGN:case Jr.GRAVE_ACCENT:this._err(ii.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this._leaveAttrValue(),this.state=Ti.BEFORE_ATTRIBUTE_NAME;break;case Jr.SOLIDUS:this._leaveAttrValue(),this.state=Ti.SELF_CLOSING_START_TAG;break;case Jr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this._err(ii.missingWhitespaceBetweenAttributes),this.state=Ti.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case Jr.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this._err(ii.unexpectedSolidusInTag),this.state=Ti.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.data+=Yr;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch("--",!0)?(this._createCommentToken(3),this.state=Ti.COMMENT_START):this._consumeSequenceIfMatch(Zr,!1)?(this.currentLocation=this.getCurrentLocation(8),this.state=Ti.DOCTYPE):this._consumeSequenceIfMatch(Xr,!0)?this.inForeignNode?this.state=Ti.CDATA_SECTION:(this._err(ii.cdataInHtmlContent),this._createCommentToken(8),this.currentToken.data="[CDATA[",this.state=Ti.BOGUS_COMMENT):this._ensureHibernation()||(this._err(ii.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Ti.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_START_DASH;break;case Jr.GREATER_THAN_SIGN:{this._err(ii.abruptClosingOfEmptyComment),this.state=Ti.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_END;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptClosingOfEmptyComment),this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=Ti.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_END_DASH;break;case Jr.LESS_THAN_SIGN:e.data+="<",this.state=Ti.COMMENT_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.data+=Yr;break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case Jr.EXCLAMATION_MARK:e.data+="!",this.state=Ti.COMMENT_LESS_THAN_SIGN_BANG;break;case Jr.LESS_THAN_SIGN:e.data+="<";break;default:this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===Jr.HYPHEN_MINUS?this.state=Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Ti.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===Jr.HYPHEN_MINUS?this.state=Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Ti.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==Jr.GREATER_THAN_SIGN&&t!==Jr.EOF&&this._err(ii.nestedComment),this.state=Ti.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_END;break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EXCLAMATION_MARK:this.state=Ti.COMMENT_END_BANG;break;case Jr.HYPHEN_MINUS:e.data+="-";break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:e.data+="--!",this.state=Ti.COMMENT_END_DASH;break;case Jr.GREATER_THAN_SIGN:this._err(ii.incorrectlyClosedComment),this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=Ti.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_DOCTYPE_NAME;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case Jr.EOF:{this._err(ii.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(ii.missingWhitespaceBeforeDoctypeName),this.state=Ti.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(Ri(t))this._createDoctypeToken(String.fromCharCode(Pi(t))),this.state=Ti.DOCTYPE_NAME;else switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._createDoctypeToken(Yr),this.state=Ti.DOCTYPE_NAME;break;case Jr.GREATER_THAN_SIGN:{this._err(ii.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Ti.DATA;break}case Jr.EOF:{this._err(ii.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(t)),this.state=Ti.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.AFTER_DOCTYPE_NAME;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.name+=Yr;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(Ri(t)?Pi(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch("public",!1)?this.state=Ti.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch("system",!1)?this.state=Ti.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(ii.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Jr.QUOTATION_MARK:this._err(ii.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this._err(ii.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.QUOTATION_MARK:e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Jr.QUOTATION_MARK:this.state=Ti.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.publicId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateDoctypePublicIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Jr.APOSTROPHE:this.state=Ti.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.publicId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateAfterDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.QUOTATION_MARK:this._err(ii.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this._err(ii.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.QUOTATION_MARK:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Jr.QUOTATION_MARK:this._err(ii.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this._err(ii.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.QUOTATION_MARK:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Jr.QUOTATION_MARK:this.state=Ti.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.systemId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateDoctypeSystemIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Jr.APOSTROPHE:this.state=Ti.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.systemId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateAfterDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case Jr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter);break;case Jr.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case Jr.RIGHT_SQUARE_BRACKET:this.state=Ti.CDATA_SECTION_BRACKET;break;case Jr.EOF:this._err(ii.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===Jr.RIGHT_SQUARE_BRACKET?this.state=Ti.CDATA_SECTION_END:(this._emitChars("]"),this.state=Ti.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA;break;case Jr.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=Ti.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===Jr.NUMBER_SIGN?this.state=Ti.NUMERIC_CHARACTER_REFERENCE:Ni(t)?(this.state=Ti.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this._reconsumeInState(this.returnState,t))}_stateNamedCharacterReference(t){const e=this._matchNamedCharacterReference(t);if(this._ensureHibernation());else if(e){for(let t=0;t<e.length;t++)this._flushCodePointConsumedAsCharacterReference(e[t]);this.state=this.returnState}else this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this.state=Ti.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){Ni(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===Jr.SEMICOLON&&this._err(ii.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===Jr.LATIN_SMALL_X||t===Jr.LATIN_CAPITAL_X?this.state=Ti.HEXADEMICAL_CHARACTER_REFERENCE_START:Ii(t)?(this.state=Ti.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(ii.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Jr.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return Ii(t)||Oi(t)||Bi(t)}(t)?(this._err(ii.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Jr.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=Ti.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){Oi(t)?this.charRefCode=16*this.charRefCode+t-55:Bi(t)?this.charRefCode=16*this.charRefCode+t-87:Ii(t)?this.charRefCode=16*this.charRefCode+t-48:t===Jr.SEMICOLON?this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END:(this._err(ii.missingSemicolonAfterCharacterReference),this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){Ii(t)?this.charRefCode=10*this.charRefCode+t-48:t===Jr.SEMICOLON?this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END:(this._err(ii.missingSemicolonAfterCharacterReference),this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===Jr.NULL)this._err(ii.nullCharacterReference),this.charRefCode=Jr.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(ii.characterReferenceOutsideUnicodeRange),this.charRefCode=Jr.REPLACEMENT_CHARACTER;else if(ti(this.charRefCode))this._err(ii.surrogateCharacterReference),this.charRefCode=Jr.REPLACEMENT_CHARACTER;else if(ri(this.charRefCode))this._err(ii.noncharacterCharacterReference);else if(ei(this.charRefCode)||this.charRefCode===Jr.CARRIAGE_RETURN){this._err(ii.controlCharacterReference);const t=xi.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const Mi=new Set([wi.DD,wi.DT,wi.LI,wi.OPTGROUP,wi.OPTION,wi.P,wi.RB,wi.RP,wi.RT,wi.RTC]);var Fi;new Set([...Mi,wi.CAPTION,wi.COLGROUP,wi.TBODY,wi.TD,wi.TFOOT,wi.TH,wi.THEAD,wi.TR]),new Map([[wi.APPLET,fi.HTML],[wi.CAPTION,fi.HTML],[wi.HTML,fi.HTML],[wi.MARQUEE,fi.HTML],[wi.OBJECT,fi.HTML],[wi.TABLE,fi.HTML],[wi.TD,fi.HTML],[wi.TEMPLATE,fi.HTML],[wi.TH,fi.HTML],[wi.ANNOTATION_XML,fi.MATHML],[wi.MI,fi.MATHML],[wi.MN,fi.MATHML],[wi.MO,fi.MATHML],[wi.MS,fi.MATHML],[wi.MTEXT,fi.MATHML],[wi.DESC,fi.SVG],[wi.FOREIGN_OBJECT,fi.SVG],[wi.TITLE,fi.SVG]]),wi.H1,wi.H2,wi.H3,wi.H4,wi.H5,wi.H6,wi.TR,wi.TEMPLATE,wi.HTML,wi.TBODY,wi.TFOOT,wi.THEAD,wi.TEMPLATE,wi.HTML,wi.TABLE,wi.TEMPLATE,wi.HTML,wi.TD,wi.TH,function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(Fi=Fi||(Fi={})),Fi.Marker;new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]);const Hi=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((t=>[t.toLowerCase(),t]))),Wi=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:fi.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:fi.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:fi.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:fi.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:fi.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:fi.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:fi.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:fi.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:fi.XML}],["xml:space",{prefix:"xml",name:"space",namespace:fi.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:fi.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:fi.XMLNS}]]),ji=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((t=>[t.toLowerCase(),t]))),Vi=new Set([wi.B,wi.BIG,wi.BLOCKQUOTE,wi.BODY,wi.BR,wi.CENTER,wi.CODE,wi.DD,wi.DIV,wi.DL,wi.DT,wi.EM,wi.EMBED,wi.H1,wi.H2,wi.H3,wi.H4,wi.H5,wi.H6,wi.HEAD,wi.HR,wi.I,wi.IMG,wi.LI,wi.LISTING,wi.MENU,wi.META,wi.NOBR,wi.OL,wi.P,wi.PRE,wi.RUBY,wi.S,wi.SMALL,wi.SPAN,wi.STRONG,wi.STRIKE,wi.SUB,wi.SUP,wi.TABLE,wi.TT,wi.U,wi.UL,wi.VAR]);function Gi(t){const e=ji.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=_i(t.tagName))}function zi(t,e,r,i){return(!i||i===fi.HTML)&&function(t,e,r){if(e===fi.MATHML&&t===wi.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===gi.ENCODING){const e=r[t].value.toLowerCase();return"text/html"===e||"application/xhtml+xml"===e}return e===fi.SVG&&(t===wi.FOREIGN_OBJECT||t===wi.DESC||t===wi.TITLE)}(t,e,r)||(!i||i===fi.MATHML)&&function(t,e){return e===fi.MATHML&&(t===wi.MI||t===wi.MO||t===wi.MN||t===wi.MS||t===wi.MTEXT)}(t,e)}var qi;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(qi||(qi={})),new Set([wi.TABLE,wi.TBODY,wi.TFOOT,wi.THEAD,wi.TR]),new Set([wi.CAPTION,wi.COL,wi.COLGROUP,wi.TBODY,wi.TD,wi.TFOOT,wi.TH,wi.THEAD,wi.TR]);const Qi=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]);function Ki(t,e){return function(r){let i,n=0,s="";for(;i=t.exec(r);)n!==i.index&&(s+=r.substring(n,i.index)),s+=e.get(i[0].charCodeAt(0)),n=i.index+1;return s+r.substring(n)}}String.prototype.codePointAt,Ki(/[&<>'"]/g,Qi);const Yi=Ki(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),Ji=Ki(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));new Set([mi.AREA,mi.BASE,mi.BASEFONT,mi.BGSOUND,mi.BR,mi.COL,mi.EMBED,mi.FRAME,mi.HR,mi.IMG,mi.INPUT,mi.KEYGEN,mi.LINK,mi.META,mi.PARAM,mi.SOURCE,mi.TRACK,mi.WBR]);var Xi=r(2830);class Zi extends Xi.Writable{_write(t,e,r){r()}}const $i=wi;class tn{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new Ui(t,this),this._enterNamespace(fi.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:ni.CHARACTER,chars:"�",location:t.location}):this.handler.onNullCharacter(t)}onWhitespaceCharacter(t){if(this.skipNextNewLine&&10===t.chars.charCodeAt(0)){if(this.skipNextNewLine=!1,1===t.chars.length)return;t.chars=t.chars.substr(1)}this.handler.onWhitespaceCharacter(t)}onCharacter(t){this.skipNextNewLine=!1,this.handler.onCharacter(t)}onComment(t){this.skipNextNewLine=!1,this.handler.onComment(t)}onDoctype(t){this.skipNextNewLine=!1,this.handler.onDoctype(t)}onEof(t){this.skipNextNewLine=!1,this.handler.onEof(t)}_enterNamespace(t){this.namespaceStack.unshift(t),this.inForeignContent=t!==fi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==fi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case $i.TEXTAREA:case $i.TITLE:this.tokenizer.state=Ci.RCDATA;break;case $i.PLAINTEXT:this.tokenizer.state=Ci.PLAINTEXT;break;case $i.SCRIPT:this.tokenizer.state=Ci.SCRIPT_DATA;break;case $i.STYLE:case $i.IFRAME:case $i.XMP:case $i.NOEMBED:case $i.NOFRAMES:case $i.NOSCRIPT:this.tokenizer.state=Ci.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case $i.SVG:this._enterNamespace(fi.SVG);break;case $i.MATH:this._enterNamespace(fi.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===wi.FONT&&t.attrs.some((({name:t})=>t===gi.COLOR||t===gi.SIZE||t===gi.FACE))||Vi.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===fi.MATHML?function(t){for(let e=0;e<t.attrs.length;e++)if("definitionurl"===t.attrs[e].name){t.attrs[e].name="definitionURL";break}}(t):r===fi.SVG&&(Gi(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=Hi.get(t.attrs[e].name);null!=r&&(t.attrs[e].name=r)}}(t)),function(t){for(let e=0;e<t.attrs.length;e++){const r=Wi.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}(t),e=t.tagID,!t.selfClosing&&zi(e,r,t.attrs)&&this._enterNamespace(fi.HTML)}else{switch(e){case $i.PRE:case $i.TEXTAREA:case $i.LISTING:this.skipNextNewLine=!0;break;case $i.IMAGE:t.tagName=mi.IMG,t.tagID=$i.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===$i.SVG&&this.namespaceStack[0]===fi.SVG||e===$i.MATH&&this.namespaceStack[0]===fi.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===fi.SVG){const r=ji.get(t.tagName);r&&(e=_i(r))}zi(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===fi.SVG&&Gi(t),this.handler.onEndTag(t)}}class en extends Xi.Transform{constructor(t={}){super({encoding:"utf8",decodeStrings:!1}),this.pendingText=null,this.lastChunkWritten=!1,this.stopped=!1,this.options={sourceCodeLocationInfo:!1,...t},this.parserFeedbackSimulator=new tn(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Zi)}_transform(t,e,r){if("string"!=typeof t)throw new TypeError("Parser can work only with string streams.");r(null,this._transformChunk(t))}_final(t){this.lastChunkWritten=!0,t(null,this._transformChunk(""))}stop(){this.stopped=!0,this.tokenizer.pause()}_transformChunk(t){return this.stopped||this.tokenizer.write(t,this.lastChunkWritten),t}onCharacter({chars:t,location:e}){if(null===this.pendingText)this.pendingText={text:t,sourceCodeLocation:e};else if(this.pendingText.text+=t,e&&this.pendingText.sourceCodeLocation){const{endLine:t,endCol:r,endOffset:i}=e;this.pendingText.sourceCodeLocation={...this.pendingText.sourceCodeLocation,endLine:t,endCol:r,endOffset:i}}this.tokenizer.preprocessor.willDropParsedChunk()&&this._emitPendingText()}onWhitespaceCharacter(t){this.onCharacter(t)}onNullCharacter(t){this.onCharacter(t)}onEof(){this._emitPendingText(),this.stopped=!0}onStartTag(t){this._emitPendingText();const e={tagName:t.tagName,attrs:t.attrs,selfClosing:t.selfClosing,sourceCodeLocation:t.location};this.emitIfListenerExists("startTag",e)}onEndTag(t){this._emitPendingText();const e={tagName:t.tagName,sourceCodeLocation:t.location};this.emitIfListenerExists("endTag",e)}onDoctype(t){this._emitPendingText();const e={name:t.name,publicId:t.publicId,systemId:t.systemId,sourceCodeLocation:t.location};this.emitIfListenerExists("doctype",e)}onComment(t){this._emitPendingText();const e={text:t.data,sourceCodeLocation:t.location};this.emitIfListenerExists("comment",e)}emitIfListenerExists(t,e){return 0!==this.listenerCount(t)&&(this._emitToken(t,e),!0)}_emitToken(t,e){this.emit(t,e)}_emitPendingText(){null!==this.pendingText&&(this.emitIfListenerExists("text",this.pendingText),this.pendingText=null)}}class rn extends en{constructor(){super({sourceCodeLocationInfo:!0})}_transformChunk(t){return super._transformChunk(t),""}_getRawHtml(t){const{droppedBufferSize:e,html:r}=this.tokenizer.preprocessor,i=t.startOffset-e,n=t.endOffset-e;return r.slice(i,n)}emitIfListenerExists(t,e){return super.emitIfListenerExists(t,e)||this.emitRaw(this._getRawHtml(e.sourceCodeLocation)),this.parserFeedbackSimulator.skipNextNewLine=!1,!0}_emitToken(t,e){this.emit(t,e,this._getRawHtml(e.sourceCodeLocation))}emitDoctype(t){let e=`<!DOCTYPE ${t.name}`;null!==t.publicId?e+=` PUBLIC "${t.publicId}"`:null!==t.systemId&&(e+=" SYSTEM"),null!==t.systemId&&(e+=` "${t.systemId}"`),e+=">",this.push(e)}emitStartTag(t){let e=`<${t.tagName}`;for(const r of t.attrs)e+=` ${r.name}="${Yi(r.value)}"`;e+=t.selfClosing?"/>":">",this.push(e)}emitEndTag(t){this.push(`</${t.tagName}>`)}emitText({text:t}){var e;this.push(!this.parserFeedbackSimulator.inForeignContent&&(e=this.tokenizer.lastStartTagName,!0,Si.has(e)||e===mi.NOSCRIPT)?t:Ji(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const nn=new TextEncoder,sn=new TextDecoder,on=/([\d.]+\s*;\s*(?:url\s*=)?\s*)['"]?(.+)['"]?(\s*)/im,an=["http://","https://","//"],cn="mp_",ln={a:{href:"ln_"},applet:{codebase:"oe_",archive:"oe_"},area:{href:cn},audio:{src:"oe_"},base:{href:cn},blockquote:{cite:cn},body:{background:"im_"},button:{formaction:cn},command:{icon:"im_"},del:{cite:cn},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:cn},input:{src:"im_",formaction:cn},form:{action:cn},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:"mt_"},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:cn},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},hn=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],un=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class pn{rewriter;rule=null;ruleMatch=null;isCharsetUTF8;constructor(t,e=!1){this.rewriter=t,this.rule=null;for(const t of un){const e=this.rewriter.url.match(t.urlMatch);if(e){this.ruleMatch=e,this.rule=t;break}}this.isCharsetUTF8=e}rewriteMetaContent(t,e,r){let i=this.getAttr(t,"http-equiv");if(i&&(i=i.toLowerCase()),"content-security-policy"===i)e.name="_"+e.name;else{if("refresh"===i)return e.value.replace(on,((t,e,i,n)=>e+this.rewriteUrl(r,i,!1,"mt_")+n));if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(h(e.value,an))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/,i=[];for(const n of t.split(r))if(n){const t=n.trim().split(" ");t[0]=this.rewriteUrl(e,t[0]),i.push(t.join(" "))}return i.join(", ")}rewriteTagAndAttrs(t,e,r){const i=t=>h(t,an),n=t.tagName;if(!(n.indexOf("-")>0))for(const s of t.attrs){const o=s.name||"",a=s.value||"";if(a.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(a.slice(11),{inline:!0});else if(o.startsWith("on")&&"-"!=o.slice(2,3))s.value=r.rewriteJS(a,{inline:!0});else if("style"===o)s.value=r.rewriteCSS(s.value);else if("background"===o)s.value=this.rewriteUrl(r,a);else if("srcset"===o||"imagesrcset"===o&&"link"===n)s.value=this.rewriteSrcSet(a,r);else if("crossorigin"===o||"integrity"===o||"download"===o)s.name="_"+s.name;else if("meta"===n&&"content"===o)s.value=this.rewriteMetaContent(t.attrs,s,r);else if("meta"===n&&"charset"===o)a&&["utf8","utf-8"].includes(a.toLowerCase())&&(this.isCharsetUTF8=!0);else if("param"===n&&i(a))s.value=this.rewriteUrl(r,s.value);else if(o.startsWith("data-")&&i(a))s.value=this.rewriteUrl(r,s.value);else if("base"===n&&"href"===o)try{s.value=this.rewriter.updateBaseUrl(s.value)}catch(t){console.warn("Invalid <base>: "+s.value)}else if("script"===n&&"src"===o){const e="module"===this.getScriptRWType(t)?"esm_":"",i=this.rewriteUrl(r,s.value,!1,e);i===s.value?(t.attrs.push({name:"__wb_orig_src",value:s.value}),s.value&&s.value.startsWith("data:text/javascript;base64")?s.value=this.rewriteJSBase64(s.value,r):s.value=this.rewriteUrl(r,s.value,!0,e)):s.value=i}else if("object"===n&&"data"===o){const e=this.getAttr(t.attrs,"type");if("application/pdf"===e)s.name="src",s.value=this.rewriteUrl(r,s.value,!1,"if_"),t.tagName="iframe";else if("image/svg+xml"===e)s.name="src",s.value=this.rewriteUrl(r,s.value),t.tagName="img";else if("application/x-shockwave-flash"===e)for(const e of hn){const i=s.value.replace(e.match,e.replace);if(i!==s.value){s.name="src",s.value=this.rewriteUrl(r,i,!1,"if_"),t.tagName="iframe";break}}}else if("embed"===n){const e=this.getAttr(t.attrs,"type");t.tagName=e?.startsWith("image/")?"img":"iframe"}else if("target"===o){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value="___wb_replay_top_frame")}else(e[o]||"href"===o||"src"===o)&&(s.value=this.rewriteUrl(r,s.value,!1,e[o]))}}getAttr(t,e){for(const r of t)if(r.name===e)return r.value;return null}getScriptRWType(t){const e=this.getAttr(t.attrs,"type");return"module"===e?"module":"application/json"===e?"json":!e||e.indexOf("javascript")>=0||e.indexOf("ecmascript")>=0?"js":e.startsWith("text/")?"text":"importmap"===e?"importmap":""}async rewrite(t){if(!t.buffer&&!t.reader)return t;if(t.expectedLength()>5e7)return console.warn("Skipping rewriting, HTML file too big: "+t.expectedLength()),t;const e=this.rewriter,r=new rn;r.tokenizer.preprocessor.bufferWaterline=1/0;let i=!1,n=!1,s=!0,a="",c="",l="";const h=()=>{if(!i&&e.headInsertFunc){const t=e.headInsertFunc(e.url);t&&r.emitRaw(t),i=!0}};r.on("startTag",(t=>{const o=ln[t.tagName],u=t.tagName;switch(this.rewriteTagAndAttrs(t,o||{},e),i||["head","html"].includes(t.tagName)||h(),r.emitStartTag(t),t.tagName){case"script":if(t.selfClosing)break;a=t.tagName,s=!0,c=this.getScriptRWType(t);break;case"style":t.selfClosing||(a=t.tagName);break;case"head":h();break;case"body":n=!0}t.tagName!==u&&(a=u,l=t.tagName)})),r.on("endTag",(t=>{if(t.tagName===a){switch(l&&(t.tagName=l,l=""),a){case"head":n=!0;break;case"script":n&&!s&&"js"===c&&r.emitRaw(";document.close();")}a=""}r.emitEndTag(t)})),r.on("text",((t,i)=>{const n=(()=>{if("script"===a){const r=e.prefix,i="module"===c;return s=s&&0===t.text.trim().length,"js"===c||i?e.rewriteJS(t.text,{isModule:i,prefix:r}):"json"===c?e.rewriteJSON(t.text,{prefix:r}):"importmap"===c?e.rewriteImportmap(t.text):t.text}return"style"===a?e.rewriteCSS(t.text):this.rewriteHTMLText(i)})();for(let t=0;t<n.length;t+=o)r.emitRaw(n.slice(t,t+o))}));const u=t.createIter();let p=!1;const d=this;return t.setReader(new ReadableStream({async start(t){r.on("data",(e=>{t.enqueue(d.isCharsetUTF8?nn.encode(e):m(e))})),r.on("end",(()=>{t.close()}));for await(const t of u)d.isCharsetUTF8?r.write(sn.decode(t),"utf8"):r.write(y(t),"latin1"),p=!0;p&&h(),r.end()}})),t}rewriteUrl(t,e,r=!1,i=""){this.isCharsetUTF8||(e=sn.decode(m(e)));const n=t.rewriteUrl(e,r);return i&&i!==cn&&"ln_"!==i&&"mt_"!==i?n.replace("mp_/",i+"/"):n}rewriteHTMLText(t){if(this.rule&&this.ruleMatch){const e=this.rule.replace.replace("$U1",this.ruleMatch[1]),r=t.replace(this.rule.match,e);if(t!==r)return r}return t}rewriteJSBase64(t,e){const r=t.split(","),i=e.rewriteJS(atob(r[1]),{isModule:!1});return r[1]=btoa(i),r.join(",")}}class dn extends pn{rewriteUrl(t,e,r=!1,i=""){return"if_"===i||"fr_"===i||"mt_"===i?t.fullRewriteUrl(e,r):"ln_"===i?(this.isCharsetUTF8||(e=sn.decode(m(e))),t.rewriteUrl(e,r)):t.httpToHttps?t.rewriteUrl(e,r):e}rewriteTagAndAttrs(t,e,r){if(r.httpToHttps)return super.rewriteTagAndAttrs(t,e,r);const i=t.tagName;if(!(i.indexOf("-")>0))for(const n of t.attrs){const s=n.name||"",o=n.value||"";"meta"===i&&"content"===s?n.value=this.rewriteMetaContent(t.attrs,n,r):(e[s]||"href"===s||"src"===s)&&(n.value=this.rewriteUrl(r,o,!1,e[s]))}}}var fn=r(8764);const gn=new TextEncoder,yn=new TextDecoder;class mn{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new bt(e.body.getReader(),null,!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText,l=new Headers(e.headers);let h=l.get("x-orig-location");if(h){if(h.startsWith(self.location.origin)&&(h=h.slice(self.location.origin.length)),s&&h.startsWith(s)){const t=h.indexOf("/http");t>0&&(h=h.slice(t+1))}l.set("location",h),l.delete("x-orig-location"),l.delete("x-redirect-status"),l.delete("x-redirect-statusText")}let u=null;const d=l.get("x-orig-ts");d&&(r=p(d),l.delete("x-orig-ts"),d&&h&&(u=d));const f=l.get("memento-datetime");f&&(r=new Date(f));const g=l.get("x-proxy-set-cookie");if(g){const t=[];g.split(",").forEach((e=>{const r=e.split(";",1)[0].trim();r.indexOf("=")>0&&t.push(r)})),l.delete("x-proxy-set-cookie"),t.length&&l.set("x-wabac-preset-cookie",t.join(";"))}return new mn({payload:o,status:a,statusText:c,headers:l,url:t,date:r,noRW:i,isLive:n,updateTS:u})}reader;buffer;status;statusText;url;date;extraOpts;headers;noRW;isLive;updateTS;clonedResponse=null;constructor({payload:t,status:e,statusText:r,headers:i,url:n,date:s,extraOpts:o=null,noRW:a=!1,isLive:c=!1,updateTS:l=null}){this.reader=null,this.buffer=null,t&&t instanceof wt?this.reader=t:this.buffer=t,this.status=e,this.statusText=r||_(e),this.headers=i,this.url=n,this.date=s,this.extraOpts=o,this.noRW=a,this.isLive=c,this.updateTS=l}async getText(t=!1){const e=await this.getBuffer();return"string"==typeof e?{bomFound:!1,text:e}:e?239===e[0]&&187===e[1]&&191===e[2]?{bomFound:!0,text:yn.decode(e.slice(3))}:254===e[0]&&255===e[1]?{bomFound:!0,text:fn.Buffer.from(e.slice(2)).swap16().toString("utf16le")}:255===e[0]&&254===e[1]?{bomFound:!0,text:fn.Buffer.from(e.slice(2)).toString("utf16le")}:{bomFound:!1,text:t?yn.decode(e):y(e)}:{bomFound:!1,text:""}}setText(t,e=!1){this.setBuffer(e?gn.encode(t):m(t))}async getBuffer(){return this.buffer||!this.reader||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof wt?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new bt(t.getReader()),this.buffer=null)}expectedLength(){return this.buffer?this.buffer.length:0}createIter(){const t=this.buffer,e=this.reader;return async function*(){if(t){let e=0;for(yield t.slice(0,e+512),e+=512;e<t.length;e+=o)yield t.slice(e,e+o)}else e&&(yield*e)}()}async*[Symbol.asyncIterator](){yield*this.createIter()}setRange(t){if(206===this.status){const t=this.headers.get("Content-Range");if(t&&!t.startsWith("bytes 0-"))return!1}const e=t.match(/^bytes=(\d+)-(\d+)?$/);let r=0;if(this.buffer)r=this.buffer.length;else if(this.reader&&(r=Number(this.headers.get("content-length")),!r))return!1;if(!e)return this.status=416,this.statusText="Range Not Satisfiable",this.headers.set("Content-Range",`*/${r}`),!1;const i=Number(e[1]),n=Number(e[2])||r-1;return!!this.setRawRange(i,n)&&(this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",String(n-i+1)),this.status=206,this.statusText="Partial Content",!0)}setRawRange(t,e){const r=this.reader;return this.buffer?(this.buffer=this.buffer.slice(t,e+1),!0):!!r?.setLimitSkip&&(r.setLimitSkip(e-t+1,t),!0)}makeResponse(t=!1,e=!1){let r=null;v(this.status)||(r=this.buffer||!this.reader?this.buffer:this.reader.getReadableStream());const i=new Response(r,{status:this.status,statusText:this.statusText,headers:this.headers});return i.date=this.date,t&&(i.headers.set("Cross-Origin-Opener-Policy","same-origin"),i.headers.set("Cross-Origin-Embedder-Policy","require-corp")),e&&i.headers.set("content-disposition","inline"),i}}const wn=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\))/gi,bn=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,An=/WB_wombat_/g,vn=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,_n=/[?].*(?:callback|jsonp)=([^&]+)/i,En=new Zt(class extends $t{extraRules;firstBuff;lastBuff;constructor(t){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(Gr),this.lastBuff="\n\n}"}initLocalDecl(t){const e="_____WB$wombat$assign$function_____";let r=`var ${e} = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n{\n`;for(const i of t)r+=`let ${i} = ${e}("${i}");\n`;return r+="let arguments;\n",r+"\n"}getModuleDecl(t,e){return`import { ${t.join(", ")} } from "${e}__wb_module_decl.js";\n`}detectIsModule(t){return!!(t.indexOf("import")>=0&&t.match(Hr))||!!(t.indexOf("export")>=0&&t.match(Wr))}parseGlobals(t){const e=Fe.parse(t,{ecmaVersion:"latest"});let r=!1;const i=[],n=new Set;for(const t of e.body){const{type:e}=t;if("VariableDeclaration"===e){const{kind:e,declarations:r}=t;for(const t of r)if(t&&"VariableDeclarator"===t.type&&t.id&&"Identifier"===t.id.type){const r=t.id.name;Gr.includes(r)?n.add(r):"const"!==e&&"let"!==e||i.push(`self.${r} = ${r};`)}}else if(!r&&"ExpressionStatement"===e){const{expression:e}=t;if(e&&"CallExpression"===e.type){const{callee:t}=e;if(t&&"MemberExpression"===t.type){const{object:e,property:i}=t;"Identifier"===e.type&&"document"===e.name&&"Identifier"===i.type&&"write"===i.name&&(r=!0)}}}}if(n.size){const t=Gr.filter((t=>!n.has(t)));this.firstBuff=this.initLocalDecl(t)}return r&&(this.lastBuff=";document.close();"+this.lastBuff),i.length?"\n"+i.join("\n"):""}rewrite(t,e){void 0!==(e=e||{}).isModule&&null!==e.isModule||(e.isModule=this.detectIsModule(t));let r=Qr;e.isModule&&(r=[...r,this.getESMImportRule()]),this.extraRules&&this.extraRules.length?this.rules=[...r,...this.extraRules]:this.rules=r,this.compileRules();let i=super.rewrite(t,e);if(e.isModule)return this.getModuleDecl(Gr,e.prefix)+i;const n=qr.exec(t);if(e.inline&&(i=i.replace(/\n/g," ")),n){let r="";if(i)try{r=this.parseGlobals(i)}catch(t){console.warn(`acorn parsing failed, script len ${i.length}`)}i=this.firstBuff+i+r+this.lastBuff,e.inline&&(i=i.replace(/\n/g," "))}return i}getESMImportRule(){return[jr,(t,e)=>{const r=e.prefix.replace("mp_/","esm_/");return t.replace(Vr,((t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s}))}]}}),Sn=new Zt($t);new Zt($t,qt);class xn{urlRewrite;contentRewrite;baseUrl;dsRules;decode;prefix="";originPrefix="";relPrefix="";schemeRelPrefix="";scheme;url;responseUrl;isCharsetUTF8;headInsertFunc;workerInsertFunc;_jsonpCallback;constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i=null,headInsertFunc:n=null,urlRewrite:s=!0,contentRewrite:o=!0,decode:a=!0,useBaseRules:c=!1}){if(this.urlRewrite=s,this.contentRewrite=o,this.dsRules=s&&!c?En:Sn,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);this.originPrefix=t.origin,this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}const l=new URL(r||t);this.scheme=l.protocol,t.startsWith("//")&&(t=this.scheme+t),this.url=this.baseUrl=t,this.headInsertFunc=n,this.workerInsertFunc=i,this.responseUrl=r||t,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=""){if(!i&&e){const t=(i=e.headers.get("Content-Type")||"").split(";");i=t[0],t.length>1&&(this.isCharsetUTF8="utf8"===t[1].trim().toLowerCase().replace("charset=","").replace("-",""))}if(i=i.toLowerCase(),"esm_"===t.mod&&(this.isCharsetUTF8=!0),t)switch(t.destination){case"style":return"css";case"script":return this.getScriptRewriteMode(i,r,"js");case"worker":return"js-worker"}switch(i){case"text/html":return t.destination||"application/json"!==t.headers.get("Accept")?"html":"json";case"text/css":return"css";case"application/x-mpegurl":case"application/vnd.apple.mpegurl":return"hls";case"application/dash+xml":return"dash";case"":if(this.isGuessHtml(t,e))return"html";default:return this.getScriptRewriteMode(i,r)}}isGuessHtml(t,e){if(t.destination&&"document"!==t.destination&&"iframe"!==t.destination)return!1;if(e.buffer)try{const t=(new TextDecoder).decode(e.buffer.slice(0,1024));if(/<\s*html/i.exec(t))return!0}catch(t){return!1}return!1}getScriptRewriteMode(t,e,r=""){switch(t){case"text/javascript":case"application/javascript":case"application/x-javascript":return this.parseJSONPCallback(e)?"jsonp":e.endsWith(".json")?"json":"js";case"application/json":return"json";default:return r}}async rewrite(t,e){const r=this.contentRewrite?this.getRewriteMode(e,t,this.baseUrl):null,i=E(e),n=this.urlRewrite&&!i,s=this.rewriteHeaders(t.headers,this.urlRewrite,!!r,i),o=t.headers.get("content-encoding"),a=t.headers.get("transfer-encoding");t.headers=s,this.decode&&(o||a)&&(t=await async function(t,e,r,i){if(t.reader&&i&&("gzip"===e&&!r||!e&&"gzip"===r))return t.setReader(new bt(t.reader)),t;const n=await t.getBuffer()||[],s=new Uint8Array(n),o=await Mt(s,e,r);return s!==o&&t.setBuffer(o),t}(t,o,a,null===r));const c={response:t,prefix:this.prefix,baseUrl:this.baseUrl};let l=null;switch(r){case"html":if(n)return await this.rewriteHtml(t);break;case"css":this.urlRewrite&&(l=this.rewriteCSS);break;case"js":l=this.rewriteJS,"esm_"===e.mod&&(c.isModule=!0);break;case"json":l=this.rewriteJSON;break;case"js-worker":"wkrm_"===e.mod&&(c.isModule=!0),l=this.workerInsertFunc;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=Wt;break;case"dash":l=Vt}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let{bomFound:e,text:r}=await t.getText(this.isCharsetUTF8);if(r=l.call(this,r,c),e&&!this.isCharsetUTF8){let t=s.get("Content-Type")||"";const e=t.split(";");t=e[0],t&&s.set("Content-Type",t+"; charset=utf-8"),this.isCharsetUTF8=!0}t.setText(r,this.isCharsetUTF8)}else{const r=function(t){if(!t)return null;for(const e of Qt){const{contains:r,start:i,end:n}=e;if(t.match(r))return{start:i,end:n}}return null}(e.url);if(r){const i=new URL(e.url),n=parseInt(i.searchParams.get(r.start)||""),s=parseInt(i.searchParams.get(r.end)||"");if(!isNaN(n)&&!isNaN(s)){const e=Number(t.headers.get("Content-Length")),r=s-n+1;e!==r&&(isNaN(e)||e>r)&&t.setRawRange(n,s)&&t.headers.set("Content-Length",String(r))}}}return t}updateBaseUrl(t){if(this.originPrefix&&t.startsWith(this.originPrefix)){const e=t.indexOf("/http");e>=0&&(t=t.slice(e+1))}if(this.baseUrl=new URL(t,this.baseUrl).href,t&&this.baseUrl!=t)try{t=new URL(t).href}catch(e){t.startsWith("//")&&(t=(t=new URL("https:"+t).href).slice(6))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;const r=t;return(t=t.trim()).startsWith("\\")&&(t=t.replace(/\\(?![//])/g,"/")),!t||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\3a/")?this.prefix+t:t.startsWith("//")||t.startsWith("\\/\\/")?this.schemeRelPrefix+t:t.startsWith("/")?(t=new URL(t,this.baseUrl).href,this.relPrefix+t):e||t.indexOf("../")>=0?(t=new URL(t,this.baseUrl).href,this.prefix+t):r}async rewriteHtml(t){return new pn(this,this.isCharsetUTF8).rewrite(t)}rewriteCSS(t){const e=this;function r(t,r,i,n){return i=i.trim(),r+e.rewriteUrl(i)+n}return t.replace(wn,r).replace(bn,r).replace(An,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?Sn:this.dsRules,n=i.getRewriter(this.baseUrl);return n===i.defaultRewriter&&r?t:n.rewrite(t,e)}rewriteJSON(t,e){t=this.rewriteJSONP(t);const r=Sn.getRewriter(this.baseUrl);return r!==Sn.defaultRewriter?r.rewrite(t,e):t}rewriteImportmap(t){const e=t=>this.rewriteUrl(t).replace("mp_/","esm_/");try{const r=JSON.parse(t),i={},n={imports:i};for(const[t,n]of Object.entries(r.imports||{}))i[e(t)]=e(n);if(r.scopes){const t={};for(const[i,n]of Object.entries(r.scopes)){const r={};for(const[t,i]of Object.entries(n))r[e(t)]=e(i);t[e(i)]=r}n.scopes=t}return JSON.stringify(n,null,2)}catch(e){return console.warn("Error parsing importmap",e),t}}parseJSONPCallback(t){const e=t.match(_n);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(vn);return e?(null===this._jsonpCallback&&this.parseJSONPCallback(this.baseUrl),!1===this._jsonpCallback?t:this._jsonpCallback+t.slice(t.indexOf(e[1])+e[1].length)):t}rewriteHeaders(t,e,r,i){const n={"access-control-allow-origin":"prefix-if-url-rewrite","access-control-allow-credentials":"prefix-if-url-rewrite","access-control-expose-headers":"prefix-if-url-rewrite","access-control-max-age":"prefix-if-url-rewrite","access-control-allow-methods":"prefix-if-url-rewrite","access-control-allow-headers":"prefix-if-url-rewrite","accept-patch":"keep","accept-ranges":"keep",age:"prefix",allow:"keep","alt-svc":"prefix","cache-control":"prefix",connection:"prefix","content-base":"url-rewrite","content-disposition":"keep","content-encoding":"prefix-if-content-rewrite","content-language":"keep","content-length":"content-length","content-location":"url-rewrite","content-md5":"prefix","content-range":"keep","content-security-policy":"prefix","content-security-policy-report-only":"prefix","content-type":"keep",date:"keep",etag:"prefix",expires:"prefix","last-modified":"prefix",link:"link",location:"url-rewrite",p3p:"prefix",pragma:"prefix","proxy-authenticate":"keep","public-key-pins":"prefix","referrer-policy":"prefix","retry-after":"prefix",server:"prefix","set-cookie":"cookie",status:"prefix","strict-transport-security":"prefix",trailer:"prefix","transfer-encoding":"transfer-encoding",tk:"prefix",upgrade:"prefix","upgrade-insecure-requests":"prefix",vary:"prefix",via:"prefix",warning:"prefix","www-authenticate":"keep","x-frame-options":"prefix","x-xss-protection":"prefix","origin-agent-cluster":"prefix"},s="X-Archive-Orig-",o=new Headers;for(let[a,c]of t.entries())switch(n[a]){case"keep":case"cookie":default:o.append(a,c);break;case"url-rewrite":if(e){if("location"===a&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:";c===t+this.responseUrl.slice(this.scheme.length)&&(c=t+this.url.slice(this.url.indexOf("//")))}o.append(a,this.rewriteUrl(c))}else o.append(a,c);break;case"prefix-if-content-rewrite":r?o.append(s+a,c):o.append(a,c);break;case"prefix-if-url-rewrite":e?o.append(s+a,c):o.append(a,c);break;case"content-length":if("0"==c){o.append(a,c);continue}if(r)try{if(parseInt(c)>=0){o.append(a,c);continue}}catch(t){}o.append(a,c);break;case"transfer-encoding":case"prefix":o.append(s+a,c);break;case"link":e&&!i?o.append(a,this.rewriteLinkHeader(c)):o.append(a,c)}return o}rewriteLinkHeader(t){try{const e=i().parse(t);for(const t of e.refs)t.uri&&(t.uri=this.rewriteUrl(t.uri));return e.toString()}catch(e){return console.warn("Error parsing link header: "+t),t}}}class Tn extends xn{proxyOrigin;proxyHost;localOrigin;proxyTLD;localTLD;localScheme;httpToHttps;constructor(t,e){super(t),this.proxyOrigin=e.proxyOrigin,this.localOrigin=e.localOrigin,this.proxyTLD=e.proxyTLD||"",this.localTLD=e.localTLD||"";const r=new URL(this.proxyOrigin);this.proxyHost=r.host;const i=new URL(this.localOrigin);this.localScheme=i.protocol,this.httpToHttps=e.httpToHttpsNeeded}rewriteUrl(t){if(t.startsWith(this.proxyOrigin))return this.localOrigin+t.slice(this.proxyOrigin.length);if(this.proxyTLD&&this.localTLD&&t.indexOf(this.proxyTLD)>0){const e=new URL(t);if(e.host.endsWith(this.proxyTLD)){const t=e.host.slice(0,-this.proxyTLD.length).replace(".","-")+this.localTLD;return this.localScheme+"//"+t+e.href.slice(e.origin.length)}}return this.httpToHttps?t.replace("http:","https:"):t}fullRewriteUrl(t,e=!1){return t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):t.startsWith("//"+this.proxyHost)?this.localOrigin+t.slice(this.proxyHost.length+2):t.startsWith("https://")||t.startsWith("http://")||t.startsWith("//")?super.rewriteUrl(t,e):t}async rewriteHtml(t){return new dn(this,this.isCharsetUTF8).rewrite(t)}rewriteJS(t,e){return t}rewriteCSS(t){return this.httpToHttps?super.rewriteCSS(t):t}rewriteJSON(t,e){return t}rewriteImportmap(t){return t}updateBaseUrl(t){return t}}class Cn{_buffer=[];_lastChunkEndedWithCR=!1;decoder=new TextDecoder;transform(t,e){const r=this.decoder.decode(t),i=r.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g),n=this._buffer;for(this._lastChunkEndedWithCR&&r.startsWith("\n")&&i.shift(),n.length>0&&(n[n.length-1]+=i[0],i.shift()),this._lastChunkEndedWithCR=r.endsWith("\r");n.length>1;){const t=n.shift();t?.length&&e.enqueue(t)}for(;i.length>1;){const t=i.shift();t?.length&&e.enqueue(t)}}flush(t){const e=this._buffer;for(;e.length;){const r=e.shift();r?.length&&t.enqueue(r)}}}class In extends TransformStream{constructor(){super(new Cn)}}function Rn(t,e,r=404){return kn(t,t.url,"",!1,r,e)}function kn(t,e,r,i=!1,n=404,s){let o,a;switch(t.destination){case"json":case"":o=function(t,e,r="not_found"){return JSON.stringify({error:r,URL:t,TS:e})}(e,r,s),a="application/json; charset=utf-8";break;case"script":o=On("Script",e,r,s),a="text/javascript; charset=utf-8";break;case"style":o=On("CSS",e,r,s),a="text/css; charset=utf-8";break;default:o=function(t,e,r,i,n){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = "${e}";\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p>${n||"Sorry, this page was not found in this archive:"}</p>\n <p><code id="url" style="word-break: break-all; font-size: larger"></code></p>\n ${i&&"navigate"===t.mode?"\n <p>Redirecting to live page now... (If this URL is a file download, the download should have started).</p>\n <script>\n window.top.location.href = window.requestURL;\n <\/script>\n ":"\n "}\n <p id="goback" style="display: none"><a href="#" onclick="window.history.back()">Go Back</a> to the previous page.</a></p>\n \n <p>\n <a id="livelink" target="_blank" href="">Load the live page</a> in a new tab (or download the file, if this URL points to a file).\n </p>\n\n <script>\n document.querySelector("#url").innerText = window.requestURL;\n document.querySelector("#livelink").href = window.requestURL;\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {\n\n }\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage({\n wb_type: "archive-not-found",\n url: window.requestURL,\n ts: "${r}"\n }, "*");\n }\n <\/script>\n </body>\n </html>\n `}(t,e,r,i,s),a="text/html; charset=utf-8"}return Nn(o,a,n)}function Nn(t,e,r=200){const i=(new TextEncoder).encode(t),n={status:r,statusText:_(r),headers:{"Content-Type":e,"Content-Length":i.length+"","Content-Security-Policy":l()}};return new Response(i,n)}function On(t,e,r,i){return`/* \n ${i||t+" Not Found"}\n URL: ${e}\n TS: ${r}\n*/\n `}class Bn{name;store;config;metadata;injectScripts;noRewritePrefixes;noPostToGet;convertPostToGet;coHeaders;csp;injectRelCanon;baseFramePrefix;baseFrameUrl;baseFrameHashReplay=!1;baseFrameAppendReplay=!1;liveRedirectOnNotFound=!1;rootPrefix;isRoot;prefix;adblockUrl;staticPrefix;proxyPrefix;proxyBannerUrl="";constructor(t,e,r={}){const{name:i,store:n,config:s}=t;this.name=i,this.store=n,this.config=s,this.metadata=this.config.metadata?this.config.metadata:{};const o={...r,...this.config.extraConfig};this.injectScripts=o.injectScripts||[],this.noRewritePrefixes=o.noRewritePrefixes||null,this.noPostToGet=!!o.noPostToGet,this.convertPostToGet=!!o.convertPostToGet,this.coHeaders=o.coHeaders||!1,this.csp=o.csp||l()+this.name+"/",this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.baseFrameAppendReplay=o.baseUrlAppendReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.adblockUrl=o.adblockUrl,this.prefix=e.main,this.proxyBannerUrl=o.proxyBannerUrl||"",this.proxyBannerUrl&&O.add(this.proxyBannerUrl),this.config.root?this.isRoot=!0:(this.prefix+=this.name+"/",this.isRoot=!1),this.staticPrefix=e.static,this.proxyPrefix=e.proxy}async handleRequest(t,e){let r=t.url,i=t.timestamp;if(!t.mod)return await this.makeTopFrame(r,i);this.noPostToGet||(r=await t.convertPostToGet());let n=null,s=r;try{if(r.startsWith("srcdoc:"))n=this.getSrcDocResponse(r,r.slice(7));else if(r.startsWith("blob:")){const t=r.indexOf("/"),e=r.slice(5,t),i=`blob:${self.location.origin}/${e}`;s=r.slice(t+1),n=await this.getBlobResponse(i)}else"about:blank"===r?n=await this.getSrcDocResponse(r):"__wb_module_decl.js"===r?n=await this.getWrappedModuleDecl():this.adblockUrl&&r.startsWith("adblock:")?n=await async function(t,e){const r=t.split("."),i=[];for(let t=0;t<r.length-1;t++)"www"!==r[t]&&i.push(r.slice(t).join("."));const n=i.length?i[i.length-1]:"";let s=(await fetch(e)).body;const o=new Headers({"Content-Type":"text/css"});if(!s)return new Response("",{status:400,headers:o,statusText:"Not Found"});e.endsWith(".gz")&&(s=s.pipeThrough(new self.DecompressionStream("gzip")));const a=s.pipeThrough(new In),c=new TextEncoder,l=async function*(){for await(const t of async function*(t){try{let e;const r=t.getReader();for(;(e=await r.read())&&!e.done;){const t=e.value;if(n&&t.indexOf(n)>=0){const e=t.split("##");if(e.length<2)continue;if(e[0].endsWith("#@"))continue;const r=e[0].split(",");for(const t of i)if(r.includes(t)){yield e[1];break}}else!n&&t.startsWith("##")&&(yield t.slice(2))}}catch(t){console.warn(t)}}(a))yield c.encode(`${t} {\n display: none !important;\n}\n\n`)}(),h=new ReadableStream({pull:async t=>l.next().then((e=>{e.done||!e.value?t.close():t.enqueue(e.value)}))});return new Response(h,{status:200,statusText:"OK",headers:o})}(r.slice(8),this.adblockUrl):(n=await this.getReplayResponse(t,e),r=t.url,n&&n instanceof mn&&n.updateTS&&(i=n.updateTS))}catch(e){if(await S(e,this.config))return Rn(t.request,'<p style="margin: auto">Please wait, this page will reload after authentication...</p>',401)}if(!n){try{r=decodeURIComponent(r),r+=t.hash}catch(t){}return kn(t.request,r,i,this.liveRedirectOnNotFound)}if(n instanceof Response)return n;n.noRW||(n=t.isProxyOrigin?await this.proxyRewrite(t,n,s,i):await this.fullRewrite(t,n,s,r,i));const o=t.headers.get("range");!o||200!==n.status&&206!==n.status||n.setRange(o);const a="iframe"===t.destination||"document"===t.destination;return n.makeResponse(this.coHeaders,a)}async fullRewrite(t,e,r,i,n){const s=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=s+n,a=e,c=t.mod,l="id_"===c||"wkrf_"===c,h=o+c+"/",u={baseUrl:r,responseUrl:e.url,prefix:h,headInsertFunc:e=>{const r=o+(n?"/":"")+e;return this.makeHeadInsert(e,n,r,s,a,t.referrer)},workerInsertFunc:(t,e)=>e?.isModule?t:`\n (function() { self.importScripts('${this.staticPrefix}wombatWorkers.js'); new WBWombat({'prefix': '${o}/', 'prefixMod': '${o}wkrf_/', 'originalURL': '${i}'}); })();`+t,urlRewrite:!l,contentRewrite:!l,decode:this.config.decode},p=new xn(u);return(e=await p.rewrite(e,t)).headers.set("Content-Security-Policy",this.csp),e}async proxyRewrite(t,e,r,i){const n=this.prefix+(t.pageId?`:${t.pageId}/`:""),s=e.date.toISOString(),o=n+(i||u(s)),a=o+"mp_/",c={baseUrl:r,responseUrl:e.url,prefix:a,headInsertFunc:r=>{const n=this.getCookiePreset(e,t.proxyScheme),a=d(e.date),c=e.extraOpts?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n<script>\n const wbinfo = {};\n wbinfo.url = "${r}";\n wbinfo.request_ts = "${i}";\n wbinfo.timestamp = "${s}";\n wbinfo.proxyOrigin = "${t.proxyOrigin||""}";\n wbinfo.localOrigin = "${t.localOrigin||""}";\n wbinfo.localTLD = "${t.localTLD||""}";\n wbinfo.proxyTLD = "${t.proxyTLD||""}";\n wbinfo.prefix = "${o}";\n wbinfo.presetCookie = ${n};\n wbinfo.seconds = "${a}";\n self.__wbinfo = wbinfo;\n<\/script>\n<script src="${this.staticPrefix}wombatProxy.js"><\/script>\n${this.proxyBannerUrl?`\n<script src="${this.proxyPrefix}${this.proxyBannerUrl}"><\/script>`:""}\n${c?zt:""}\n\x3c!-- End WB Insert --\x3e\n `},workerInsertFunc:null,urlRewrite:!0,contentRewrite:!0,decode:this.config.decode},l=new Tn(c,t);return e=await l.rewrite(e,t)}getCookiePreset(t,e){let r=t.headers.get("x-wabac-preset-cookie")||"";const i=t.headers.get("Set-Cookie");return i&&(r=function(t,e){t=t.replace(a,"");const r=[];for(const i of t.split(",")){const t=i.split(";",1)[0];if(t!==i){const r=i.slice(t.length).toLowerCase();if(r.indexOf("httponly")>0)continue;if("http"===e&&r.indexOf("secure")>0)continue}r.push(t)}return r.join(";")}(i,e)+";"+r),r?JSON.stringify(r):'""'}getCanonRedirect(t){let{url:e,timestamp:r,mod:i,referrer:n}=t;const s=e.startsWith("//");s&&(e=(n&&n.indexOf("/http://")>0?"http:":"https:")+e);try{const n=new URL(e);if(n.href!==e){if("/"===n.pathname){let t=this.prefix+r+i;return(r||i)&&(t+="/"),t+=n.href,Response.redirect(t,301)}(!s&&e.indexOf(":443")||e.indexOf(":80"))&&(t.url=n.href)}}catch(t){}return null}getWrappedModuleDecl(){const t=(new TextEncoder).encode('\n var wrapObj = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\n if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n\n const window = wrapObj("window");\n const document = wrapObj("document");\n const location = wrapObj("location");\n const top = wrapObj("top");\n const parent = wrapObj("parent");\n const frames = wrapObj("frames");\n const opener = wrapObj("opener");\n const __self = wrapObj("self");\n const __globalThis = wrapObj("globalThis");\n\n export { window, document, location, top, parent, frames, opener, __self as self, __globalThis as globalThis };\n '),e=new Headers({"Content-Type":"application/javascript"});return new Response(t,{headers:e,status:200,statusText:"OK"})}getSrcDocResponse(t,e){const r=e?decodeURIComponent(atob(e)):"<html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new mn({payload:i,status:200,statusText:"OK",headers:n,url:t,date:s})}async getBlobResponse(t){const e=await fetch(t),r=e.status,i=e.statusText,n=new Headers(e.headers);"application/xhtml+xml"===n.get("content-type")&&n.set("content-type","text/html");const s=new Date,o=new Uint8Array(await e.arrayBuffer());return new mn({payload:o,status:r,statusText:i,headers:n,url:t,date:s})}async getReplayResponse(t,e){let r=this.getCanonRedirect(t);if(r)return r;const i={pageId:t.pageId,noRedirect:t.isProxyOrigin};return r=await this.store.getResource(t,this.prefix,e,i),r}async makeTopFrame(t,e){let r="";if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r)return this.baseFrameAppendReplay?r+=`${e}/${t}`:this.baseFrameHashReplay?r+=`#${e}/${t}`:r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString(),Response.redirect(r);let i="";if(this.config.topTemplateUrl){const r=await fetch(this.config.topTemplateUrl);i=(await r.text()).replace("$URL",t).replace("$TS",e).replace("$PREFIX",this.prefix)}else i=`\n<!DOCTYPE html>\n<html>\n<head>\n<style>\nhtml, body\n{\n height: 100%;\n margin: 0px;\n padding: 0px;\n border: 0px;\n overflow: hidden;\n}\n\n</style>\n<script src='${this.staticPrefix}wb_frame.js'> <\/script>\n\n<script>\nwindow.home = "${this.rootPrefix}";\n<\/script>\n\n<script src='${this.staticPrefix}default_banner.js'> <\/script>\n<link rel='stylesheet' href='${this.staticPrefix}default_banner.css'/>\n\n</head>\n<body style="margin: 0px; padding: 0px;">\n<div id="wb_iframe_div">\n<iframe id="replay_iframe" name="___wb_replay_top_frame" frameborder="0" seamless="seamless" scrolling="yes" class="wb_iframe" allow="autoplay; fullscreen"></iframe>\n</div>\n<script>\n var cframe = new ContentFrame({"url": "${t}",\n "app_prefix": "${this.prefix}",\n "content_prefix": "${this.prefix}",\n "request_ts": "${e}",\n "iframe": "#replay_iframe"});\n\n<\/script>\n</body>\n</html>\n`;const n={status:200,statusText:"OK",headers:{"Content-Type":"text/html","Content-Security-Policy":this.csp}};return new Response(i,n)}makeHeadInsert(t,e,r,i,n,s){const o=this.name,a=n.date,c=n.isLive,l=n.extraOpts,h=d(a),p=u(a.toISOString()),f=new URL(t);let g;g="https:"!==f.protocol&&"http:"!==f.protocol?s&&s.indexOf("/http://")>0?"http":"https":f.protocol.slice(0,-1);const y=this.getCookiePreset(n,g),m=l&&Number(l.pixelRatio)?l.pixelRatio:2,w=l?.storage?JSON.stringify(l.storage):'""',b=l?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n${this.adblockUrl?`\n<link rel='stylesheet' href="${i}mp_/adblock:${f.hostname}"/>\n<link rel='stylesheet' href="${i}mp_/adblock:"/>\n`:""}\n<style>\nbody {\n font-family: inherit;\n font-size: inherit;\n}\n</style>\n${this.injectRelCanon?`<link rel="canonical" href="${t}"/>`:""}\n<script>\n wbinfo = {};\n wbinfo.top_url = "${r}";\n // Fast Top-Frame Redirect\n if (window == window.top && wbinfo.top_url) {\n var loc = window.location.href.replace(window.location.hash, "");\n loc = decodeURI(loc);\n\n if (loc != decodeURI(wbinfo.top_url)) {\n window.location.href = wbinfo.top_url + window.location.hash;\n }\n }\n wbinfo.url = "${t}";\n wbinfo.timestamp = "${p}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${i}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${c?"true":"false"};\n wbinfo.coll = "${o}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${y};\n wbinfo.storage = ${w};\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${m};\n wbinfo.convert_post_to_get = ${this.convertPostToGet};\n wbinfo.target_frame = "___wb_replay_top_frame";\n<\/script>\n<script src='${this.staticPrefix}wombat.js'> <\/script>\n<script>\n wbinfo.wombat_ts = "${c?p:e}";\n wbinfo.wombat_sec = "${h}";\n wbinfo.wombat_scheme = "${g}";\n wbinfo.wombat_host = "${f.host}";\n\n ${this.noRewritePrefixes?`\n wbinfo.wombat_opts = {"no_rewrite_prefixes": ${JSON.stringify(this.noRewritePrefixes)}}`:"\n wbinfo.wombat_opts = {}\n "}\n\n if (window && window._WBWombatInit) {\n window._WBWombatInit(wbinfo);\n }\n ${b?zt:""}\n<\/script>\n${this.injectScripts.map((t=>`<script src='${this.proxyPrefix}${t}'> <\/script>`)).join("")}\n\x3c!-- End WB Insert --\x3e\n`}}const Pn=(t,e)=>e.some((e=>t instanceof e));let Dn,Ln;const Un=new WeakMap,Mn=new WeakMap,Fn=new WeakMap,Hn=new WeakMap,Wn=new WeakMap;let jn={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return Mn.get(t);if("objectStoreNames"===e)return t.objectStoreNames||Fn.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return zn(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function Vn(t){jn=t(jn)}function Gn(t){return"function"==typeof t?function(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Ln||(Ln=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(qn(this),e),zn(Un.get(this))}:function(...e){return zn(t.apply(qn(this),e))}:function(e,...r){const i=t.call(qn(this),e,...r);return Fn.set(i,e.sort?e.sort():[e]),zn(i)}}(t):(t instanceof IDBTransaction&&function(t){if(Mn.has(t))return;const e=new Promise(((e,r)=>{const i=()=>{t.removeEventListener("complete",n),t.removeEventListener("error",s),t.removeEventListener("abort",s)},n=()=>{e(),i()},s=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",n),t.addEventListener("error",s),t.addEventListener("abort",s)}));Mn.set(t,e)}(t),Pn(t,Dn||(Dn=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,jn):t)}function zn(t){if(t instanceof IDBRequest)return function(t){const e=new Promise(((e,r)=>{const i=()=>{t.removeEventListener("success",n),t.removeEventListener("error",s)},n=()=>{e(zn(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)}));return e.then((e=>{e instanceof IDBCursor&&Un.set(e,t)})).catch((()=>{})),Wn.set(e,t),e}(t);if(Hn.has(t))return Hn.get(t);const e=Gn(t);return e!==t&&(Hn.set(t,e),Wn.set(e,t)),e}const qn=t=>Wn.get(t);function Qn(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=zn(o);return i&&o.addEventListener("upgradeneeded",(t=>{i(zn(o.result),t.oldVersion,t.newVersion,zn(o.transaction),t)})),r&&o.addEventListener("blocked",(t=>r(t.oldVersion,t.newVersion,t))),a.then((t=>{s&&t.addEventListener("close",(()=>s())),n&&t.addEventListener("versionchange",(t=>n(t.oldVersion,t.newVersion,t)))})).catch((()=>{})),a}function Kn(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",(t=>e(t.oldVersion,t))),zn(r).then((()=>{}))}const Yn=["get","getKey","getAll","getAllKeys","count"],Jn=["put","add","delete","clear"],Xn=new Map;function Zn(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(Xn.get(e))return Xn.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Jn.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!Yn.includes(r))return;const s=async function(t,...e){const s=this.transaction(t,n?"readwrite":"readonly");let o=s.store;return i&&(o=o.index(e.shift())),(await Promise.all([o[r](...e),n&&s.done]))[0]};return Xn.set(e,s),s}Vn((t=>({...t,get:(e,r,i)=>Zn(e,r)||t.get(e,r,i),has:(e,r)=>!!Zn(e,r)||t.has(e,r)})));const $n=["continue","continuePrimaryKey","advance"],ts={},es=new WeakMap,rs=new WeakMap,is={get(t,e){if(!$n.includes(e))return t[e];let r=ts[e];return r||(r=ts[e]=function(...t){es.set(this,rs.get(this)[e](...t))}),r}};async function*ns(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,is);for(rs.set(r,e),Wn.set(r,qn(e));e;)yield r,e=await(es.get(r)||e.continue()),es.delete(r)}function ss(t,e){return e===Symbol.asyncIterator&&Pn(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&Pn(t,[IDBIndex,IDBObjectStore])}Vn((t=>({...t,get:(e,r,i)=>ss(e,r)?ns:t.get(e,r,i),has:(e,r)=>ss(e,r)||t.has(e,r)})));var os=r(9991),as=r.n(os);const cs=1024,ls=/\[\d]+/,hs=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive|vod-adaptive)\.akamaized\.net.*?\/([\d/]+\.mp4)/,fuzzyCanonReplace:"//vimeo-cdn.fuzzy.replayweb.page/$1",split:".net"},{match:/\/\/.*player.vimeo.com\/(video\/[\d]+)\?.*/i,fuzzyCanonReplace:"//vimeo.fuzzy.replayweb.page/$1"},{match:/www.\washingtonpost\.com\/wp-apps\/imrs.php/,args:[["src"]]},{match:/(static.wixstatic.com\/.*\.[\w]+\/v1\/fill\/)(w_.*)/,replace:"$1?_args=$2",split:"/v1/fill"},{match:/(twimg.com\/profile_images\/[^/]+\/[^_]+)_([\w]+\.[\w]+)/,replace:"$1=_args=$2",split:"_",splitLast:!0},{match:/^https?:\/\/(?:www\.)?(youtube\.com\/embed\/[^?]+)[?].*/i,replace:"$1"},{match:/^(https?:\/\/(?:www\.)?)(youtube\.com\/@[^?]+)[?].*/i,fuzzyCanonReplace:"$1$2"},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(get_video_info)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["video_id"]]},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(youtubei\/v1\/[^?]+\?).*(videoId[^&]+).*/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1$2",args:[["videoId"]]},{match:/\/\/.*googlevideo.com\/(videoplayback)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["id","itag"],["id"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\/pagelet\/generic.php\/photoviewerinitpagelet/i,args:[[{arg:"data",keys:["query_type","fbid","v","cursor","data"]}]]},{match:/((?:twitter|x)\.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/((?:twitter|x)\.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(us=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+us.map((t=>"("+t+")")).join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var us;const ps=new class{rules;constructor(t){this.rules=t||hs}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.length<4096&&r.match(t.match)){e=t;break}let i=t;e?.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e?.split||"?",s=e?.splitLast?t.lastIndexOf(n):t.indexOf(n);return{prefix:s>0?t.slice(0,s+n.length):t,rule:e,fuzzyCanonUrl:i}}getFuzzyCanonsWithArgs(t){let{fuzzyCanonUrl:e,prefix:r,rule:i}=this.getRuleFor(t);e===t&&(e=r);const n=[];if(i?.args){const r=new URL(e),s=new URL(t);for(const t of i.args){const e=new URLSearchParams;for(const r of t)e.set(r,s.searchParams.get(r)||"");r.search=e.toString(),n.push(r.href)}return n}return[e]}fuzzyCompareUrls(t,e,r){if(!e?.length)return null;if(void 0!==r?.replace&&void 0!==r.match&&(!r.maxResults||e.length<=r.maxResults)){const i=r.match,n=r.replace,s=t.replace(i,n),o=[];for(const t of e){const e=t.url.replace(i,n);if(s===e)return t;t.fuzzyMatchUrl=e,o.push(t)}e=o,t=s}return this.fuzzyBestMatchQuery(t,e,r)}fuzzyBestMatchQuery(t,e,r){let i;try{i=new URL(t)}catch(t){return null}const n=r?.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let s=Number.MIN_SAFE_INTEGER,o=null;const a=new URLSearchParams(i.search);for(const i of e){if(204===i.status||304===i.status)continue;let e;try{e=new URL(i.fuzzyMatchUrl||i.url)}catch(t){continue}const c=new URLSearchParams(e.search);let l=this.getMatch(a,c,n,r?.fuzzySet);l+=this.getMatch(c,a,n),l/=2,i.status>200&&(l+=.1*(200-i.status)),l>s&&(s=l,o=i)}return o}getMatch(t,e,r=null,i=!1){let n=1,s=1;const o={};for(let[a,c]of t){let t,l=e.get(a);if(r&&r.has(a)&&l!==c)return-1e3;t=a.startsWith("_")?.1:10,null!==l&&(n+=.5*t,l.length>cs&&(l=l.slice(0,cs))),c&&c.length>cs&&(c=c.slice(0,cs));const h=Number(c),u=Number(l);if(s+=t,i&&l&&this.addSetMatch(o,a,c,l),l===c)n+=t*c.length;else if(null===l||null===c)n+=0;else if(isNaN(h)||isNaN(u))if(c.startsWith("{")&&l.startsWith("{"))try{const e=ct(c),r=ct(l);n+=this.getMatch(e,r)*t*2}catch(e){n+=.5*t*this.levScore(c,l)}else i||(n+=t*this.levScore(c,l));else n+=10-Math.log(Math.abs(h-u)+1)}return n/s+(i?this.paramSetMatch(o,100):0)}addSetMatch(t,e,r,i){if(!(r&&i&&r.startsWith("/")&&i.startsWith("/")))return;const n=e.split(ls);if(n.length<=1)return;const s=r.indexOf("?"),o=i.indexOf("?"),a=n[0],c=s>0?r.slice(0,s):r,l=o>0?i.slice(0,o):i;t[a]||(t[a]={value:[],found:new Set}),t[a].value.push(c),t[a].found.add(l)}paramSetMatch(t,e){let r=0;for(const i of Object.values(t)){let t=e;for(const e of i.value)i.found.has(e)&&(r+=t),t*=.33}return r}levScore(t,e){const r=Math.min(t.length,e.length),i=as()(t,e);return i<r?r-i:0}},ds=new Date("9999-01-01").getTime(),fs="warc/revisit";class gs{name;minDedupSize;version;autoHttpsCheck=!0;useRefCounts=!1;allowRepeats=!0;repeatTracker=null;fuzzyPrefixSearch=!0;initing;db=null;constructor(t,e={}){this.name=t,this.db=null;const{minDedupSize:r,noRefCounts:i}=e;this.minDedupSize=Number.isInteger(r)?r:1024,this.version=4,this.autoHttpsCheck=!0,this.useRefCounts=!i,this.allowRepeats=!0,this.repeatTracker=new ys,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await Qn(this.name,this.version,{upgrade:(e,r,i,n)=>{t=r,this._initDB(e,r,i,n)},blocking:(t,e)=>{e||this.close()}}),1===t&&await this.convertCuratedPagesToV2(this.db)}_initDB(t,e,r,i){if(!e){const e=t.createObjectStore("pages",{keyPath:"id"});e.createIndex("url","url"),e.createIndex("ts","ts"),e.createIndex("state","state"),t.createObjectStore("pageLists",{keyPath:"id",autoIncrement:!0}),t.createObjectStore("curatedPages",{keyPath:"id",autoIncrement:!0}).createIndex("listPages",["list","pos"]);const r=t.createObjectStore("resources",{keyPath:["url","ts"]});r.createIndex("pageId","pageId"),r.createIndex("mimeStatusUrl",["mime","status","url"]),t.createObjectStore("payload",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0}),t.createObjectStore("digestRef",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];if(this.db)for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await Kn(this.name,{blocked(t,e){console.log("Unable to delete: "+e)}})}async addPage(t,e){const r=t.url,i=t.title||t.url,n=t.id||this.newPageId(),s=t.state||17;let o=t.ts;if("number"!=typeof o)if(t.timestamp)o=p(t.timestamp).getTime();else{const e=t.ts||t.date||t.datetime;e&&(o=new Date(e).getTime())}const a={...t,url:r,ts:o,title:i,id:n,state:s};return e?(e.store.put(a),a.id):await this.db.put("pages",a)}async addPages(t,e="pages",r=!1){const i=this.db.transaction(e,"readwrite");for(const e of t)r?i.store.put(e):this.addPage(e,i);try{await i.done}catch(t){console.warn("addPages tx",String(t))}}async createPageList(t){const e={title:t.title,desc:t.desc||t.description,slug:t.id||t.slug};return await this.db.put("pageLists",e)}async addCuratedPageList(t,e){const r=await this.createPageList(t);let i=0;for(const t of e)t.pos=i++,t.list=r;await this.addPages(e,"curatedPages")}async addCuratedPageLists(t,e="pages",r="public"){for(const i of t){if(r&&!i[r])continue;const t=i[e]||[];await this.addCuratedPageList(i,t)}}async convertCuratedPagesToV2(t){const e=await t.getAll("curatedPages");if(!e?.length)return;const r=await t.getAll("pages"),i=new Map;for(const t of r)i.set(t.id,t);for(const t of e)if(t.page){const e=i.get(t.page);e&&(t.id=this.newPageId(),t.url=e.url,t.ts=e.ts,!t.title&&e.title&&(t.title=e.title)),delete t.page}await t.clear("curatedPages");const n=t.transaction("curatedPages","readwrite");for(const t of e)n.store.put(t);try{await n.done}catch(t){console.warn("Conversion Failed",t)}}async getCuratedPagesByList(){const t=await this.db.getAll("pageLists"),e=this.db.transaction("curatedPages","readonly");for await(const r of e.store.index("listPages").iterate()){const e=t[r.value.list-1];e&&(e.show=!0,e.pages||(e.pages=[]),e.pages.push(r.value))}return t}newPageId(){return w()}async getAllPages(){return await this.db.getAll("pages")}async getPagesByUrl(t){return await this.db.getAllFromIndex("pages","url",t)}async getPages(t){const e=[];t.sort();for await(const r of this.matchAny("pages",null,t))e.push(r);return e}async getTimestampsByURL(t){const e=this.db.transaction("resources"),r=IDBKeyRange.bound([t],[t,ds]),i=[];for await(const t of e.store.iterate(r))i.push(t.key[1]);return i}async getPagesWithState(t){return await this.db.getAllFromIndex("pages","state",t)}async getVerifyInfo(){return{}}async addVerifyData(t="",e,r,i=null,n=!1){}async addVerifyDataList(t,e){}async dedupResource(t,e,r,i=1){const n=r.objectStore("digestRef"),s=await n.get(t);if(s)return++s.count,s;if(e)try{return r.objectStore("payload").put({digest:t,payload:e}),{digest:t,count:i,size:e.length}}catch(t){console.log(t)}return null}async addResources(t){const e=[],r=[],i=[],n={},s=new Set,o=this.db.transaction(["digestRef","payload"],"readwrite");for(const a of t){let t=1;const c=a.status||200,l=a.mime===fs?e:c>=300?r:i;l.push(a);const h=this.getFuzzyUrl(a);if(h&&(l.push(h),t=2),this.useRefCounts&&a.digest){const e=n[a.digest];e?(e.count+=t,s.add(a.digest)):n[a.digest]=await this.dedupResource(a.digest,a.payload,o,t),delete a.payload}}if(this.useRefCounts){const t=o.objectStore("digestRef");for(const e of s)t.put(n[e])}try{await o.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const a=this.db.transaction("resources","readwrite");for(const t of e)a.store.put(t);for(const t of r)a.store.put(t);for(const t of i)a.store.put(t);try{await a.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status&&t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=ps.getRuleFor(t.url);return e&&e!==t.url?{url:e,ts:t.ts,origURL:t.url,origTS:t.ts,pageId:t.pageId,digest:t.digest}:null}return null}async addResource(t){t.payload&&t.payload.length>this.minDedupSize&&(t.digest||(t.digest=await g(t.payload,"sha-256")));let e=null,r=!1;const i=this.db.transaction(["resources","digestRef","payload"],"readwrite");if(t.payload&&t.payload.length>this.minDedupSize?(e=await this.dedupResource(t.digest||"",t.payload,i),r=!!e&&1===e.count,delete t.payload):t.payload&&(r=!0),t.mime!==fs){i.objectStore("resources").put(t);const r=this.getFuzzyUrl(t);r&&(i.objectStore("resources").put(r),e&&e.count++)}else i.objectStore("resources").add(t);e&&i.objectStore("digestRef").put(e);try{await i.done}catch(e){t.mime===fs?console.log("Skip Duplicate revisit for: "+t.url):console.log("Add Error for "+t.url),console.log(e)}return r}async getResource(t,e,r,i={}){const n=p(t.timestamp).getTime();let s=t.url,o=null;const a=this.repeatTracker?this.repeatTracker.getSkipCount(r,s,t.request.method):0,c={...i,skip:a};if(t.httpToHttpsNeeded&&(s=s.slice(s.indexOf("//"))),s.startsWith("//")){let e=!1;o=await this.lookupUrl("https:"+s,n,c),o||(o=await this.lookupUrl("http:"+s,n,c),(o||t.request.referrer.indexOf("/http://",2)>0)&&(e=!0)),s=(e?"http:":"https:")+s}else if(o=await this.lookupUrl(s,n,c),!o&&this.autoHttpsCheck&&s.startsWith("http://")){const t=s.replace("http://","https://");o=await this.lookupUrl(t,n,c),o&&(s=t)}if(o||!this.fuzzyPrefixSearch||i.noFuzzyCheck||(o=await this.lookupQueryPrefix(s,i)),o?.origURL){const t=await this.lookupUrl(o.origURL,o.origTS||o.ts,i);t&&(s=t.url,o=t)}if(!o)return null;const l=o.status||0,h=o.statusText||_(l);let u=null;if(!v(l)&&(u=await this.loadPayload(o,i),!u))return null;const d=o.respHeaders?b(o.respHeaders):new Headers,f=new Date(o.ts),g=o.extraOpts||null;return s=o.url,s!==t.url&&d.set("Content-Location",s),new mn({url:s,payload:u,status:l,statusText:h,headers:d,date:f,extraOpts:g})}async loadPayload(t,e){if(t.digest&&!t.payload){if("sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"===t.digest||"sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ"===t.digest)return new Uint8Array([]);const e=await this.db.get("payload",t.digest);if(!e)return null;const{payload:r}=e;return r}return t.payload||null}isSelfRedirect(t,e){try{if(e?.respHeaders&&e.status&&e.status>=300&&e.status<400){const r=new Headers(e.respHeaders).get("location")||"";if(new URL(r,t).href===t)return!0}}catch(t){}return!1}async lookupUrl(t,e,r={}){const i=this.db.transaction("resources","readonly");if(e){const n=IDBKeyRange.bound([t,e],[t,ds]);if(r.noRevisits||r.pageId){let e=await i.store.getAll(n,16);e=e||[];for(const i of e)if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fs||this.isSelfRedirect(t,i)))return i}else{const r=await i.store.get(n);if(r&&this.isSelfRedirect(t,r))e+=1e4;else if(r)return r}}const n=IDBKeyRange.bound([t],[t,e||ds]);for await(const e of i.store.iterate(n,"prev")){const i=e.value;if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fs||this.isSelfRedirect(t,i)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=ps.getRuleFor(t);if(n!==t){const t=await this.lookupUrl(n,0,e);if(t)return t}if(!r&&i===t&&i===n&&!t.endsWith("?"))return null;const s=await this.db.getAll("resources",this.getLookupRange(i,"prefix"),128e3);return ps.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:u(e),mime:t.mime||"",status:t.status||0}}async resourcesByPage(t){return this.db.getAllFromIndex("resources","pageId",t)}async*resourcesByPages2(t){t.sort(),yield*this.matchAny("resources","pageId",t)}async*resourcesByPages(t){const e=this.db.transaction("resources","readonly");for await(const r of e.store.iterate())t.includes(r.value.pageId)&&(yield r.value)}async*matchAny(t,e,r,i,n=!1){const s=this.db.transaction(t,"readonly"),o=IDBKeyRange.lowerBound(r[0],n);let a=e?await s.store.index(e).openCursor(o):await s.store.openCursor(o),c=0;for(;a&&c<r.length;){let t,e,n;void 0!==i?(t=a.key[i],e=r[c][i],n=t.startsWith(e)):(t=a.key,e=r[c],n=t===e),!n&&t>e?++c:n?(yield a.value,a=await a.continue()):a=await a.continue(r[c])}}async resourcesByUrlAndMime(t,e,r=1e3,i=!0,n="",s=""){const o=e?0:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o),c=e.split(","),l=[];for(const t of a)for(const e of c)if(!e||t.mime?.startsWith(e)){if(l.push(this.resJson(t)),l.length===r)return l;break}return l}async resourcesByMime(t,e=100,r="",i="",n=0){const s=t.split(","),o=[];s.sort();const a=[];r&&a.push([r,n,i]);for(const t of s)(!r||!t||t>r)&&a.push([t,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",a,0,!0))if(o.push(this.resJson(t)),o.length===e)break;return o}async deletePage(t){const e=this.db.transaction("pages","readwrite"),r=await e.store.get(t);await e.store.delete(t);const i=await this.deletePageResources(t);return{pageSize:r?.size||0,dedupSize:i}}async deletePageResources(t){const e={},r=this.db.transaction("resources","readwrite");let i=await r.store.index("pageId").openCursor(t),n=0;for(;i;){const t=i.value.digest;t?e[t]=(e[t]||0)+1:i.value.payload&&(n+=i.value.payload.length),r.store.delete(i.primaryKey),i=await i.continue()}await r.done;const s=this.db.transaction(["payload","digestRef"],"readwrite"),o=s.objectStore("digestRef");for(const t of Object.keys(e)){const r=await o.get(t);r&&(r.count-=e[t]),r&&r.count>=1?o.put(r):(n+=r?r.size:0,o.delete(t),s.objectStore("payload").delete(t))}return await s.done,n}prefixUpperBound(t){return t.slice(0,-1)+String.fromCharCode(t.charCodeAt(t.length-1)+1)}getLookupRange(t,e,r,i){let n,s,o;switch(e){case"prefix":n=[t],s=[this.prefixUpperBound(t)];break;case"host":{const e=new URL(t).origin;n=[e+"/"],s=[e+"0"];break}default:n=[t],s=[t,Number.MAX_SAFE_INTEGER]}return r?(n=[r,i||""],o=!0):o=!1,IDBKeyRange.bound(n,s,o,!0)}}class ys{repeats={};getSkipCount(t,e,r){if("POST"!==r&&!e.endsWith(".m3u8"))return 0;t.replacesClientId&&delete this.repeats[t.replacesClientId];const i=t.resultingClientId||t.clientId;return i?(void 0===this.repeats[i]&&(this.repeats[i]={}),void 0===this.repeats[i][e]?this.repeats[i][e]=0:this.repeats[i][e]++,this.repeats[i][e]):0}}const ms=["script","style","header","footer","banner-div","noscript"];class ws{batchSize;promises=[];batch=[];count=0;dupeSet=new Set;db;constructor(t=1e3){this.batchSize=t}addPage(t){this.promises.push(this.db.addPage(t))}isBatchFull(){return this.batch.length>=this.batchSize}addResource(t){if(this.isBatchFull()&&this.flush(),Number.isNaN(t.ts))return void console.warn("Skipping resource with missing/invalid ts: "+t.url);const e=t.url+" "+t.ts;if("warc/revisit"===t.mime){if(this.dupeSet.has(e))return void console.warn("Skipping duplicate revisit, prevent overriding non-revisit")}else this.dupeSet.add(e);this.batch.push(t)}flush(){this.batch.length>0&&this.promises.push(this.db.addResources(this.batch)),console.log(`Read ${this.count+=this.batch.length} records`),this.batch=[]}async finishIndexing(){this.flush(),this._finishLoad();try{await Promise.all(this.promises)}catch(t){console.warn(t)}this.promises=[]}_finishLoad(){}}class bs extends ws{reader;abort;loadId;sourceExtra;anyPages=!1;detectPages=!1;_lastRecord=null;metadata={};pages=[];lists=[];pageMap={};constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.sourceExtra=i}parseWarcInfo(t){if(!t.payload)return;const e=new TextDecoder("utf-8").decode(t.payload);for(const r of e.split("\n"))if(r.startsWith("json-metadata:"))try{const t=JSON.parse(r.slice(14));if("collection"===t.type&&(this.metadata.desc=t.desc,this.metadata.title=t.title),t.pages?.length){this.pages=this.pages.concat(t.pages);for(const e of t.pages)e.ts=p(e.timestamp).getTime(),this.pageMap[e.ts+"/"+e.url]={page:e};this.anyPages=!0}t.lists?.length&&(this.lists=this.lists.concat(t.lists))}catch(t){console.log("Page Add Error",t.toString())}}index(t,e){if("warcinfo"!==t.warcType){if(this._lastRecord)return this._lastRecord.warcTargetURI!=t.warcTargetURI?(this.indexReqResponse(this._lastRecord,null,e),void(this._lastRecord=t)):void("request"===t.warcType&&"response"===this._lastRecord.warcType?(this.indexReqResponse(this._lastRecord,t,e),this._lastRecord=null):"response"===t.warcType&&"request"===this._lastRecord.warcType?(this.indexReqResponse(t,this._lastRecord,e),this._lastRecord=null):(this.indexReqResponse(this._lastRecord,null,e),this._lastRecord=t));this._lastRecord=t}else this.parseWarcInfo(t)}indexDone(t){this._lastRecord&&(this.indexReqResponse(this._lastRecord,null,t),this._lastRecord=null)}shouldIndexMetadataRecord(t){return!!t.warcTargetURI?.startsWith("metadata://")}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=i?new Date(i).getTime():Date.now();let s,o=null;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);i&&(o=Object.fromEntries(i.headers.entries()),s=i.status)}const a=t.warcRefersToTargetURI,c=new Date(t.warcRefersToDate).getTime();return a===r&&c===n?null:{url:r,ts:n,origURL:a,origTS:c,digest:t.warcPayloadDigest||null,pageId:null,respHeaders:o,status:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r?.httpHeaders?.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=b(t.httpHeaders.headers),s=(n.get("content-type")||"").split(";")[0],206===i&&!this.isFullRangeRequest(n))return null}else n=new Headers,n.set("content-type",t.warcContentType),n.set("content-length",String(t.warcContentLength)),s=t.warcContentType||"";return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e,r){const i=this.parseRecords(t,e);i&&this.addResource(i)}parseRecords(t,e){switch(t.warcType){case"revisit":return this.parseRevisitRecord(t,e);case"resource":e=null;break;case"response":break;case"metadata":if(!this.shouldIndexMetadataRecord(t))return null;break;default:return null}let r=t.warcTargetURI.split("#")[0];const i=t.warcDate,n=this.parseResponseHttpHeaders(t,r,e);if(!n)return null;const{status:s,method:o,headers:a,mime:c}=n;let l,h,u=null,p=null;if(e?.httpHeaders?.headers){let t=null;try{t=new Headers(e.httpHeaders.headers);const r=t.get("cookie");r&&a.set("x-wabac-preset-cookie",r),u=e.httpHeaders.headers.get("Referer")||null}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o||"GET",url:r,postData:e.payload};ot(i)&&(l=r,r=i.url,p=e.payload)}}if(void 0===this.detectPages&&(this.detectPages=!this.anyPages),this.detectPages&&function(t,e,r){if(200!=e)return!1;if(!t.startsWith("http:")&&!t.startsWith("https:")&&!t.startsWith("blob:"))return!1;if(t.endsWith("/robots.txt"))return!1;const i=t.split("?",2);return!(2===i.length&&i[1].length>i[0].length)&&(!i[0].substring(i[0].lastIndexOf("/")+1).startsWith(".")&&(!r||"text/html"===r))}(r,s,c)){const t=r;this.addPage({url:r,date:i,title:t})}const d=i?new Date(i).getTime():Date.now(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest||null,y=t.payload,m={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:y,reader:y?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&y&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new en,s=[];let o=null;n.on("text",(t=>{if(o)return;const e=t.text.trim();e&&s.push(e)})),n.on("startTag",(t=>{!t.selfClosing&&ms.includes(t.tagName)&&(o=t.tagName)})),n.on("endTag",(t=>{t.tagName===o&&(o=null)})),(r||i)&&(e=await Mt(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise((t=>{n.on("end",(()=>{t(s.join(" "))}))}));return await a}(0,y,a.get("content-encoding"),a.get("transfer-encoding")));const w=t.warcHeader("WARC-JSON-Metadata");if(w)try{m.extraOpts=JSON.parse(w)}catch(t){}const b=t.warcHeader("WARC-Page-ID");return b&&(m.pageId=b),this.sourceExtra&&(m.source=this.sourceExtra),"GET"!==o&&l&&(m.requestUrl=l,m.method=o,m.requestBody=p||new Uint8Array([])),m}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||"0");return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(t){return null}async load(t,e,r=0){if(e&&!r)throw new Error("totalSize is required");this.db=t;const i=new Bt(this.reader);let n=0,s=0,o=0;try{for await(const a of i){if(o++,!a.warcType){console.log("skip empty record");continue}const c=self.interruptLoads;if(e&&this.loadId&&c[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),c[this.loadId](),this.abort&&this.abort.abort(),new R;if(s=(new Date).getTime(),s-n>500){const t=`Processed ${o} records`;e(Math.round(i.offset/r*95),null,i.offset,r,null,t),n=s}const l=this.filterRecord(a);if("done"===l){this.abort&&this.abort.abort();break}if("skip"!==l&&("skipContent"===l?await a.skipFully():await a.readFully(),o++,this.index(a,i),this.promises.length>0)){try{await Promise.all(this.promises)}catch(t){console.warn(t.toString())}this.promises=[]}}}catch(t){if(t instanceof R)throw t;e(Math.round(i.offset/r*95),`Sorry there was an error downloading. Please try again (${t})`,i.offset,r),console.warn(t)}return this.indexDone(i),e(95,null,i.offset,r),await this.finishIndexing(),e(100,null,r,r),this.metadata}async _finishLoad(){if(this.pages.length){for(const{page:t,textPromise:e}of Object.values(this.pageMap))if(e)try{t.text=await e}catch(t){console.warn("Error adding text: "+t.toString())}this.promises.push(this.db.addPages(this.pages))}this.lists.length&&this.promises.push(this.db.addCuratedPageLists(this.lists,"bookmarks","public"))}}class As extends bs{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new Bt(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const vs="https://w3s.link/";function _s(t){const{hostname:e,protocol:r,pathname:i}=new URL(t),n=r.slice(0,-1);if(!e){const[t,...e]=i.slice(2).split("/");return{type:n,cid:t,path:"/"+e.join("/")}}return{type:n,cid:e,path:i}}async function Es(t){return Rs(t)?t:ks(t)?Ts(t):t}async function Ss(t){return new Response(t).blob()}async function*xs(t){const e=await t.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}}function Ts(t){let e=t;e.next||(e=t[Symbol.asyncIterator]());const r=new TextEncoder;return new ReadableStream({async pull(t){const{value:i,done:n}=await e.next();if(n)await t.close();else{let e=i;"string"==typeof e&&(e=r.encode(e)),await t.enqueue(e)}}})}async function Cs(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function Is({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;Ns(t,a);const c=await async function(t){if(Rs(t))return await Ss(t);if(ks(t)){const e=Ts(t);return await Ss(e)}return t instanceof Blob?t:new Blob([t])}(e);r?o.append(i,c,r):o.append(i,c);const l=await n(t,{method:"POST",body:o,headers:a,signal:s});return await Cs(l),l}function Rs(t){return"function"==typeof t.getReader}function ks(t){return t[Symbol.asyncIterator]}function Ns(t,e){if(t.password)if(t.username){const r=`Basic ${btoa(`${unescape(t.username)}:${unescape(t.password)}`)}`;e.append("Authorization",unescape(r)),t.username="",t.password=""}else{const r=`Bearer ${t.password}`;e.append("Authorization",unescape(r)),t.password=""}}async function Os({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await Cs(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*Bs({url:t,start:e,end:r,format:i,signal:n,fetch:s=globalThis.fetch}){const o=new Headers;Number.isInteger(e)&&(Number.isInteger(r)?o.set("Range",`bytes=${e}-${r}`):o.set("Range",`bytes=${e}-`));const a=new URL(t);i&&(o.set("Accept",`application/vnd.ipld.${i}`),o.set("cache-control","no-cache"));const c=await s(a.href,{headers:o,signal:n});await Cs(c),yield*xs(c.body)}function Ps(){if(!globalThis.location)return vs;const{pathname:t,hostname:e,protocol:r}=globalThis.location;if(t.startsWith("/ipfs/")||t.startsWith("/ipns/"))return`${r}//${e}/`;const[i,...n]=e.split(".");return 59===i.length&&n.length>=2?`${r}//${n.join(".")}/`:vs}let Ds=!1;const Ls=[5001,45001,45002,45003,45004,45005],Us="https://api.web3.storage/",Ms="https://api.estuary.tech/",Fs="http://localhost:5001/",Hs="agregore",Ws="daemon",js="web3.storage",Vs="estuary",Gs="readonly",zs=[Hs,Ws,js,Vs,Gs];class qs{get type(){return"invalid"}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){throw new Error("Not Implemented")}async getSize(t,e=null){throw new Error("Not Implemented")}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){throw new Error("Not Implemented")}async clear(t,e=null){throw new Error("Not Implemented")}}async function Qs({chooseOrder:t=zs,...e}={}){const r=function(t,e=zs){const r=t.filter((({type:t})=>e.includes(t))).sort((({type:t},{type:r})=>e.indexOf(t)-e.indexOf(r)))[0];if(!r)throw new Error("Unable to find valid type");return r}(await async function({daemonURL:t,web3StorageToken:e,web3StorageURL:r=Us,estuaryToken:i,estuaryURL:n=Ms,publicGatewayURL:s=Ps(),readonly:o=!0,timeout:a=1e3,fetch:c=globalThis.fetch}={}){const l=[],h=[];if(h.push(async function(t=globalThis.fetch){try{return await t("ipfs://localhost/"),!0}catch(t){return Ds&&console.warn("Unable to detect Agregore",t),!1}}(c).then((t=>t&&l.push({type:Hs,fetch:c})))),h.push(async function(){const t=Ls.map((t=>`http://localhost:${t}`));try{const r=await Promise.any(t.map((t=>eo(t).then((e=>{if(e)return t;throw new Error("Not found")})))));return!!r&&(to&&!$s&&(e=r,$s=!0,globalThis.chrome.webRequest.onBeforeSendHeaders.addListener((t=>{const{requestHeaders:r}=t;for(const t of r)if("origin"===t.name.toLowerCase())return t.value=e,{requestHeaders:r};return t.requestHeaders.push({name:"Origin",value:e}),{requestHeaders:r}}),{urls:[e+"/*"]},["blocking","requestHeaders","extraHeaders"])),r)}catch{return!1}var e}().then((t=>t&&l.push({type:Ws,url:t,fetch:c})))),t&&h.push(eo(t,a,c).then((e=>e&&l.push({type:Ws,url:t,fetch:c})))),i){const t=n,e=i;l.push({type:Vs,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:js,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:Gs,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}(e),t);return async function(t){const{type:e}=t;let r=null;if(e===Hs)r=new Js(t.fetch||globalThis.fetch);else if(e===Ws)r=new Zs(t.url);else if(e===js)r=new Xs(t.authorization,t.url,t.publicGatewayURL);else if(e===Vs)r=new Ys(t.authorization,t.url,t.publicGatewayURL);else{if(e!==Gs)throw new TypeError(`Unknown API type: ${e}.`);r=new Ks(t.publicGatewayURL)}return r}(r)}class Ks extends qs{constructor(t=Ps()){super(),this.gatewayURL=t}get type(){return Gs}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){yield*async function*({url:t,start:e,end:r,format:i,signal:n,gatewayURL:s=Ps()}){const o=function(t,e=Ps()){const{cid:r,path:i,type:n}=_s(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*Bs({url:o,start:e,end:r,format:i,signal:n})}({url:t,start:e,end:r,format:n,gatewayURL:this.gatewayURL,signal:i})}async getSize(t,e=null){const{cid:r,path:i,type:n}=_s(t);return Os({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class Ys extends Ks{constructor(t,e=Ms,r=Ps()){super(r),this.authorization=t,this.url=e}get type(){return Vs}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){const i=new URL("/content/add",this.url);i.password=this.authorization;const n=await Is({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Js extends qs{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return Hs}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*Bs({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return Os({url:t,fetch:r,signal:e})}async uploadCAR(t,e=null){const r=await Es(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/vnd.ipld.car"},signal:e,body:r});return await Cs(n),(await n.text()).split("\n")}async uploadFile(t,e=null){const r=await Es(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/octet-stream"},signal:e,body:r});return await Cs(n),n.headers.get("Location")}}class Xs extends Ks{constructor(t,e=Us,r=Ps()){super(r),this.authorization=t,this.url=e}get type(){return js}async uploadCAR(t,e=null){const r=new URL("/car",this.url);r.password=this.authorization;const i=await async function({url:t,fileIterator:e,signal:r}){const i=new Headers;i.set("Content-Type","application/octet-stream"),Ns(t,i);const n=await Es(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await Cs(s),s}({url:r,fileIterator:t,signal:e});return(await i.text()).split("\n").filter((t=>t)).map((t=>{const{cid:e}=JSON.parse(t);return`ipfs://${e}/`}))}async uploadFile(t,{fileName:e="",signal:r=null}={}){const i=new URL("/upload",this.url);i.password=this.authorization;const n=await Is({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Zs extends qs{constructor(t=Fs){super(),this.url=t}get type(){return Ws}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=_s(t),c=new URL(`/api/v0/cat?arg=/${a}/${s}${o}`,this.url);if(e&&c.searchParams.set("offset",e),r&&c.searchParams.set("length",r-(e||0)+1),n)throw new Error("Format is unsupported on Kubo Daemons for now");const l=await fetch(c,{method:"POST",signal:i});await Cs(l),yield*xs(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=_s(t),s=`/api/v0/file/ls?arg=/${n}/${r}${i}&size=true`,o=new URL(s,this.url),a=await fetch(o,{method:"POST",signal:e});await Cs(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return Ds&&console.warn(r),this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=_s(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await Cs(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=_s(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await Cs(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=_s(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await Cs(o)}async clear(t,e=null){return this._unpin(t,e)}async uploadCAR(t,e=null){const r=new URL("/api/v0/dag/import?allow-big-block=true&pin-roots=true",this.url),i=await Is({url:r,file:t,signal:e});return(await i.text()).split("\n").filter((t=>t)).map((t=>{const{Root:e}=JSON.parse(t);return`ipfs://${e.Cid["/"]}/`}))}async uploadFile(t,e="",r=null){const i=new URL("/api/v0/add?pin=true&cid-version=1&inline=false&raw-leaves=true",this.url),n=t.name&&t instanceof Blob;(e||n)&&i.searchParams.set("wrap-with-directory","true");const s=await Is({url:i,file:t,fileName:e,signal:r}),o=await s.text(),[a]=o.split("\n"),{Hash:c}=JSON.parse(a),l=`ipfs://${c}/`;return await this._pin(l,r),l}}let $s=!1;const to=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function eo(t=Fs,e=1e3,r=globalThis.fetch){try{const i=new AbortController,{signal:n}=i;setTimeout((()=>i.abort()),e);const s=await r(new URL("/api/v0/version",t),{method:"POST",signal:n});return!!s.ok||!(!s.status||404===s.status)}catch(e){return Ds&&console.warn("Unable to detect Kubo Daemon",e,t),!1}}let ro=null;async function io(t){return ro||(ro=await Qs(t)),ro}const no="https://helper-proxy.webrecorder.workers.dev";async function so(t){const{url:e}=t;if(t.extra?.arrayBuffer)return new lo(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new ho(t);case"http":case"https":return new ao(t);case"file":return new uo(t);case"googledrive":return new co(t);case"ipfs":return new po(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new ao(t)}catch(t){}try{await fetch(`${r}://localhost`,{method:"HEAD"});try{new URL(e)}catch(r){let i=e.replace(":\\","//");i=i.replaceAll("\\","/"),t.url=i}return new ao(t)}catch(t){}throw new Error("Invalid URL: "+e)}class oo{canLoadOnDemand=!0;headers={};length=null;canDoNegativeRange=!1;constructor(t){this.canLoadOnDemand=t}async getRangeFromEnd(t,e,r){if(this.canDoNegativeRange)return await this.getRange(0,-t,e,r);{const i=await this.getLength();return t=Math.min(t,i),await this.getRange(i-t,t,e,r)}}getFullBuffer(){return null}}class ao extends oo{url;length;isValid=!1;ipfsAPI=null;loadingIPFS=null;arrayBuffer=null;constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){super(i),this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.canDoNegativeRange=!0}async doInitialFetch(t,e=!1){const r=new Headers(this.headers);e||r.set("Range","bytes=0-"),this.isValid=!1;let i=null,n=null;if(t)try{n=await this.retryFetch(this.url,{headers:r,method:"HEAD",cache:"no-store"}),200!==n.status&&206!=n.status||(this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=!0)}catch(t){}if(!this.isValid||!this.canLoadOnDemand){i=new AbortController;const e=i.signal;n=await this.retryFetch(this.url,{headers:r,signal:e,cache:"no-store"}),this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=206===n.status||200===n.status,t&&(i.abort(),i=null)}if(null===this.length&&n&&(this.length=Number(n.headers.get("Content-Length")),this.length||206!==n.status||this.parseLengthFromContentRange(n.headers)),null===this.length)try{const t=await fetch(`${no}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t)}if(this.length=Number(this.length||0),!this.canLoadOnDemand&&this.isValid&&this.length>0&&this.length<=s){const t=await this.retryFetch(this.url,{headers:r,cache:"no-store"});t.ok&&(this.arrayBuffer=new lo(new Uint8Array(await t.arrayBuffer())),this.canLoadOnDemand=!0,this.canDoNegativeRange=!1)}return{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length||0}async getRange(t,e,r=!1,i=null){if(this.arrayBuffer)return await this.arrayBuffer.getRange(t,e,r);const n=new Headers(this.headers);e<0?n.set("Range",`bytes=${e}`):n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o;try{o=await this.retryFetch(this.url,s)}catch(t){throw new T(this.url)}if(206!=o.status){if(e<0){const t=await this.getLength();return-e>t&&(e=-t),await this.getRange(t+e,-e,r,i)}const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new C(t):403==o.status?new I(t):new T(t)}return null===this.length&&this.parseLengthFromContentRange(o.headers),r?o.body||new Uint8Array:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=1e3;for(let i=0;i<20;i++){const i=await fetch(t,e);if(429!==i.status&&503!==i.status)return i;await N(r),r+=2e3}throw new Error("retryFetch failed")}parseLengthFromContentRange(t){const e=t.get("Content-Range");if(e){const t=e.split("/");2===t.length&&(this.length=parseInt(t[1]))}}getFullBuffer(){return this.arrayBuffer?.getFullBuffer()??null}}class co extends oo{fileId;apiUrl;length;publicUrl=null;isValid=!1;constructor({url:t,headers:e,size:r,extra:i}){super(!0),this.fileId=t.slice(14),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.headers=e||{},i?.publicUrl&&(this.publicUrl=i.publicUrl),this.length=r||0}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new ao({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r?.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new ao({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r?.abort&&r.abort.abort()}}return e?.isValid||(this.publicUrl=null,e=new ao({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,!this.length&&e.length&&(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new ao({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new ao({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new ao({url:this.apiUrl,headers:this.headers,length:this.length});let s=50;for(;s<2e3;)try{return await n.getRange(t,e,r,i)}catch(t){if(t instanceof I&&t.info.resp?.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error?.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await N(s),s*=2;continue}}throw t}throw new T("not found")}async refreshPublicUrl(){try{const t=await fetch(`${no}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class lo extends oo{arrayBuffer;size;constructor(t){super(!0),this.arrayBuffer=t,this.size=t.length,this.length=this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:go(this.arrayBuffer);return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?go(i):i}getFullBuffer(){return this.arrayBuffer}}class ho extends oo{url;blob;size;arrayBuffer=null;constructor({url:t,blob:e=null,size:r=null}){super(!0),this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r||0,this.length=this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob?.size){const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}return this.size}async doInitialFetch(t=!1){if(!this.blob)try{const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}catch(t){throw console.warn(t),t}const e=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer();this.arrayBuffer=new Uint8Array(e);const r=t?null:go(this.arrayBuffer);return{response:new Response(r),abort:null}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?go(i):i}async _getArrayBuffer(){return new Promise(((t,e)=>{const r=new FileReader;r.onloadend=()=>{r.result instanceof ArrayBuffer?t(r.result):e(r.result)},this.blob&&r.readAsArrayBuffer(this.blob)}))}}class uo extends oo{url;file;size;fileHandle;constructor({blob:t,size:e,extra:r,url:i}){super(!0),this.url=i,this.file=null,this.size=t?t.size:e||0,this.length=this.size,this.fileHandle=r.fileHandle}get isValid(){return!!this.file}async getLength(){return void 0===this.size&&await this.initFileObject(),this.size}async initFileObject(){const t={mode:"read"};if("granted"!==await this.fileHandle.queryPermission(t)&&"granted"!==await this.fileHandle.requestPermission(t))throw new C({fileHandle:this.fileHandle});this.file=await this.fileHandle.getFile(),this.size=this.file.size,this.length=this.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){this.file||await this.initFileObject();const i=this.file.slice(t,t+e);return r?i.stream():new Uint8Array(await i.arrayBuffer())}}class po extends oo{url;opts;length;isValid=!1;constructor({url:t,headers:e,...r}){super(!0),this.url=t,this.opts=r,this.headers=e||{},this.length=null}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await io(this.opts);try{this.length=await e.getSize(this.url),this.isValid=null!==this.length}catch(t){console.warn(t),this.length=null,this.isValid=!1}let r=206;this.isValid||(r=404);const i=new AbortController,n=i.signal;let s;return s=t||!this.isValid?new Uint8Array([]):fo(e.get(this.url,{signal:n})),{response:new Response(s,{status:r}),abort:i}}async getRange(t,e,r=!1,i=null){const n=(await io(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return fo(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return ht(t,e)}}}function fo(t){return new ReadableStream({start:async e=>{try{for await(const r of t)e.enqueue(r)}catch(t){console.log(t)}e.close()}})}function go(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class yo extends gs{noCache;streamMap;constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}isSameUrl(t,e,r){if(t===e)return!0;const i=decodeURIComponent(t),n=decodeURIComponent(e);return i===n||!(!r||!n.startsWith(i))}async loadPayload(t,e){let r=await super.loadPayload(t,e);if(r&&t.respHeaders&&("warc/revisit"!==t.mime||t.status>=300&&t.status<400))return r;const i=this.streamMap.get(t.url);if(i)return console.log(`Reuse stream for ${t.url}`),new Ao(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!this.isSameUrl(n.url,t.url,t.method))return console.log(`Wrong url: expected ${t.url}, got ${n.url}`),null;if(n.ts!==t.ts&&1e3*Math.floor(n.ts/1e3)!==t.ts)return console.log(`Wrong timestamp: expected ${t.ts}, got ${n.ts}`),null;if(n.digest!==t.digest&&t.digest&&n.digest){const e=n.digest.split(":"),r=t.digest.split(":");2===e.length&&2===r.length&&r[1]===e[1]?t.digest=e[0]+":"+r[1]:console.log(`Wrong digest: expected ${t.digest}, got ${n.digest}`)}if(n.origURL){if(!r&&t.status>=300&&t.status<400&&n.respHeaders){if(t.respHeaders=n.respHeaders,!this.noCache)try{await this.db.put("resources",t)}catch(t){console.log(t)}return new Uint8Array([])}const i=await this.lookupUrl(n.origURL,n.origTS||0,{...e,noRevisits:!0});if(!i)return null;const s=e.depth||0;if(!r&&(s<2?r=await this.loadPayload(i,{...e,depth:s+1}):console.warn("Avoiding revisit lookup loop for: "+JSON.stringify(n)),!r))return null;if(n.respHeaders&&i.respHeaders?(t.respHeaders=n.respHeaders,i.respHeaders["content-length"]&&(t.respHeaders["content-length"]=i.respHeaders["content-length"])):t.respHeaders=i.respHeaders,t.mime=i.mime,t.digest=i.digest,i.extraOpts&&(t.extraOpts=i.extraOpts),!this.noCache){delete t.payload;try{await this.db.put("resources",t)}catch(t){console.log(t)}i.digest!==n.digest&&n.digest&&r instanceof Uint8Array&&await this.commitPayload(r,n.digest)}return r}const o=n.digest,a=t.source.length>=25e6;if(!this.noCache&&!a&&n.reader&&o&&(n.reader=new _o(this,n.reader,o,t.url,this.streamMap,s||null,t.recordDigest,t.source)),a&&console.log("Not cacheing, too big: "+t.url),r=n.payload||null,!r&&!n.reader)return null;try{r&&!this.noCache&&!a&&o&&await this.commitPayload(r,o)}catch(e){console.warn(`Payload Update Error: ${t.url}`),console.warn(e)}if(!(t.respHeaders&&t.digest||(t.respHeaders=n.respHeaders,t.digest=o,n.extraOpts&&(t.extraOpts=n.extraOpts),this.noCache||a)))try{await this.db.put("resources",t)}catch(e){console.warn(`Resource Update Error: ${t.url}`),console.warn(e)}return r||n.reader||null}async commitPayload(t,e){if(!t||0===t.length)return;const r=this.db.transaction(["payload","digestRef"],"readwrite");try{if(r.objectStore("payload").put({payload:t,digest:e}),this.useRefCounts){const i=await r.objectStore("digestRef").get(e);i&&(i.size=t.length,r.objectStore("digestRef").put(i))}await r.done}catch(t){console.warn("Payload Commit Error: "+t)}}}class mo extends yo{async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new As(e);return{remote:await r.load()}}}class wo extends mo{loader;constructor(t,e,r=!1){super(t,r),this.loader=e}updateHeaders(t){this.loader.headers=t}async loadSource(t){const{start:e,length:r}=t;return await this.loader.getRange(e,r,!0)}}class bo extends mo{remoteUrlPrefix;headers;constructor(t,e,r,i=!1){super(t,i),this.remoteUrlPrefix=e,this.headers=r}updateHeaders(t){this.headers=t}async loadSource(t){const{start:e,length:r}=t,i=new Headers(this.headers),n=new URL(t.path,this.remoteUrlPrefix).href,s=await so({url:n,headers:i});return await s.getRange(e,r,!0)}}class Ao extends wt{chunkstore;offset;size;constructor(t){super(),this.chunkstore=t,this.offset=0,this.size=this.chunkstore.totalLength}setLimitSkip(t=-1,e=0){this.offset=e,t>0&&(this.size=t)}setRangeAll(t){this.size=t}async*[Symbol.asyncIterator](){yield*this.chunkstore.getChunkIter()}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new At(t,this.size,this.offset).getReadableStream()}async readlineRaw(t){throw new Error("Method not implemented.")}}class vo{chunks;size=0;done=!1;totalLength;nextChunk;_nextResolve=()=>{};constructor(t){this.chunks=[],this.size=0,this.done=!1,this.totalLength=t,this.nextChunk=new Promise((t=>this._nextResolve=t))}add(t){this.chunks.push(t),this.size+=t.byteLength,this._nextResolve(!0),this.nextChunk=new Promise((t=>this._nextResolve=t))}concatChunks(){return this._nextResolve(!1),this.done=!0,ht(this.chunks,this.size)}async*getChunkIter(){for(const t of this.chunks)yield t;let t=this.chunks.length;for(;!this.done&&await this.nextChunk;)for(;t<this.chunks.length;t++)yield this.chunks[t]}}class _o extends wt{db;reader;digest;url;commit=!0;fullbuff=null;hasher;expectedHash;source;isRange=!1;totalLength=-1;fixedSize=0;streamMap;constructor(t,e,r,i="",n,s,o,a){super(),this.db=t,this.reader=e,this.digest=r,this.url=i,this.commit=!0,this.fullbuff=null,this.hasher=s,this.expectedHash=o,this.source=a,this.isRange=!1,this.totalLength=-1,this.streamMap=n}setRangeAll(t){this.isRange=!0,this.totalLength=t}setLimitSkip(t=-1,e=0){this.isRange=!0,2!==t||0!==e?((-1!=t||e>0)&&(this.commit=!1),this.reader.setLimitSkip(t,e)):this.fixedSize=2}async*[Symbol.asyncIterator](){let t=null;this.commit&&(t=new vo(this.totalLength),this.isRange&&(console.log(`Store stream for ${this.url}, ${this.totalLength}`),this.streamMap.set(this.url,t)));for await(const e of this.reader)t&&t.add(e),yield e;if(0!==this.reader.limit)console.warn(`Expected payload not consumed, ${this.reader.limit} bytes left`);else{if(!this.isRange&&this.hasher&&this.expectedHash&&this.source){const t=this.hasher.getHash(),{path:e,start:r,length:i}=this.source,n=`${e}:${r}-${i}`;this.db.addVerifyData(n,this.expectedHash,t)}this.commit&&(this.fullbuff=t.concatChunks(),await this.db.commitPayload(this.fullbuff,this.digest))}this.commit&&this.isRange&&(this.streamMap.delete(this.url),console.log(`Delete stream for ${this.url}`))}async _consumeIter(t){for await(const e of t);}async readFully(){return this.fullbuff||await this._consumeIter(this),this.fullbuff}getReadableStream(){const t=super.getReadableStream();if(!this.commit)return t;const e=t.tee();return this._consumeIter(bt.fromReadable(e[1].getReader())),this.fixedSize?this.getFixedSizeReader(e[0].getReader(),this.fixedSize):e[0]}getFixedSizeReader(t,e){return new ReadableStream({async start(r){const{value:i,done:n}=await t.read();n||r.enqueue(i.slice(0,e)),r.close()}})}async readlineRaw(t){throw new Error("Method not implemented.")}}class Eo extends ws{har;pageRefs;constructor(t){super(),this.har="string"==typeof t?JSON.parse(t):t,this.pageRefs={}}async load(t){this.db=t,this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing()}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings?.onLoad)continue;let t;t=e.title&&(e.title.startsWith("http:")||e.title.startsWith("https:"))?e.title:this.pageRefs[e.id];const r=e.title||t,i=e.startedDateTime;this.addPage({url:t,date:i,title:r})}}parseEntries(t){for(const e of t.log.entries){const r=new Date(e.startedDateTime).getTime(),i={};for(const{name:t,value:r}of e.response.headers)i[t]=r;let n=null;const s=new TextEncoder;if(e.response.content?.text)try{n=Uint8Array.from(atob(e.response.content.text),(t=>t.charCodeAt(0)))}catch(t){n=e.response.content.text}else{const t=i["Content-Length"];t&&"0"!==t?(console.log(`Warning: Content-Length ${t} but no content found for ${e.request.url}`),n=s.encode("Sorry, the HAR file did not include the content for this resource.")):n=Uint8Array.from([])}this.addResource({url:e.request.url,ts:r,status:e.response.status,respHeaders:i,payload:n}),e.pageref&&!this.pageRefs[e.pageref]&&(this.pageRefs[e.pageref]=e.request.url)}}}const So="req.http:cookie";class xo extends bs{cdxindexer=null;sourceExtra;shaPrefix;constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.sourceExtra=i,this.shaPrefix=n}filterRecord(t){switch(t.warcType){case"warcinfo":case"revisit":case"request":return null;case"metadata":return this.shouldIndexMetadataRecord(t)?null:"skip"}const e=t.warcTargetURI,r=t.warcDate?new Date(t.warcDate).getTime():Date.now();return this.pageMap[r+"/"+e]?(t._isPage=!0,null):null}index(t,e){return t&&(t._offset=e.offset,t._length=e.recordLength),super.index(t,e)}indexReqResponse(t,e,r){if(t._isPage)return super.indexReqResponse(t,e,r);if("warcinfo"===t.warcType)return void this.parseWarcInfo(t);this.cdxindexer||(this.cdxindexer=new Ut({noSurt:!0}));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i){if(206===i.status){const e=t.httpHeaders?.headers;if(e&&!this.isFullRangeRequest(e))return}if(e&&e.httpHeaders){const t=e.httpHeaders.headers.get("cookie");t&&(i[So]=t)}this.addCdx(i)}}getSource(t){return{...this.sourceExtra,path:t.filename,start:Number(t.offset),length:Number(t.length)}}addCdx(t){const{url:e,mime:r}=t,i=Number(t.status)||200,n=p(t.timestamp).getTime(),s=this.getSource(t);let{digest:o,recordDigest:a}=t;o&&-1===o.indexOf(":")&&(o=this.shaPrefix+o);const c={url:e,ts:n,status:i,digest:o,recordDigest:a,mime:r,loaded:!1,source:s};if(t.method){if("HEAD"===t.method||"OPTIONS"===t.method)return;c.method=t.method}t[So]&&(c[So]=t[So]),t.method&&"GET"!==t.method&&(c.url=at(t.url,t.requestBody||"",t.method)),this.addResource(c)}}class To extends xo{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new bt(this.reader));let n=0;for await(const s of i.iterLines()){let i,o,a;n+=s.length;let c=s.trimEnd();if(!c.startsWith("{")){const t=c.indexOf(" {");if(t<0)continue;[o,a]=c.split(" ",2),c=c.slice(t)}try{i=JSON.parse(c)}catch(t){console.log("JSON Parser error on: "+c);continue}i.timestamp=a,i.url||(i.url=o,console.warn(`URL missing, using urlkey ${o}`)),e&&r&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}return await this.finishIndexing(),e&&e(100,null,r,r),{}}}const Co=4294967295,Io=65535;class Ro{start;length;constructor(t,e){this.start=t,this.length=e}}class ko extends bt{hasher=null;hashInited=!1;hash="";constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){try{this.hasher=await rt(it,32).then((t=>{t.init(256);const e={init:()=>(t.init(256),e),update:r=>(t.update(r),e),digest:e=>t.digest(e),save:()=>t.save(),load:r=>(t.load(r),e),blockSize:64,digestSize:32};return e}))}catch(t){console.warn("Hasher init failed, not hashing",t)}finally{this.hashInited=!0}}async _loadNext(){const t=await super._loadNext();return t?(this.hashInited||await this.initHasher(),this.hasher.update(t)):this.hasher&&(this.hash="sha256:"+this.hasher.digest("hex"),this.hasher=null),t}getHash(){return this.hash}}class No{loader;entriesUpdated=!1;enableHashing=!1;entries=null;constructor(t,e=null){this.loader=t,this.entries=e,this.entriesUpdated=!1,this.enableHashing=!0}async load(t=!1){if(!this.entries||t){const e=65558,r=await this.loader.getRangeFromEnd(e,!1),i=Math.max(await this.loader.getLength()-e,0);try{this.entries=this._loadEntries(r,i)}catch(t){if(t instanceof Ro){const e=ht([await this.loader.getRange(t.start,t.length,!1),r],t.length+length);this.entries=this._loadEntries(e,t.start)}}this.entriesUpdated=!0}return this.entries}_loadEntries(t,e){const r=t.byteLength;if(!r)return null;const i=new DataView(t.buffer,t.byteOffset,t.byteLength),n=new TextDecoder("utf8"),s=new TextDecoder("ascii"),o={};let a=0,c=0,l=r;for(let e=r-22,n=Math.max(0,e-Io);e>=n;--e)if(80===t[e]&&75===t[e+1]&&5===t[e+2]&&6===t[e+3]){l=e,c=i.getUint32(e+16,!0),a=i.getUint16(e+8,!0);break}if(c===Co||a===Io){if(117853008!==i.getUint32(l-20,!0))return console.warn("invalid zip64 EOCD locator"),null;const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return console.warn("invalid zip64 EOCD record"),null;a=this.getUint64(i,t+32,!0),c=this.getUint64(i,t+48,!0)}if(c>=e)c-=e;else if(c<e&&c>0)throw new Ro(c,e-c);if(c>=r||c<0)for(c=-1,a=Io;++c<r&&80!==t[c]&&75!==t[c+1]&&1!==t[c+2]&&2!==t[c+3];);for(l-=46;--a>=0&&c<l&&1347092738==i.getUint32(c);){const e=i.getUint16(c+8,!0);let r=i.getUint32(c+20,!0),a=i.getUint32(c+24,!0);const l=i.getUint16(c+28,!0),h=i.getUint16(c+30,!0),u=i.getUint16(c+32,!0),p=8===i.getUint16(c+10,!0);let d=i.getUint32(c+42,!0);const f=(2048&e?n:s).decode(t.subarray(c+46,c+46+l));if(r===Co||a===Co||d===Co){let t=c+46+l;const e=t+h-3;for(;t<e;){const e=i.getUint16(t,!0);let n=i.getUint16(t+2,!0);t+=4,1===e&&(a===Co&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===Co&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===Co&&n>=8&&(d=this.getUint64(i,t,!0),t+=8,n-=8)),t+=n}}f.endsWith("/")||(o[f]={filename:f,deflate:p,uncompressedSize:a,compressedSize:r,localEntryOffset:d},h||(o[f].offset=30+l+d)),c+=46+l+h+u}return o}getCompressedSize(t){if(null===this.entries)return 0;const e=this.entries[t];return e?isNaN(e.compressedSize)?0:e.compressedSize:0}async loadFile(t,{offset:e=0,length:r=-1,signal:i=null,unzip:n=!1,computeHash:s=!1}={}){if(null===this.entries&&await this.load(),!this.entries)throw new Error("entries not loaded");const o=this.entries[t];if(!o)throw new Error("file not found in zip: "+t);if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30,!1),e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=e.getUint16(26,!0),i=e.getUint16(28,!0);o.offset=30+r+i+o.localEntryOffset,this.entriesUpdated=!0}r=r<0?o.compressedSize:Math.min(r,o.compressedSize-e),e+=o.offset;const a=(await this.loader.getRange(e,r,!0,i)).getReader();let c,l=null;return c=n?o.deflate?new bt(new bt(a,"deflate")):new bt(a):new bt(a,o.deflate?"deflate":null),c=(t=>s&&this.enableHashing?(l=new ko(t),l):t)(c),{reader:c,hasher:l}}getUint64(t,e,r){const i=t.getUint32(e,r),n=t.getUint32(e+4,r),s=r?i+2**32*n:2**32*i+n;return Number.isSafeInteger(s)||console.warn(s,"exceeds MAX_SAFE_INTEGER. Precision may be lost"),s}}class Oo extends oo{zipreader;filename;constructor(t,e){super(!0),this.zipreader=t,this.filename=e}get isValid(){return!0}async doInitialFetch(t=!1){await this.zipreader.load(),this.length=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=fo(t)}return{response:new Response(e),abort:null}}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length||0}async getRange(t,e,r=!1,i=null){const{reader:n}=await this.zipreader.loadFile(this.filename,{offset:t,length:e,signal:i,unzip:!0});return r?fo(n):await n.readFully()}}class Bo{waczname;hash;path;crawlId;parent;fileType;indexType;entries;nonSurt;loader;zipreader;constructor({waczname:t,hash:e,path:r,parent:i=null,entries:n=null,fileType:s="wacz",indexType:o=0,nonSurt:a=!1,loader:c=null,crawlId:l}){this.waczname=t,this.hash=e,this.path=r,this.loader=c,this.parent=i,this.zipreader=null,this.entries=n,this.indexType=o,this.fileType=s,this.nonSurt=a,this.crawlId=l}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){if(t&&(this.path=t),this.loader)return await this.initFromLoader(this.loader);if(!this.parent)throw new Error("must have either loader or parent");const e=await this.parent.createLoader({url:this.path});return await this.initFromLoader(e)}async initFromLoader(t){return this.zipreader=new No(t,this.entries),this.entries||(this.entries=await this.zipreader.load()||{}),this.entries}async loadFile(t,e){return this.zipreader||await this.init(),await this.zipreader.loadFile(t,e)}containsFile(t){return this.entries&&!!this.entries[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,crawlId:this.crawlId,entries:this.entries,indexType:this.indexType,nonSurt:this.nonSurt}}async save(t,e=!1){const r=this.zipreader;(e||r&&r.entriesUpdated)&&(await t.put("waczfiles",this.serialize()),r&&(r.entriesUpdated=!1))}iterContainedFiles(){return this.entries?Object.keys(this.entries):[]}getLoadPath(t){return this.waczname+"#!/"+t}getName(t){return this.waczname+"#!/"+t}async createLoader(t){const{url:e}=t,r=e.lastIndexOf("#!/");if(this.zipreader||await this.init(),r>=0)return new Oo(this.zipreader,e.slice(r+3));throw new Error("invalid wacz url: "+e)}}
46
- /*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Po(t){return null==t}var Do={isNothing:Po,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:Po(t)?[]:[t]},repeat:function(t,e){var r,i="";for(r=0;r<e;r+=1)i+=t;return i},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var r,i,n,s;if(e)for(r=0,i=(s=Object.keys(e)).length;r<i;r+=1)t[n=s[r]]=e[n];return t}};function Lo(t,e){var r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function Uo(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Lo(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}Uo.prototype=Object.create(Error.prototype),Uo.prototype.constructor=Uo,Uo.prototype.toString=function(t){return this.name+": "+Lo(this,t)};var Mo=Uo;function Fo(t,e,r,i,n){var s="",o="",a=Math.floor(n/2)-1;return i-e>a&&(e=i-a+(s=" ... ").length),r-i>a&&(r=i+a-(o=" ...").length),{str:s+t.slice(e,r).replace(/\t/g,"→")+o,pos:i-e+s.length}}function Ho(t,e){return Do.repeat(" ",e-t.length)+t}var Wo=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,i=/\r?\n|\r|\0/g,n=[0],s=[],o=-1;r=i.exec(t.buffer);)s.push(r.index),n.push(r.index+r[0].length),t.position<=r.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var a,c,l="",h=Math.min(t.line+e.linesAfter,s.length).toString().length,u=e.maxLength-(e.indent+h+3);for(a=1;a<=e.linesBefore&&!(o-a<0);a++)c=Fo(t.buffer,n[o-a],s[o-a],t.position-(n[o]-n[o-a]),u),l=Do.repeat(" ",e.indent)+Ho((t.line-a+1).toString(),h)+" | "+c.str+"\n"+l;for(c=Fo(t.buffer,n[o],s[o],t.position,u),l+=Do.repeat(" ",e.indent)+Ho((t.line+1).toString(),h)+" | "+c.str+"\n",l+=Do.repeat("-",e.indent+h+3+c.pos)+"^\n",a=1;a<=e.linesAfter&&!(o+a>=s.length);a++)c=Fo(t.buffer,n[o+a],s[o+a],t.position-(n[o]-n[o+a]),u),l+=Do.repeat(" ",e.indent)+Ho((t.line+a+1).toString(),h)+" | "+c.str+"\n";return l.replace(/\n$/,"")},jo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Vo=["scalar","sequence","mapping"],Go=function(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===jo.indexOf(e))throw new Mo('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach((function(r){t[r].forEach((function(t){e[String(t)]=r}))})),e}(e.styleAliases||null),-1===Vo.indexOf(this.kind))throw new Mo('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function zo(t,e){var r=[];return t[e].forEach((function(t){var e=r.length;r.forEach((function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)})),r[e]=t})),r}function qo(t){return this.extend(t)}qo.prototype.extend=function(t){var e=[],r=[];if(t instanceof Go)r.push(t);else if(Array.isArray(t))r=r.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new Mo("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof Go))throw new Mo("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new Mo("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new Mo("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),r.forEach((function(t){if(!(t instanceof Go))throw new Mo("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(qo.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=zo(i,"implicit"),i.compiledExplicit=zo(i,"explicit"),i.compiledTypeMap=function(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(i);return r}(i.compiledImplicit,i.compiledExplicit),i};var Qo=qo,Ko=new Go("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),Yo=new Go("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),Jo=new Go("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}}),Xo=new Qo({explicit:[Ko,Yo,Jo]}),Zo=new Go("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),$o=new Go("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function ta(t){return 48<=t&&t<=55}function ea(t){return 48<=t&&t<=57}var ra=new Go("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=t.length,n=0,s=!1;if(!i)return!1;if("-"!==(e=t[n])&&"+"!==e||(e=t[++n]),"0"===e){if(n+1===i)return!0;if("b"===(e=t[++n])){for(n++;n<i;n++)if("_"!==(e=t[n])){if("0"!==e&&"1"!==e)return!1;s=!0}return s&&"_"!==e}if("x"===e){for(n++;n<i;n++)if("_"!==(e=t[n])){if(!(48<=(r=t.charCodeAt(n))&&r<=57||65<=r&&r<=70||97<=r&&r<=102))return!1;s=!0}return s&&"_"!==e}if("o"===e){for(n++;n<i;n++)if("_"!==(e=t[n])){if(!ta(t.charCodeAt(n)))return!1;s=!0}return s&&"_"!==e}}if("_"===e)return!1;for(;n<i;n++)if("_"!==(e=t[n])){if(!ea(t.charCodeAt(n)))return!1;s=!0}return!(!s||"_"===e)},construct:function(t){var e,r=t,i=1;if(-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(e=r[0])&&"+"!==e||("-"===e&&(i=-1),e=(r=r.slice(1))[0]),"0"===r)return 0;if("0"===e){if("b"===r[1])return i*parseInt(r.slice(2),2);if("x"===r[1])return i*parseInt(r.slice(2),16);if("o"===r[1])return i*parseInt(r.slice(2),8)}return i*parseInt(r,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!Do.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),ia=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),na=/^[-+]?[0-9]+e/,sa=new Go("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!ia.test(t)||"_"===t[t.length-1])},construct:function(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Do.isNegativeZero(t))},represent:function(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Do.isNegativeZero(t))return"-0.0";return r=t.toString(10),na.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),oa=Xo.extend({implicit:[Zo,$o,ra,sa]}),aa=oa,ca=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),la=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),ha=new Go("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==ca.exec(t)||null!==la.exec(t))},construct:function(t){var e,r,i,n,s,o,a,c,l=0,h=null;if(null===(e=ca.exec(t))&&(e=la.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(r,i,n,s,o,a,l)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}}),ua=new Go("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),pa="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",da=new Go("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=0,n=t.length,s=pa;for(r=0;r<n;r++)if(!((e=s.indexOf(t.charAt(r)))>64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=pa,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(i.charAt(e));return 0==(r=n%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===r?(a.push(o>>10&255),a.push(o>>2&255)):12===r&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,r,i="",n=0,s=t.length,o=pa;for(e=0;e<s;e++)e%3==0&&e&&(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]),n=(n<<8)+t[e];return 0==(r=s%3)?(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]):2===r?(i+=o[n>>10&63],i+=o[n>>4&63],i+=o[n<<2&63],i+=o[64]):1===r&&(i+=o[n>>2&63],i+=o[n<<4&63],i+=o[64],i+=o[64]),i}}),fa=Object.prototype.hasOwnProperty,ga=Object.prototype.toString,ya=new Go("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=[],a=t;for(e=0,r=a.length;e<r;e+=1){if(i=a[e],s=!1,"[object Object]"!==ga.call(i))return!1;for(n in i)if(fa.call(i,n)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==o.indexOf(n))return!1;o.push(n)}return!0},construct:function(t){return null!==t?t:[]}}),ma=Object.prototype.toString,wa=new Go("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(i=o[e],"[object Object]"!==ma.call(i))return!1;if(1!==(n=Object.keys(i)).length)return!1;s[e]=[n[0],i[n[0]]]}return!0},construct:function(t){if(null===t)return[];var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}}),ba=Object.prototype.hasOwnProperty,Aa=new Go("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,r=t;for(e in r)if(ba.call(r,e)&&null!==r[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),va=aa.extend({implicit:[ha,ua],explicit:[da,ya,wa,Aa]}),_a=Object.prototype.hasOwnProperty,Ea=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Sa=/[\x85\u2028\u2029]/,xa=/[,\[\]\{\}]/,Ta=/^(?:!|!!|![a-z\-]+!)$/i,Ca=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Ia(t){return Object.prototype.toString.call(t)}function Ra(t){return 10===t||13===t}function ka(t){return 9===t||32===t}function Na(t){return 9===t||32===t||10===t||13===t}function Oa(t){return 44===t||91===t||93===t||123===t||125===t}function Ba(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function Pa(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function Da(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var La=new Array(256),Ua=new Array(256),Ma=0;Ma<256;Ma++)La[Ma]=Pa(Ma)?1:0,Ua[Ma]=Pa(Ma);function Fa(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||va,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Ha(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=Wo(r),new Mo(e,r)}function Wa(t,e){throw Ha(t,e)}function ja(t,e){t.onWarning&&t.onWarning.call(null,Ha(t,e))}var Va={YAML:function(t,e,r){var i,n,s;null!==t.version&&Wa(t,"duplication of %YAML directive"),1!==r.length&&Wa(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&Wa(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),s=parseInt(i[2],10),1!==n&&Wa(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&ja(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var i,n;2!==r.length&&Wa(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],Ta.test(i)||Wa(t,"ill-formed tag handle (first argument) of the TAG directive"),_a.call(t.tagMap,i)&&Wa(t,'there is a previously declared suffix for "'+i+'" tag handle'),Ca.test(n)||Wa(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){Wa(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n}};function Ga(t,e,r,i){var n,s,o,a;if(e<r){if(a=t.input.slice(e,r),i)for(n=0,s=a.length;n<s;n+=1)9===(o=a.charCodeAt(n))||32<=o&&o<=1114111||Wa(t,"expected valid JSON character");else Ea.test(a)&&Wa(t,"the stream contains non-printable characters");t.result+=a}}function za(t,e,r,i){var n,s,o,a;for(Do.isObject(r)||Wa(t,"cannot merge mappings; the provided source object is unacceptable"),o=0,a=(n=Object.keys(r)).length;o<a;o+=1)s=n[o],_a.call(e,s)||(e[s]=r[s],i[s]=!0)}function qa(t,e,r,i,n,s,o,a,c){var l,h;if(Array.isArray(n))for(l=0,h=(n=Array.prototype.slice.call(n)).length;l<h;l+=1)Array.isArray(n[l])&&Wa(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===Ia(n[l])&&(n[l]="[object Object]");if("object"==typeof n&&"[object Object]"===Ia(n)&&(n="[object Object]"),n=String(n),null===e&&(e={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(s))for(l=0,h=s.length;l<h;l+=1)za(t,e,s[l],r);else za(t,e,s,r);else t.json||_a.call(r,n)||!_a.call(e,n)||(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,Wa(t,"duplicated mapping key")),"__proto__"===n?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:s}):e[n]=s,delete r[n];return e}function Qa(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):Wa(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Ka(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);0!==n;){for(;ka(n);)9===n&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&35===n)do{n=t.input.charCodeAt(++t.position)}while(10!==n&&13!==n&&0!==n);if(!Ra(n))break;for(Qa(t),n=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position)}return-1!==r&&0!==i&&t.lineIndent<r&&ja(t,"deficient indentation"),i}function Ya(t){var e,r=t.position;return!(45!==(e=t.input.charCodeAt(r))&&46!==e||e!==t.input.charCodeAt(r+1)||e!==t.input.charCodeAt(r+2)||(r+=3,0!==(e=t.input.charCodeAt(r))&&!Na(e)))}function Ja(t,e){1===e?t.result+=" ":e>1&&(t.result+=Do.repeat("\n",e-1))}function Xa(t,e){var r,i,n=t.tag,s=t.anchor,o=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),i=t.input.charCodeAt(t.position);0!==i&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Wa(t,"tab characters must not be used in indentation")),45===i)&&Na(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,Ka(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,tc(t,e,3,!1,!0),o.push(t.result),Ka(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)Wa(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!a&&(t.tag=n,t.anchor=s,t.kind="sequence",t.result=o,!0)}function Za(t){var e,r,i,n,s=!1,o=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&Wa(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(s=!0,n=t.input.charCodeAt(++t.position)):33===n?(o=!0,r="!!",n=t.input.charCodeAt(++t.position)):r="!",e=t.position,s){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&62!==n);t.position<t.length?(i=t.input.slice(e,t.position),n=t.input.charCodeAt(++t.position)):Wa(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!Na(n);)33===n&&(o?Wa(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),Ta.test(r)||Wa(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),n=t.input.charCodeAt(++t.position);i=t.input.slice(e,t.position),xa.test(i)&&Wa(t,"tag suffix cannot contain flow indicator characters")}i&&!Ca.test(i)&&Wa(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){Wa(t,"tag name is malformed: "+i)}return s?t.tag=i:_a.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:Wa(t,'undeclared tag handle "'+r+'"'),!0}function $a(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&Wa(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!Na(r)&&!Oa(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Wa(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function tc(t,e,r,i,n){var s,o,a,c,l,h,u,p,d,f=1,g=!1,y=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=o=a=4===r||3===r,i&&Ka(t,!0,-1)&&(g=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;Za(t)||$a(t);)Ka(t,!0,-1)?(g=!0,a=s,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)):a=!1;if(a&&(a=g||n),1!==f&&4!==r||(p=1===r||2===r?e:e+1,d=t.position-t.lineStart,1===f?a&&(Xa(t,d)||function(t,e,r){var i,n,s,o,a,c,l,h=t.tag,u=t.anchor,p={},d=Object.create(null),f=null,g=null,y=null,m=!1,w=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=p),l=t.input.charCodeAt(t.position);0!==l;){if(m||-1===t.firstTabInLine||(t.position=t.firstTabInLine,Wa(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),s=t.line,63!==l&&58!==l||!Na(i)){if(o=t.line,a=t.lineStart,c=t.position,!tc(t,r,2,!1,!0))break;if(t.line===s){for(l=t.input.charCodeAt(t.position);ka(l);)l=t.input.charCodeAt(++t.position);if(58===l)Na(l=t.input.charCodeAt(++t.position))||Wa(t,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(qa(t,p,d,f,g,null,o,a,c),f=g=y=null),w=!0,m=!1,n=!1,f=t.tag,g=t.result;else{if(!w)return t.tag=h,t.anchor=u,!0;Wa(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!w)return t.tag=h,t.anchor=u,!0;Wa(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(m&&(qa(t,p,d,f,g,null,o,a,c),f=g=y=null),w=!0,m=!0,n=!0):m?(m=!1,n=!0):Wa(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,l=i;if((t.line===s||t.lineIndent>e)&&(m&&(o=t.line,a=t.lineStart,c=t.position),tc(t,e,4,!0,n)&&(m?g=t.result:y=t.result),m||(qa(t,p,d,f,g,y,o,a,c),f=g=y=null),Ka(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==l)Wa(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return m&&qa(t,p,d,f,g,null,o,a,c),w&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=p),w}(t,d,p))||function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f=!0,g=t.tag,y=t.anchor,m=Object.create(null);if(91===(d=t.input.charCodeAt(t.position)))o=93,l=!1,s=[];else{if(123!==d)return!1;o=125,l=!0,s={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),d=t.input.charCodeAt(++t.position);0!==d;){if(Ka(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=y,t.kind=l?"mapping":"sequence",t.result=s,!0;f?44===d&&Wa(t,"expected the node content, but found ','"):Wa(t,"missed comma between flow collection entries"),p=null,a=c=!1,63===d&&Na(t.input.charCodeAt(t.position+1))&&(a=c=!0,t.position++,Ka(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,tc(t,e,1,!1,!0),u=t.tag,h=t.result,Ka(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==r||58!==d||(a=!0,d=t.input.charCodeAt(++t.position),Ka(t,!0,e),tc(t,e,1,!1,!0),p=t.result),l?qa(t,s,m,u,h,p,r,i,n):a?s.push(qa(t,null,m,u,h,p,r,i,n)):s.push(h),Ka(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(f=!0,d=t.input.charCodeAt(++t.position)):f=!1}Wa(t,"unexpected end of the stream within a flow collection")}(t,p)?y=!0:(o&&function(t,e){var r,i,n,s,o,a=1,c=!1,l=!1,h=e,u=0,p=!1;if(124===(s=t.input.charCodeAt(t.position)))i=!1;else{if(62!==s)return!1;i=!0}for(t.kind="scalar",t.result="";0!==s;)if(43===(s=t.input.charCodeAt(++t.position))||45===s)1===a?a=43===s?3:2:Wa(t,"repeat of a chomping mode identifier");else{if(!((n=48<=(o=s)&&o<=57?o-48:-1)>=0))break;0===n?Wa(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?Wa(t,"repeat of an indentation width identifier"):(h=e+n-1,l=!0)}if(ka(s)){do{s=t.input.charCodeAt(++t.position)}while(ka(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!Ra(s)&&0!==s)}for(;0!==s;){for(Qa(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!l||t.lineIndent<h)&&32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>h&&(h=t.lineIndent),Ra(s))u++;else{if(t.lineIndent<h){3===a?t.result+=Do.repeat("\n",c?1+u:u):1===a&&c&&(t.result+="\n");break}for(i?ka(s)?(p=!0,t.result+=Do.repeat("\n",c?1+u:u)):p?(p=!1,t.result+=Do.repeat("\n",u+1)):0===u?c&&(t.result+=" "):t.result+=Do.repeat("\n",u):t.result+=Do.repeat("\n",c?1+u:u),c=!0,l=!0,u=0,r=t.position;!Ra(s)&&0!==s;)s=t.input.charCodeAt(++t.position);Ga(t,r,t.position,!1)}}return!0}(t,p)||function(t,e){var r,i,n;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(Ga(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else Ra(r)?(Ga(t,i,n,!0),Ja(t,Ka(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Ya(t)?Wa(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);Wa(t,"unexpected end of the stream within a single quoted scalar")}(t,p)||function(t,e){var r,i,n,s,o,a,c;if(34!==(a=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(a=t.input.charCodeAt(t.position));){if(34===a)return Ga(t,r,t.position,!0),t.position++,!0;if(92===a){if(Ga(t,r,t.position,!0),Ra(a=t.input.charCodeAt(++t.position)))Ka(t,!1,e);else if(a<256&&La[a])t.result+=Ua[a],t.position++;else if((o=120===(c=a)?2:117===c?4:85===c?8:0)>0){for(n=o,s=0;n>0;n--)(o=Ba(a=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+o:Wa(t,"expected hexadecimal character");t.result+=Da(s),t.position++}else Wa(t,"unknown escape sequence");r=i=t.position}else Ra(a)?(Ga(t,r,i,!0),Ja(t,Ka(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Ya(t)?Wa(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}Wa(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?y=!0:function(t){var e,r,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!Na(i)&&!Oa(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&Wa(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),_a.call(t.anchorMap,r)||Wa(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Ka(t,!0,-1),!0}(t)?(y=!0,null===t.tag&&null===t.anchor||Wa(t,"alias node should not have any properties")):function(t,e,r){var i,n,s,o,a,c,l,h,u=t.kind,p=t.result;if(Na(h=t.input.charCodeAt(t.position))||Oa(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(Na(i=t.input.charCodeAt(t.position+1))||r&&Oa(i)))return!1;for(t.kind="scalar",t.result="",n=s=t.position,o=!1;0!==h;){if(58===h){if(Na(i=t.input.charCodeAt(t.position+1))||r&&Oa(i))break}else if(35===h){if(Na(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&Ya(t)||r&&Oa(h))break;if(Ra(h)){if(a=t.line,c=t.lineStart,l=t.lineIndent,Ka(t,!1,-1),t.lineIndent>=e){o=!0,h=t.input.charCodeAt(t.position);continue}t.position=s,t.line=a,t.lineStart=c,t.lineIndent=l;break}}o&&(Ga(t,n,s,!1),Ja(t,t.line-a),n=s=t.position,o=!1),ka(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return Ga(t,n,s,!1),!!t.result||(t.kind=u,t.result=p,!1)}(t,p,1===r)&&(y=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(y=a&&Xa(t,d))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Wa(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),c=0,l=t.implicitTypes.length;c<l;c+=1)if((u=t.implicitTypes[c]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(_a.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,c=0,l=(h=t.typeMap.multi[t.kind||"fallback"]).length;c<l;c+=1)if(t.tag.slice(0,h[c].tag.length)===h[c].tag){u=h[c];break}u||Wa(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&Wa(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Wa(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||y}function ec(t){var e,r,i,n,s=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&(Ka(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==n));){for(o=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!Na(n);)n=t.input.charCodeAt(++t.position);for(i=[],(r=t.input.slice(e,t.position)).length<1&&Wa(t,"directive name must not be less than one character in length");0!==n;){for(;ka(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!Ra(n));break}if(Ra(n))break;for(e=t.position;0!==n&&!Na(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&Qa(t),_a.call(Va,r)?Va[r](t,r,i):ja(t,'unknown document directive "'+r+'"')}Ka(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Ka(t,!0,-1)):o&&Wa(t,"directives end mark is expected"),tc(t,t.lineIndent-1,4,!1,!0),Ka(t,!0,-1),t.checkLineBreaks&&Sa.test(t.input.slice(s,t.position))&&ja(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Ya(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Ka(t,!0,-1)):t.position<t.length-1&&Wa(t,"end of the stream or a document separator is expected")}function rc(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var r=new Fa(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,Wa(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ec(r);return r.documents}var ic={loadAll:function(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=rc(t,r);if("function"!=typeof e)return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])},load:function(t,e){var r=rc(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new Mo("expected a single document in the stream, but found more")}}},nc=Object.prototype.toString,sc=Object.prototype.hasOwnProperty,oc=65279,ac={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},cc=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],lc=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function hc(t){var e,r,i;if(e=t.toString(16).toUpperCase(),t<=255)r="x",i=2;else if(t<=65535)r="u",i=4;else{if(!(t<=4294967295))throw new Mo("code point within a string may not be greater than 0xFFFFFFFF");r="U",i=8}return"\\"+r+Do.repeat("0",i-e.length)+e}function uc(t){this.schema=t.schema||va,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=Do.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var r,i,n,s,o,a,c;if(null===e)return{};for(r={},n=0,s=(i=Object.keys(e)).length;n<s;n+=1)o=i[n],a=String(e[o]),"!!"===o.slice(0,2)&&(o="tag:yaml.org,2002:"+o.slice(2)),(c=t.compiledTypeMap.fallback[o])&&sc.call(c.styleAliases,a)&&(a=c.styleAliases[a]),r[o]=a;return r}(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType='"'===t.quotingType?2:1,this.forceQuotes=t.forceQuotes||!1,this.replacer="function"==typeof t.replacer?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function pc(t,e){for(var r,i=Do.repeat(" ",e),n=0,s=-1,o="",a=t.length;n<a;)-1===(s=t.indexOf("\n",n))?(r=t.slice(n),n=a):(r=t.slice(n,s+1),n=s+1),r.length&&"\n"!==r&&(o+=i),o+=r;return o}function dc(t,e){return"\n"+Do.repeat(" ",t.indent*e)}function fc(t){return 32===t||9===t}function gc(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==oc||65536<=t&&t<=1114111}function yc(t){return gc(t)&&t!==oc&&13!==t&&10!==t}function mc(t,e,r){var i=yc(t),n=i&&!fc(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||yc(e)&&!fc(e)&&35===t||58===e&&n}function wc(t,e){var r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?1024*(i-55296)+r-56320+65536:i}function bc(t){return/^\n* /.test(t)}function Ac(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==cc.indexOf(e)||lc.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var s=t.indent*Math.max(1,r),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-s),a=i||t.flowLevel>-1&&r>=t.flowLevel;switch(function(t,e,r,i,n,s,o,a){var c,l,h=0,u=null,p=!1,d=!1,f=-1!==i,g=-1,y=gc(l=wc(t,0))&&l!==oc&&!fc(l)&&45!==l&&63!==l&&58!==l&&44!==l&&91!==l&&93!==l&&123!==l&&125!==l&&35!==l&&38!==l&&42!==l&&33!==l&&124!==l&&61!==l&&62!==l&&39!==l&&34!==l&&37!==l&&64!==l&&96!==l&&function(t){return!fc(t)&&58!==t}(wc(t,t.length-1));if(e||o)for(c=0;c<t.length;h>=65536?c+=2:c++){if(!gc(h=wc(t,c)))return 5;y=y&&mc(h,u,a),u=h}else{for(c=0;c<t.length;h>=65536?c+=2:c++){if(10===(h=wc(t,c)))p=!0,f&&(d=d||c-g-1>i&&" "!==t[g+1],g=c);else if(!gc(h))return 5;y=y&&mc(h,u,a),u=h}d=d||f&&c-g-1>i&&" "!==t[g+1]}return p||d?r>9&&bc(t)?5:o?2===s?5:2:d?4:3:!y||o||n(t)?2===s?5:2:1}(e,a,t.indent,o,(function(e){return function(t,e){var r,i;for(r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}(t,e)}),t.quotingType,t.forceQuotes&&!i,n)){case 1:return e;case 2:return"'"+e.replace(/'/g,"''")+"'";case 3:return"|"+vc(e,t.indent)+_c(pc(e,s));case 4:return">"+vc(e,t.indent)+_c(pc(function(t,e){for(var r,i,n,s=/(\n+)([^\n]*)/g,o=(n=-1!==(n=t.indexOf("\n"))?n:t.length,s.lastIndex=n,Ec(t.slice(0,n),e)),a="\n"===t[0]||" "===t[0];i=s.exec(t);){var c=i[1],l=i[2];r=" "===l[0],o+=c+(a||r||""===l?"":"\n")+Ec(l,e),a=r}return o}(e,o),s));case 5:return'"'+function(t){for(var e,r="",i=0,n=0;n<t.length;i>=65536?n+=2:n++)i=wc(t,n),!(e=ac[i])&&gc(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||hc(i);return r}(e)+'"';default:throw new Mo("impossible error: invalid scalar style")}}()}function vc(t,e){var r=bc(t)?String(e):"",i="\n"===t[t.length-1];return r+(!i||"\n"!==t[t.length-2]&&"\n"!==t?i?"":"-":"+")+"\n"}function _c(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Ec(t,e){if(""===t||" "===t[0])return t;for(var r,i,n=/ [^ ]/g,s=0,o=0,a=0,c="";r=n.exec(t);)(a=r.index)-s>e&&(i=o>s?o:a,c+="\n"+t.slice(s,i),s=i+1),o=a;return c+="\n",t.length-s>e&&o>s?c+=t.slice(s,o)+"\n"+t.slice(o+1):c+=t.slice(s),c.slice(1)}function Sc(t,e,r,i){var n,s,o,a="",c=t.tag;for(n=0,s=r.length;n<s;n+=1)o=r[n],t.replacer&&(o=t.replacer.call(r,String(n),o)),(Tc(t,e+1,o,!0,!0,!1,!0)||void 0===o&&Tc(t,e+1,null,!0,!0,!1,!0))&&(i&&""===a||(a+=dc(t,e)),t.dump&&10===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=c,t.dump=a||"[]"}function xc(t,e,r){var i,n,s,o,a,c;for(s=0,o=(n=r?t.explicitTypes:t.implicitTypes).length;s<o;s+=1)if(((a=n[s]).instanceOf||a.predicate)&&(!a.instanceOf||"object"==typeof e&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r?a.multi&&a.representName?t.tag=a.representName(e):t.tag=a.tag:t.tag="?",a.represent){if(c=t.styleMap[a.tag]||a.defaultStyle,"[object Function]"===nc.call(a.represent))i=a.represent(e,c);else{if(!sc.call(a.represent,c))throw new Mo("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');i=a.represent[c](e,c)}t.dump=i}return!0}return!1}function Tc(t,e,r,i,n,s,o){t.tag=null,t.dump=r,xc(t,r,!1)||xc(t,r,!0);var a,c=nc.call(t.dump),l=i;i&&(i=t.flowLevel<0||t.flowLevel>e);var h,u,p="[object Object]"===c||"[object Array]"===c;if(p&&(u=-1!==(h=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(n=!1),u&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(p&&u&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===c)i&&0!==Object.keys(t.dump).length?(function(t,e,r,i){var n,s,o,a,c,l,h="",u=t.tag,p=Object.keys(r);if(!0===t.sortKeys)p.sort();else if("function"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new Mo("sortKeys must be a boolean or a function");for(n=0,s=p.length;n<s;n+=1)l="",i&&""===h||(l+=dc(t,e)),a=r[o=p[n]],t.replacer&&(a=t.replacer.call(r,o,a)),Tc(t,e+1,o,!0,!0,!0)&&((c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&10===t.dump.charCodeAt(0)?l+="?":l+="? "),l+=t.dump,c&&(l+=dc(t,e)),Tc(t,e+1,a,!0,c)&&(t.dump&&10===t.dump.charCodeAt(0)?l+=":":l+=": ",h+=l+=t.dump));t.tag=u,t.dump=h||"{}"}(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(function(t,e,r){var i,n,s,o,a,c="",l=t.tag,h=Object.keys(r);for(i=0,n=h.length;i<n;i+=1)a="",""!==c&&(a+=", "),t.condenseFlow&&(a+='"'),o=r[s=h[i]],t.replacer&&(o=t.replacer.call(r,s,o)),Tc(t,e,s,!1,!1)&&(t.dump.length>1024&&(a+="? "),a+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Tc(t,e,o,!1,!1)&&(c+=a+=t.dump));t.tag=l,t.dump="{"+c+"}"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===c)i&&0!==t.dump.length?(t.noArrayIndent&&!o&&e>0?Sc(t,e-1,t.dump,n):Sc(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(function(t,e,r){var i,n,s,o="",a=t.tag;for(i=0,n=r.length;i<n;i+=1)s=r[i],t.replacer&&(s=t.replacer.call(r,String(i),s)),(Tc(t,e,s,!1,!1)||void 0===s&&Tc(t,e,null,!1,!1))&&(""!==o&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(t.skipInvalid)return!1;throw new Mo("unacceptable kind of an object to dump "+c)}"?"!==t.tag&&Ac(t,t.dump,e,s,l)}null!==t.tag&&"?"!==t.tag&&(a=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),a="!"===t.tag[0]?"!"+a:"tag:yaml.org,2002:"===a.slice(0,18)?"!!"+a.slice(18):"!<"+a+">",t.dump=a+" "+t.dump)}return!0}function Cc(t,e){var r,i,n=[],s=[];for(Ic(t,n,s),r=0,i=s.length;r<i;r+=1)e.duplicates.push(n[s[r]]);e.usedDuplicates=new Array(i)}function Ic(t,e,r){var i,n,s;if(null!==t&&"object"==typeof t)if(-1!==(n=e.indexOf(t)))-1===r.indexOf(n)&&r.push(n);else if(e.push(t),Array.isArray(t))for(n=0,s=t.length;n<s;n+=1)Ic(t[n],e,r);else for(n=0,s=(i=Object.keys(t)).length;n<s;n+=1)Ic(t[i[n]],e,r)}function Rc(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}const kc={Type:Go,Schema:Qo,FAILSAFE_SCHEMA:Xo,JSON_SCHEMA:oa,CORE_SCHEMA:aa,DEFAULT_SCHEMA:va,load:ic.load,loadAll:ic.loadAll,dump:function(t,e){var r=new uc(e=e||{});r.noRefs||Cc(t,r);var i=t;return r.replacer&&(i=r.replacer.call({"":i},"",i)),Tc(r,0,i,!0,!0)?r.dump+"\n":""},YAMLException:Mo,types:{binary:da,float:sa,map:Jo,null:Zo,pairs:wa,set:Aa,timestamp:ha,bool:$o,int:ra,merge:ua,omap:ya,seq:Yo,str:Ko},safeLoad:Rc("safeLoad","load"),safeLoadAll:Rc("safeLoadAll","loadAll"),safeDump:Rc("safeDump","dump")};var Nc=r(9742),Oc=(r(8660),r(4585));function Bc(t,e){let r=0;if(1===t.length)return t[0];for(let i=t.length-1;i>=0;i--)r+=t[t.length-1-i]*Math.pow(2,e*i);return r}function Pc(t,e,r=-1){const i=r;let n=t,s=0,o=Math.pow(2,e);for(let r=1;r<8;r++){if(t<o){let t;if(i<0)t=new ArrayBuffer(r),s=r;else{if(i<r)return new ArrayBuffer(0);t=new ArrayBuffer(i),s=i}const o=new Uint8Array(t);for(let t=r-1;t>=0;t--){const r=Math.pow(2,t*e);o[s-t-1]=Math.floor(n/r),n-=o[s-t-1]*r}return t}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function Dc(...t){let e=0,r=0;for(const r of t)e+=r.length;const i=new ArrayBuffer(e),n=new Uint8Array(i);for(const e of t)n.set(e,r),r+=e.length;return n}function Lc(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],r=0===t[0]&&!(128&t[1]);(e||r)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),r=new Uint8Array(e);for(let t=0;t<this.valueHex.byteLength;t++)r[t]=0;r[0]=128&t[0];const i=Bc(r,8),n=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(n);for(let e=0;e<this.valueHex.byteLength;e++)s[e]=t[e];return s[0]&=127,Bc(s,8)-i}function Uc(t,e){const r=t.toString(10);if(e<r.length)return"";const i=e-r.length,n=new Array(i);for(let t=0;t<i;t++)n[t]="0";return n.join("").concat(r)}
45
+ ***************************************************************************** */function H(t,e,r,i){return new(r||(r=Promise))((function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))}class W{constructor(){this.mutex=Promise.resolve()}lock(){let t=()=>{};return this.mutex=this.mutex.then((()=>new Promise(t))),new Promise((e=>{t=e}))}dispatch(t){return H(this,void 0,void 0,(function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}}))}}const j="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,V=null!==(P=j.Buffer)&&void 0!==P?P:null,G=j.TextEncoder?new j.TextEncoder:null;function z(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}const q="a".charCodeAt(0)-10,Q="0".charCodeAt(0);function K(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+q:r+Q,r=15&e[n],t[i++]=r>9?r+q:r+Q}return String.fromCharCode.apply(null,t)}const Y=null!==V?t=>{if("string"==typeof t){const e=V.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(V.isBuffer(t))return new Uint8Array(t.buffer,t.byteOffset,t.length);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")}:t=>{if("string"==typeof t)return G.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},J="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",X=new Uint8Array(256);for(let t=0;t<64;t++)X[J.charCodeAt(t)]=t;function Z(t){const e=function(t){let e=Math.floor(.75*t.length);const r=t.length;return"="===t[r-1]&&(e-=1,"="===t[r-2]&&(e-=1)),e}(t),r=t.length,i=new Uint8Array(e);let n=0;for(let e=0;e<r;e+=4){const r=X[t.charCodeAt(e)],s=X[t.charCodeAt(e+1)],o=X[t.charCodeAt(e+2)],a=X[t.charCodeAt(e+3)];i[n]=r<<2|s>>4,n+=1,i[n]=(15&s)<<4|o>>2,n+=1,i[n]=(3&o)<<6|63&a,n+=1}return i}const $=16384,tt=new W,et=new Map;function rt(t,e){return H(this,void 0,void 0,(function*(){let r=null,i=null,n=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const s=()=>new DataView(r.exports.memory.buffer).getUint32(r.exports.STATE_SIZE,!0),o=tt.dispatch((()=>H(this,void 0,void 0,(function*(){if(!et.has(t.name)){const e=Z(t.data),r=WebAssembly.compile(e);et.set(t.name,r)}const e=yield et.get(t.name);r=yield WebAssembly.instantiate(e,{})})))),a=(t=null)=>{n=!0,r.exports.Hash_Init(t)},c=t=>{if(!n)throw new Error("update() called before init()");(t=>{let e=0;for(;e<t.length;){const n=t.subarray(e,e+$);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(Y(t))},l=new Uint8Array(2*e),h=(t,s=null)=>{if(!n)throw new Error("digest() called before init()");return n=!1,r.exports.Hash_Final(s),"binary"===t?i.slice(0,e):K(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<$;let p=u;switch(t.name){case"argon2":case"scrypt":p=()=>!0;break;case"blake2b":case"blake2s":p=(t,e)=>e<=512&&u(t);break;case"blake3":p=(t,e)=>0===e&&u(t);break;case"xxhash64":case"xxhash3":case"xxhash128":p=()=>!1}return yield(()=>H(this,void 0,void 0,(function*(){r||(yield o);const t=r.exports.Hash_GetBuffer(),e=r.exports.memory.buffer;i=new Uint8Array(e,t,$)})))(),{getMemory:()=>i,writeMemory:(t,e=0)=>{i.set(t,e)},getExports:()=>r.exports,setMemorySize:t=>{r.exports.Hash_SetMemorySize(t);const e=r.exports.Hash_GetBuffer(),n=r.exports.memory.buffer;i=new Uint8Array(n,e,t)},init:a,update:c,digest:h,save:()=>{if(!n)throw new Error("save() can only be called after init() and before digest()");const e=r.exports.Hash_GetState(),i=s(),o=r.exports.memory.buffer,a=new Uint8Array(o,e,i),c=new Uint8Array(4+i);return function(t,e){const r=e.length>>1;for(let i=0;i<r;i++){const r=i<<1;t[i]=z(e.charCodeAt(r),e.charCodeAt(r+1))}}(c,t.hash),c.set(a,4),c},load:e=>{if(!(e instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const i=r.exports.Hash_GetState(),o=s(),a=4+o,c=r.exports.memory.buffer;if(e.length!==a)throw new Error(`Bad state length (expected ${a} bytes, got ${e.length})`);if(!function(t,e){if(t.length!==2*e.length)return!1;for(let r=0;r<e.length;r++){const i=r<<1;if(e[r]!==z(t.charCodeAt(i),t.charCodeAt(i+1)))return!1}return!0}(t.hash,e.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const l=e.subarray(4);new Uint8Array(c,i,o).set(l),n=!0},calculate:(t,n=null,s=null)=>{if(!p(t,n))return a(n),c(t),h("hex",s);const o=Y(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),K(l,i,e)},hashLength:e}}))}new W,new W,new DataView(new ArrayBuffer(4)),new W,new W,new W,new W,new W,new W,new W,new W,new W;var it={name:"sha256",data:"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",hash:"817d957e"};function nt(t){let e;e="string"==typeof t?t:t?.length?t.reduce(((t,e)=>t+String.fromCharCode(e)),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function st(t){try{if(!t.startsWith("https:")&&!t.startsWith("http:"))return t;let e=(t=t.replace(/^(https?:\/\/)www\d*\./,"$1")).toLowerCase(),r=new URL(e),i=r.hostname.split(".").reverse().join(",");if(r.port&&(i+=":"+r.port),i+=")",i+=r.pathname,r.search){let t=r.search.slice(1).split("&");t.sort(),i+="?"+t.join("&")}return i}catch{return t}}function ot(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let n=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function s(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let o="";switch(n.split(";")[0]){case"application/x-www-form-urlencoded":o=s(i);break;case"application/json":o=lt(s(i));break;case"text/plain":try{o=lt(s(i),!1)}catch{o=nt(i)}break;case"multipart/form-data":if(!n)throw new Error("utils cannot call postToGetURL when missing content-type header");o=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],n=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of n){let e=t.trim().match(/name="([^"]+)"\r\n\r\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(s(i),n);break;default:o=nt(i)}return null!=o&&(t.url=at(t.url,decodeURI(o),t.method),t.method="GET",t.requestBody=o,!0)}function at(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function ct(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},n=(t,e="")=>{let s="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)n(t[r],e)}else try{for(let[e,r]of Object.entries(t))n(r,e)}catch{null===t&&(s="null")}["string","number","boolean"].includes(typeof t)&&(s=t.toString()),s&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),s)};try{n(t)}catch(t){if(!e)throw t}return r}function lt(t="",e=!0){return ct(t,e).toString()}function ht(t,e){if(1===t.length)return t[0];let r=new Uint8Array(e),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}function ut(t,e){return[t.slice(0,e),t.slice(e)]}function pt(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return(new TextDecoder).decode(e)}new W,new W,new W,new W,new W,new W,new ArrayBuffer(8),new W,new ArrayBuffer(8),new W,new ArrayBuffer(8),new W,new W,new W;var dt=["set-cookie","warc-concurrent-to","warc-protocol"],ft=",,,",gt=class extends Map{constructor(t){if(t instanceof Array){super();for(let e of t)if(e instanceof Array){let t=e[0],r=e[1];this.append(t,r)}}else super(t?Object.entries(t):void 0)}getMultiple(t){let e=super.get(t);if(e)return dt.includes(t.toLowerCase())?e.split(ft):[e]}append(t,e){if(dt.includes(t.toLowerCase())){let r=this.get(t);this.set(t,void 0!==r?r+ft+e:e)}else this.set(t,e)}*[Symbol.iterator](){for(let[t,e]of super[Symbol.iterator]())if(dt.includes(t.toLowerCase()))for(let r of e.split(ft))yield[t,r];else yield[t,e]}},yt=new TextDecoder("utf-8"),mt=class extends U.Inflate{constructor(t,e){super(t),this.ended=!1,this.chunks=[],this.reader=e}onEnd(t){this.err=t,this.err||(this.reader._rawOffset+=this.strm.total_in)}},wt=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return ht(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull:async e=>t.next().then((t=>{t.done||!t.value?e.close():e.enqueue(t.value)}))})}async readFully(){return await t.readFully(this)}async readline(t=0){let e=await this.readlineRaw(t);return e?yt.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}},bt=class t extends wt{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new mt(this.opts,this):null,function(t){return!(!t||!(Symbol.asyncIterator in Object(t)))}(e))n=e;else if("object"==typeof e&&"read"in e&&"function"==typeof e.read)n=t.fromReadable(e);else if(e instanceof ReadableStream)n=t.fromReadable(e.getReader());else{if(!function(t){return!(!t||!(Symbol.iterator in Object(t)))}(e))throw new TypeError("Invalid Stream Source");n=t.fromIter(e)}this._sourceIter=i?this.dechunk(n):n[Symbol.asyncIterator](),this.lastValue=null,this.errored=!1,this._savedChunk=null,this._rawOffset=0,this._readOffset=0,this.numChunks=0}async _loadNext(){let t=await this._sourceIter.next();return t.done?null:t.value}async*dechunk(e){let r=e instanceof t?e:new t(e,null),i=-1,n=!0;for(;0!=i;){let t=await r.readlineRaw(64),e=new Uint8Array;if(i=t?parseInt(yt.decode(t),16):0,!i||i>2**32){if(Number.isNaN(i)||i>2**32){n||(this.errored=!0),yield t;break}}else if(e=await r.readSize(i),e.length!=i){n?yield t:this.errored=!0,yield e;break}let s=await r.readSize(2);if(13!=s[0]||10!=s[1]){n?yield t:this.errored=!0,yield e,yield s;break}if(n=!1,!e||0===i)return;yield e}yield*r}unread(t){t.length&&(this._readOffset-=t.length,this._savedChunk&&console.log("Already have chunk!"),this._savedChunk=t)}async _next(){if(this._savedChunk){let t=this._savedChunk;return this._savedChunk=null,t}if(this.compressed){let t=this._getNextChunk();if(t)return t}let t=await this._loadNext();for(;this.compressed&&t;){this._push(t);let e=this._getNextChunk(t);if(e)return e;t=await this._loadNext()}return t}_push(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _push when this.compressed is null");this.lastValue=t,this.inflator.ended&&(this.inflator=new mt(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new mt(this.opts,this),this.inflator.push(t))}_getNextChunk(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _getNextChunk when this.compressed is null");for(;;){if(this.inflator.chunks.length>0)return this.numChunks++,this.inflator.chunks.shift();if(this.inflator.ended){if(0!==this.inflator.err)return this.compressed=null,t;let e=this.inflator.strm.avail_in;if(e&&this.lastValue){this._push(this.lastValue.slice(-e));continue}}return null}}async*[Symbol.asyncIterator](){let t=null;for(;t=await this._next();)this._readOffset+=t.length,yield t}async readlineRaw(t){let e=[],r=0,i=-1,n=null;for await(let s of this){if(t&&r+s.byteLength>t){n=s,i=t-r-1;let e=s.slice(0,i+1).indexOf(10);e>=0&&(i=e);break}if(i=s.indexOf(10),i>=0){n=s;break}e.push(s),r+=s.byteLength}if(n){let[t,s]=ut(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return ht(e,r)}async readFully(){return(await this._readOrSkip())[1]}async readSize(t){return(await this._readOrSkip(t))[1]}async skipSize(t){return(await this._readOrSkip(t,!0))[0]}async _readOrSkip(t=-1,e=!1){let r=[],i=0;for await(let n of this){if(t>=0){if(n.length>t){let[s,o]=ut(n,t);e||r.push(s),i+=s.byteLength,this.unread(o);break}if(n.length===t){e||r.push(n),i+=n.byteLength,t=0;break}t-=n.length}e||r.push(n),i+=n.byteLength}return e?[i,new Uint8Array]:[i,ht(r,i)]}getReadOffset(){return this._readOffset}getRawOffset(){return this.compressed?this._rawOffset:this._readOffset}getRawLength(t){return this.compressed?this.inflator.strm.total_in:this._readOffset-t}static fromReadable(t){return{async*[Symbol.asyncIterator](){let e=null;for(;(e=await t.read())&&!e.done;)yield e.value}}}static fromIter(t){return{async*[Symbol.asyncIterator](){for(let e of t)yield e}}}},At=class extends wt{constructor(t,e,r=0){super(),this.sourceIter=t,this.length=e,this.limit=e,this.skip=r}setLimitSkip(t,e=0){this.limit=t,this.skip=e}async*[Symbol.asyncIterator](){if(!(this.limit<=0))for await(let t of this.sourceIter){if(this.skip>0){if(!(t.length>=this.skip)){this.skip-=t.length;continue}{let[,e]=ut(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=ut(t,this.limit);t=e,this.sourceIter.unread&&this.sourceIter.unread(r)}if(t.length&&(this.limit-=t.length,yield t),this.limit<=0)break}}async readlineRaw(t){if(this.limit<=0)return null;let e=await this.sourceIter.readlineRaw(t?Math.min(t,this.limit):this.limit);return this.limit-=e?.length||0,e}async skipFully(){let t=this.limit;for(;this.limit>0;)this.limit-=await this.sourceIter.skipSize(this.limit);return t}},vt=new Uint8Array([13,10]),_t=(new Uint8Array([13,10,13,10]),new TextDecoder("utf-8")),Et=class{constructor({statusline:t,headers:e,reencodeHeaders:r}){this.statusline=t,this.headers=e,this.reencodeHeaders=r}toString(){let t=[this.statusline],e=this.headers instanceof Headers;for(let[r,i]of this.headers)e&&this.reencodeHeaders?.has(r)?t.push(`${r}: ${pt(i)}`):t.push(`${r}: ${i}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield vt;for(let[e,r]of this.headers)yield t.encode(`${e}: ${r}\r\n`)}_parseResponseStatusLine(){let t=function(t,e,r){let i=t.split(" "),n=i.slice(0,2);return i.slice(2).length>0&&n.push(i.slice(2).join(" ")),n}(this.statusline);this._protocol=t[0]??"",this._statusCode=t.length>1?Number(t[1]):"",this._statusText=t.length>2?t[2]:""}get statusCode(){return void 0===this._statusCode&&this._parseResponseStatusLine(),this._statusCode}get protocol(){return void 0===this._protocol&&this._parseResponseStatusLine(),this._protocol}get statusText(){return void 0===this._statusText&&this._parseResponseStatusLine(),this._statusText}_parseRequestStatusLine(){let t=this.statusline.split(" ",2);this._method=t[0]??"",this._requestPath=t.length>1?t[1]:""}get method(){return void 0===this._method&&this._parseRequestStatusLine(),this._method}get requestPath(){return void 0===this._requestPath&&this._parseRequestStatusLine(),this._requestPath}};async function St(t,e){let r=0;for(let i=0;i<t.length-4;i++){let i=t.indexOf(13,r);if(i<0)break;if(i+3>=t.length){let{value:r}=await e.next();if(!r)break;let i=new Uint8Array(r.length+t.length);i.set(t,0),i.set(r,t.length),t=i}if(10===t[i+1]&&13===t[i+2]&&10===t[i+3])return[i+3,t];r=i+1}return[-1,t]}var xt=new TextDecoder("utf-8"),Tt=new TextEncoder,Ct="WARC/1.0",It={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},Rt=class t extends wt{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this._urlkey="",this.warcHeaders=t,this._reader=e,this._contentReader=null,this.payload=null,this.httpHeaders=null,this.consumed="",this.fixUp()}static create({url:e,date:r,type:i,warcHeaders:n={},filename:s="",httpHeaders:o={},statusline:a="HTTP/1.1 200 OK",warcVersion:c=Ct,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===Ct&&"Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z"),t}r=d(r||(new Date).toISOString());let f=new gt(n);if("warcinfo"===i)s&&f.set("WARC-Filename",s);else if(e)try{f.set("WARC-Target-URI",new URL(e).href)}catch{f.set("WARC-Target-URI",e)}f.set("WARC-Date",r),i&&f.set("WARC-Type",i),"revisit"===i&&(f.set("WARC-Profile","WARC/1.1"===c?"http://netpreserve.org/warc/1.1/revisit/identical-payload-digest":"http://netpreserve.org/warc/1.0/revisit/identical-payload-digest"),h&&(f.set("WARC-Refers-To-Target-URI",h),f.set("WARC-Refers-To-Date",d(u||(new Date).toISOString()))));let g=new Et({statusline:c,headers:f});g.headers.get("WARC-Record-ID")||g.headers.set("WARC-Record-ID",`<urn:uuid:${F()}>`),g.headers.get("Content-Type")||g.headers.set("Content-Type",i&&It[i]||"application/octet-stream"),p||(p=kt());let y=new t({warcHeaders:g,reader:p}),m=null,w=!1;switch(i){case"response":case"request":case"revisit":l?(m=new gt(o),w=!m.size):(m=new Headers(o),w=!Object.entries(o).length),(!w||"revisit"!==i)&&(y.httpHeaders=new Et({statusline:a,headers:m}))}return y}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield Tt.encode(`${t}: ${e}\r\n`)}())}getResponseInfo(){let t=this.httpHeaders;return t?{headers:t.headers,status:t.statusCode,statusText:t.statusText}:null}fixUp(){let t=this.warcHeaders.headers.get("WARC-Target-URI");t&&t.startsWith("<")&&t.endsWith(">")&&this.warcHeaders.headers.set("WARC-Target-URI",t.slice(1,-1))}async readFully(t=!1){if(this.httpHeaders){if(this.payload&&!this.payload.length)return this.payload;if(this._contentReader&&!t)throw new TypeError("WARC Record decoding already started, but requesting raw payload");if(t&&"raw"===this.consumed&&this.payload)return await this._createDecodingReader([this.payload]).readFully()}return this.payload||(t?(this.payload=await super.readFully(),this.consumed="content"):(this.payload=await wt.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return kt();if(this._contentReader)throw new TypeError("WARC Record decoding already started, but requesting raw payload");return this._reader}get contentReader(){return this.httpHeaders?(this._contentReader||(this._contentReader=this._createDecodingReader(this._reader)),this._contentReader):this._reader}_createDecodingReader(t){if(!this.httpHeaders)throw new Error("WARCRecord cannot call _createDecodingReader when this.httpHeaders === null");let e=this.httpHeaders.headers.get("Content-Encoding"),r=this.httpHeaders.headers.get("Transfer-Encoding"),i="chunked"===r;return!e&&!i&&(e=r),new bt(t,e,i)}async readlineRaw(t){if(this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");if(this.contentReader instanceof wt)return this.contentReader.readlineRaw(t);throw new Error("WARCRecord cannot call readlineRaw on this.contentReader if it does not extend BaseAsyncIterReader")}async contentText(){let t=await this.readFully(!0);return xt.decode(t)}async*[Symbol.asyncIterator](){for await(let t of this.contentReader)if(yield t,this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");this.consumed="content"}async skipFully(){if(!this.consumed){if(this._reader instanceof At){let t=await this._reader.skipFully();return this.consumed="skipped",t}throw new Error("WARCRecord cannot call skipFully on this._reader if it is not a LimitReader")}}warcHeader(t){return this.warcHeaders.headers.get(t)}get warcType(){return this.warcHeaders.headers.get("WARC-Type")}get warcTargetURI(){return this.warcHeaders.headers.get("WARC-Target-URI")}get warcDate(){return this.warcHeaders.headers.get("WARC-Date")}get warcRefersToTargetURI(){return this.warcHeaders.headers.get("WARC-Refers-To-Target-URI")}get warcRefersToDate(){return this.warcHeaders.headers.get("WARC-Refers-To-Date")}get warcPayloadDigest(){return this.warcHeaders.headers.get("WARC-Payload-Digest")}get warcBlockDigest(){return this.warcHeaders.headers.get("WARC-Block-Digest")}get warcContentType(){return this.warcHeaders.headers.get("Content-Type")}get warcContentLength(){return Number(this.warcHeaders.headers.get("Content-Length"))}get warcConcurrentTo(){if(this.warcHeaders.headers instanceof gt)return this.warcHeaders.headers.getMultiple("WARC-Concurrent-To");{let t=this.warcHeaders.headers.get("WARC-Concurrent-To");return t?t.split(","):[]}}};async function*kt(){}var Nt=new TextDecoder,Ot=new Uint8Array([]),Bt=class t{static async parse(e,r){return new t(e,r).parse()}static iterRecords(e,r){return new t(e,r)[Symbol.asyncIterator]()}constructor(t,{keepHeadersCase:e=!1,parseHttp:r=!0}={}){this._offset=0,this._warcHeadersLength=0,this._headersClass=e?gt:Headers,this._parseHttp=r,this._reader=t instanceof bt?t:new bt(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return Ot;await this._record.skipFully(),this._reader.compressed&&(this._offset=this._reader.getRawOffset());let t=await this._reader.readlineRaw(),e=0;if(t){if(e=t.byteLength-1,9===e&&Nt.decode(t).startsWith("WARC/"))return t;for(;e>0;){let r=t[e-1];if(10!==r&&13!==r)break;e--}e&&console.warn(`Content-Length Too Small: Record not followed by newline, Remainder Length: ${e}, Offset: ${this._reader.getRawOffset()-t.byteLength}`)}else t=Ot;if(this._reader.compressed)await this._reader.skipSize(2),t=Ot;else{for(t=await this._reader.readlineRaw();t&&2===t.byteLength;)t=await this._reader.readlineRaw();this._offset=this._reader.getRawOffset(),t&&(this._offset-=t.length)}return t}_initRecordReader(t){return new At(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?Nt.decode(t):"",r=new class{constructor(){this.reencodeHeaders=new Set}async parse(t,{headersClass:e,firstLine:r}={headersClass:gt}){let i=r||await t.readline();if(!i)return null;let n=i.trimEnd();if(!n)return null;let s,o,a,c,l=new e,h=await async function(t){let e=[],r=0,i=0,n=null,s=t[Symbol.asyncIterator]();for await(let t of s){if([i,t]=await St(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=ut(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return _t.decode(ht(e,r))}(t),u=0,p="";for(;u<h.length&&(a=h.indexOf("\n",u),!c||" "!==h[u]&&"\t"!==h[u]?(c&&(this.setHeader(p,c,l),c=null),s=h.indexOf(":",u),o=s<0?u:s+1,s>=0&&s<a?(p=h.slice(u,s).trimStart(),c=h.slice(o,a<0?void 0:a).trim()):c=null):c+=h.slice(u,a<0?void 0:a).trimEnd(),!(a<0));)u=a+1;return c&&this.setHeader(p,c,l),new Et({statusline:n,headers:l,reencodeHeaders:this.reencodeHeaders})}setHeader(t,e,r,i=!1){try{r.append(t,e),r instanceof Headers&&i&&this.reencodeHeaders.add(t.toLowerCase())}catch{i||this.setHeader(t,function(t){let e=(new TextEncoder).encode(t),r="";return e.forEach((t=>r+=String.fromCharCode(t))),r}(e),r,!0)}}},i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new Rt({warcHeaders:i,reader:this._initRecordReader(i)});if(this._record=n,this._parseHttp)switch(n.warcType){case"response":case"request":await this._addHttpHeaders(n,r);break;case"revisit":n.warcContentLength>0&&await this._addHttpHeaders(n,r)}return n}get offset(){return this._offset}get recordLength(){return this._reader.getRawLength(this._offset)}async*[Symbol.asyncIterator](){let t=null;for(;null!==(t=await this.parse());)yield t;this._record=null}async _addHttpHeaders(t,e){let r=await e.parse(this._reader,{headersClass:this._headersClass});t.httpHeaders=r;let i=this._reader.getReadOffset()-this._warcHeadersLength;t.reader instanceof At&&t.reader.setLimitSkip(t.warcContentLength-i)}};new TextEncoder;var Pt=(Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),Dt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),Lt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(","),Ut=class extends class extends class{constructor(t={},e=Pt){this.opts=t,t.fields?(this.fields=t.fields,this.reqFields=this.fields.filter((t=>{return(e=t).startsWith("req.")||"referrer"===e.toLowerCase();var e}))):(this.fields=e,this.reqFields=[]),this.parseHttp=!1}serialize(t){return JSON.stringify(t)+"\n"}write(t,e){e.write(this.serialize(t))}async writeAll(t,e){for await(let r of this.iterIndex(t))this.write(r,e)}async*iterIndex(t){let e={strictHeaders:!0,parseHttp:this.parseHttp};for(let{filename:r,reader:i}of t){let t=new Bt(i,e);yield*this.iterRecords(t,r)}}async*iterRecords(t,e){for await(let r of t){await r.skipFully();let i=this.indexRecord(r,t,e);i&&(yield i)}}indexRecord(t,e,r){if(this.filterRecord&&!this.filterRecord(t))return null;let i={},{offset:n,recordLength:s}=e,o={offset:n,length:s,filename:r};for(let e of this.fields)e in o?i[e]=o[e]:this.setField(e,t,i);return i}setField(t,e,r){let i=this.getField(t,e);null!==i&&(r[t]=i)}getField(t,e){if(t.startsWith("req.")){if("request"!==e.warcType)return null;t=t.slice(4)}if("http:status"===t)return!e.httpHeaders||"response"!==e.warcType&&"revisit"!==e.warcType?null:e.httpHeaders.statusCode;if(t.startsWith("http:")){if(e.httpHeaders){let r=e.httpHeaders.headers,i=t.slice(5),n=r.get(i);if(r instanceof Map){let t=i.toLowerCase();for(let e of r.keys())t===e.toLowerCase()&&(n=r.get(e))}return n}return null}return e.warcHeaders.headers.get(t)||null}}{constructor(t,e){super(t,e);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}}{constructor(t){switch(super(t,Dt),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.parseHttp=!0,this.noSurt=!!t?.noSurt,this._lastRecord=null,t?.format){case"cdxj":this.serialize=this.serializeCDXJ;break;case"cdx":this.serialize=this.serializeCDX11}}async*iterRecords(t,e){this._lastRecord=null;for await(let r of t){await r.readFully();let i=this.indexRecord(r,t,e);i&&(yield i)}let r=this.indexRecord(null,t,e);r&&(yield r)}filterRecord(t){if(this.includeAll)return!0;let e=t.warcType;return!("request"===e||"warcinfo"===e||("metadata"===e||"resource"===e)&&"application/warc-fields"===t.warcContentType)}indexRecord(t,e,r){if(this.overrideIndexForAll)return t?super.indexRecord(t,e,r):null;let i=this._lastRecord;if(this._lastRecord=t,t&&(t._offset=e.offset,t._length=e.recordLength),!i)return null;if(!t||i.warcTargetURI!=t.warcTargetURI)return this.indexRecordPair(i,null,e,r);let n=t.warcType,s=i.warcType;return"request"!==n||"response"!==s&&"revisit"!==s?"response"!==n&&"revisit"!==n||"request"!==s?this.indexRecordPair(i,null,e,r):(this._lastRecord=null,this.indexRecordPair(t,i,e,r)):(this._lastRecord=null,this.indexRecordPair(i,t,e,r))}indexRecordPair(t,e,r,i){let n,s,o=t.warcTargetURI||"";if(e?.httpHeaders&&"GET"!==e.httpHeaders.method){let t={url:o,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};n=t.method,ot(t)&&(s=t.requestBody,o=t.url)}t._urlkey=o;let a=super.indexRecord(t,r,i);if(a&&(void 0!==t._offset&&(a.offset=t._offset,a.length=t._length),n&&(a.method=n),s&&(a.requestBody=s),e&&this.reqFields.length))for(let t of this.reqFields)this.setField(t,e,a);return a}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t,((t,e)=>["offset","length","status"].includes(t)?null==e?"":""+e:e))}\n`}serializeCDX11(t){let e=[];for(let r of Lt)e.push(null!=t[r]?t[r]:"-");return e.join(" ")+"\n"}getField(t,e){let r=null;switch(t){case"urlkey":return r=e._urlkey||e.warcTargetURI||null,this.noSurt||null===r?r:st(r);case"timestamp":return r=e.warcDate??"",r.replace(/[-:T]/g,"").slice(0,14);case"url":return e.warcTargetURI;case"mime":switch(e.warcType){case"revisit":return"warc/revisit";case"response":case"request":t="http:content-type";break;default:return e.warcContentType}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"referrer":return super.getField("req.http:referer",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return super.getField(t,e)}}};async function Mt(t,e,r){const i=t;try{"chunked"===r&&(t=function(t){let e=0,r=0;const i=new TextDecoder("utf-8");for(;e<t.length;){let n=e;for(;t[n]>=48&&t[n]<=57||t[n]>=65&&t[n]<=70||t[n]>=97&&t[n]<=102;)n++;if(0===n)return t;if(13!=t[n]||10!=t[n+1])return t;n+=2;const s=parseInt(i.decode(t.subarray(e,n)),16);if(0==s)break;t.set(t.subarray(n,n+s),r),n+=s,r+=s,13==t[n]&&10==t[n+1]&&(n+=2),e=n}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=L()(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new(M().Inflate);e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var Ft=r(6932);function Ht(t={}){let e,r;const i=t.response?.extraOpts;if(i&&(e=i.adaptive_max_resolution||i.maxRes,r=i.adaptive_max_bandwidth||i.maxBand,e&&r))return{maxRes:e,maxBand:r};let n;return n=t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t.save&&(t.save.maxRes=n.maxRes,t.save.maxBand=n.maxBand),n}function Wt(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=Ht(e),o=n||s,a=[];let c=0;const l=[],h=t.trimEnd().split("\n");for(const t of h){const s=t.match(r);if(!s){e.rewriteUrl&&!t.startsWith("#")&&(h[c]=e.rewriteUrl(t)),c+=1;continue}a.push(c);const o=Number(s[1]),u=t.match(i),p=u?Number(u[1])*Number(u[2]):0;l.push({value:n?p:o,index:c}),c+=1}l.sort(((t,e)=>t.value-e.value));let u=null,p=null;for(const t of l){if(t.value>o)break;p!=t.value&&(p=t.value,u=t.index)}null===u&&l.length>0&&(u=l[0].index),a.reverse();for(const t of a)t!==u&&h.splice(t,2);return h.join("\n")}const jt={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0,suppressBooleanAttributes:!1};function Vt(t,e,r){try{return function(t,e,r){const i=new Ft.XMLParser(jt).parse(t),{maxRes:n,maxBand:s}=Ht(e);let o,a=null,c=0,l=0;o=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of o){let e;a=null,c=0,l=0,e=Array.isArray(t.Representation)?t.Representation:[t.Representation];for(const t of e){const e=Number(t["@_width"]||"0")*Number(t["@_height"]||"0"),r=Number(t["@_bandwidth"]||"0");e&&n&&e<=n?e>c&&(c=e,l=r,a=t):r<=s&&r>l&&(c=e,l=r,a=t)}a&&Array.isArray(r)&&r.push(a["@_id"]),a&&(t.Representation=[a])}const h=new Ft.XMLBuilder(jt).build(i).trim();return h.slice(0,5).toLowerCase().startsWith("<?xml")?h:"<?xml version='1.0' encoding='UTF-8'?>\n"+h}(t,e,r)}catch(e){return console.log(e),t}}const Gt=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,Kt('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,Kt('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,Kt('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,Kt('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,Kt('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,Kt("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e?.request?.files){const t=e.request.files;if("object"==typeof t.progressive&&t.progressive.length)return t.dash&&(t.__dash=t.dash,delete t.dash),t.hls&&(t.__hls=t.hls,delete t.hls),JSON.stringify(e)}return t.replace(/query_string_ranges=1/g,"query_string_ranges=0")}]]},{contains:["master.json?query_string_ranges=0","master.json?base64"],rxRules:[[/^\{.+\}$/,function(t,e){if(!e)return t;let r=null;const i=Jt(e);try{r=JSON.parse(t),console.log("manifest",r)}catch(e){return t}function n(t,e,r){if(!t)return null;let i=null,n=0;for(const s of t)s.mime_type==r&&s.bitrate>n&&s.bitrate<=e&&(n=s.bitrate,i=s);return i?[i]:t}return r.video=n(r.video,i,"video/mp4"),r.audio=n(r.audio,i,"audio/mp4"),JSON.stringify(r)}]]},{contains:["facebook.com/","fbsbx.com/"],rxRules:[[/"dash_manifests.*?,"failure_reason":null}]/,function(t,e){const r="/MPD>",i=t.indexOf("\\u003C?xml"),n=t.indexOf(r,i)+5;if(n<5)return t;let s=Vt(JSON.parse('"'+t.slice(i,n)+'"'),e);s=JSON.stringify(s).replaceAll("<","\\u003C").slice(1,-1);const o=t.slice(0,i)+s+t.slice(n),a=Math.max(0,t.length-o.length);return o+" ".repeat(a)}],[/"playlist/,Yt('"playli__')],[/"debugNoBatching\s?":(?:false|0)/,Yt('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,Yt('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,Yt('"maxBatchSize":1')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,Yt('"is_dash_eligible":0')],[/"debugNoBatching\s?":(?:false|0)/,Yt('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,Yt('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,Yt('"maxBatchSize":1')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/","api.x.com/2/","x.com/i/api/2/","x.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,Xt('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,Xt('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,Kt("/*{0}*/")]]}],zt=' ;Object.defineProperty(MediaSource, "isTypeSupported", {value: () => false, configurable: false, writable: false});',qt=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/[^"]<head.*?>/,t=>`\n ${t}<script>${zt}<\/script>\n `]]},...Gt],Qt=[{contains:/video.*fbcdn.net/,start:"bytestart",end:"byteend"}];function Kt(t){return e=>t.replace("{0}",e)}function Yt(t){return e=>{const r=Math.max(0,e.length-t.length);return t+" ".repeat(r)}}function Jt(t){let e=5e6;const r=t.response?.extraOpts;return t.save?t.save.maxBitrate=e:r?.maxBitrate&&(e=r.maxBitrate),e}function Xt(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=Jt(r);e=e.slice(t.length);const s=JSON.parse(e);let o=null,a=0;for(const t of s.variants)if(!(t.content_type&&"video/mp4"!==t.content_type||t.type&&"video/mp4"!==t.type))if(t.bitrate&&t.bitrate>a&&t.bitrate<=n)o=t,a=t.bitrate;else if(t.src){const e=i.exec(t.src);if(e){const r=Number(e[1])*Number(e[2]);r>a&&(a=r,o=t)}}return o&&(s.variants=[o]),t+JSON.stringify(s)}catch(t){return console.warn("rewriter error: ",t),i}}}class Zt{rwRules;RewriterCls;rewriters=new Map;defaultRewriter;constructor(t,e){this.rwRules=e||Gt,this.RewriterCls=t,this._initRules()}_initRules(){this.rewriters=new Map;for(const t of this.rwRules)t.rxRules&&this.rewriters.set(t,new this.RewriterCls(t.rxRules));this.defaultRewriter=new this.RewriterCls}getCustomRewriter(t){for(const e of this.rwRules)if(e.contains)for(const r of e.contains)if(t.indexOf(r)>=0){const t=this.rewriters.get(e);if(t)return t}return null}getRewriter(t){return this.getCustomRewriter(t)||this.defaultRewriter}}class $t{rules;rx=null;constructor(t){this.rules=t||null,this.rules&&this.compileRules()}compileRules(){let t="";if(!this.rules)return;for(const e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e,r){const i=e[e.length-2],n=e[e.length-1];for(let t=0;t<this.rules.length;t++){const s=e[t];if(!s)continue;const o=this.rules[t][1].call(this,s,r,i,n);if(o)return o}return console.warn(`rx no match found for ${t} - rx rule contains extra matching group?`),t}rewrite(t,e){return this.rx?t.replace(this.rx,((t,...r)=>this.doReplace(t,r,e))):t}}var te=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,81,2,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,9,5351,0,7,14,13835,9,87,9,39,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,4706,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,983,6,110,6,6,9,4759,9,787719,239],ee=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,68,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,4026,582,8634,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,757,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,3104,541,1507,4938,6,4191],re="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",ie={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},ne="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",se={5:ne,"5module":ne+" export import",6:ne+" const class extends export import super"},oe=/^in(stanceof)?$/,ae=new RegExp("["+re+"]"),ce=new RegExp("["+re+"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_]");function le(t,e){for(var r=65536,i=0;i<e.length;i+=2){if((r+=e[i])>t)return!1;if((r+=e[i+1])>=t)return!0}return!1}function he(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&ae.test(String.fromCharCode(t)):!1!==e&&le(t,ee)))}function ue(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&ce.test(String.fromCharCode(t)):!1!==e&&(le(t,ee)||le(t,te)))))}var pe=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function de(t,e){return new pe(t,{beforeExpr:!0,binop:e})}var fe={beforeExpr:!0},ge={startsExpr:!0},ye={};function me(t,e){return void 0===e&&(e={}),e.keyword=t,ye[t]=new pe(t,e)}var we={num:new pe("num",ge),regexp:new pe("regexp",ge),string:new pe("string",ge),name:new pe("name",ge),privateId:new pe("privateId",ge),eof:new pe("eof"),bracketL:new pe("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new pe("]"),braceL:new pe("{",{beforeExpr:!0,startsExpr:!0}),braceR:new pe("}"),parenL:new pe("(",{beforeExpr:!0,startsExpr:!0}),parenR:new pe(")"),comma:new pe(",",fe),semi:new pe(";",fe),colon:new pe(":",fe),dot:new pe("."),question:new pe("?",fe),questionDot:new pe("?."),arrow:new pe("=>",fe),template:new pe("template"),invalidTemplate:new pe("invalidTemplate"),ellipsis:new pe("...",fe),backQuote:new pe("`",ge),dollarBraceL:new pe("${",{beforeExpr:!0,startsExpr:!0}),eq:new pe("=",{beforeExpr:!0,isAssign:!0}),assign:new pe("_=",{beforeExpr:!0,isAssign:!0}),incDec:new pe("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new pe("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:de("||",1),logicalAND:de("&&",2),bitwiseOR:de("|",3),bitwiseXOR:de("^",4),bitwiseAND:de("&",5),equality:de("==/!=/===/!==",6),relational:de("</>/<=/>=",7),bitShift:de("<</>>/>>>",8),plusMin:new pe("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:de("%",10),star:de("*",10),slash:de("/",10),starstar:new pe("**",{beforeExpr:!0}),coalesce:de("??",1),_break:me("break"),_case:me("case",fe),_catch:me("catch"),_continue:me("continue"),_debugger:me("debugger"),_default:me("default",fe),_do:me("do",{isLoop:!0,beforeExpr:!0}),_else:me("else",fe),_finally:me("finally"),_for:me("for",{isLoop:!0}),_function:me("function",ge),_if:me("if"),_return:me("return",fe),_switch:me("switch"),_throw:me("throw",fe),_try:me("try"),_var:me("var"),_const:me("const"),_while:me("while",{isLoop:!0}),_with:me("with"),_new:me("new",{beforeExpr:!0,startsExpr:!0}),_this:me("this",ge),_super:me("super",ge),_class:me("class",ge),_extends:me("extends",fe),_export:me("export"),_import:me("import",ge),_null:me("null",ge),_true:me("true",ge),_false:me("false",ge),_in:me("in",{beforeExpr:!0,binop:7}),_instanceof:me("instanceof",{beforeExpr:!0,binop:7}),_typeof:me("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:me("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:me("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},be=/\r\n?|\n|\u2028|\u2029/,Ae=new RegExp(be.source,"g");function ve(t){return 10===t||13===t||8232===t||8233===t}function _e(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(ve(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var Ee=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Se=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,xe=Object.prototype,Te=xe.hasOwnProperty,Ce=xe.toString,Ie=Object.hasOwn||function(t,e){return Te.call(t,e)},Re=Array.isArray||function(t){return"[object Array]"===Ce.call(t)};function ke(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}function Ne(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var Oe=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Be=function(t,e){this.line=t,this.column=e};Be.prototype.offset=function(t){return new Be(this.line,this.column+t)};var Pe=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function De(t,e){for(var r=1,i=0;;){var n=_e(t,i,e);if(n<0)return new Be(r,e-i);++r,i=n}}var Le={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},Ue=!1;function Me(t,e){return 2|(t?4:0)|(e?8:0)}var Fe=function(t,e,r){this.options=t=function(t){var e={};for(var r in Le)e[r]=t&&Ie(t,r)?t[r]:Le[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!Ue&&"object"==typeof console&&console.warn&&(Ue=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),e.ecmaVersion=11):e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),t&&null!=t.allowHashBang||(e.allowHashBang=e.ecmaVersion>=14),Re(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return Re(e.onComment)&&(e.onComment=function(t,e){return function(r,i,n,s,o,a){var c={type:r?"Block":"Line",value:i,start:n,end:s};t.locations&&(c.loc=new Pe(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}(t),this.sourceFile=t.sourceFile,this.keywords=ke(se[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=ie[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=ke(i);var n=(i?i+" ":"")+ie.strict;this.reservedWordsStrict=ke(n),this.reservedWordsStrictBind=ke(n+" "+ie.strictBind),this.input=String(e),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(be).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=we.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},He={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};Fe.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},He.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},He.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},He.inAsync.get=function(){return(4&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},He.canAwait.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t];if(e.inClassFieldInit||256&e.flags)return!1;if(2&e.flags)return(4&e.flags)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},He.allowSuper.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(64&e)>0||r||this.options.allowSuperOutsideMethod},He.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},He.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},He.allowNewDotTarget.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(258&e)>0||r},He.inClassStaticBlock.get=function(){return(256&this.currentVarScope().flags)>0},Fe.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var r=this,i=0;i<t.length;i++)r=t[i](r);return r},Fe.parse=function(t,e){return new this(e,t).parse()},Fe.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},Fe.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(Fe.prototype,He);var We=Fe.prototype,je=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;We.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){Se.lastIndex=t,t+=Se.exec(this.input)[0].length;var e=je.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){Se.lastIndex=t+e[0].length;var r=Se.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||be.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,Se.lastIndex=t,t+=Se.exec(this.input)[0].length,";"===this.input[t]&&t++}},We.eat=function(t){return this.type===t&&(this.next(),!0)},We.isContextual=function(t){return this.type===we.name&&this.value===t&&!this.containsEsc},We.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},We.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},We.canInsertSemicolon=function(){return this.type===we.eof||this.type===we.braceR||be.test(this.input.slice(this.lastTokEnd,this.start))},We.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},We.semicolon=function(){this.eat(we.semi)||this.insertSemicolon()||this.unexpected()},We.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},We.expect=function(t){this.eat(t)||this.unexpected()},We.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var Ve=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};We.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var r=e?t.parenthesizedAssign:t.parenthesizedBind;r>-1&&this.raiseRecoverable(r,e?"Assigning to rvalue":"Parenthesized pattern")}},We.checkExpressionErrors=function(t,e){if(!t)return!1;var r=t.shorthandAssign,i=t.doubleProto;if(!e)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},We.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},We.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var Ge=Fe.prototype;Ge.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==we.eof;){var r=this.parseStatement(null,!0,e);t.body.push(r)}if(this.inModule)for(var i=0,n=Object.keys(this.undefinedExports);i<n.length;i+=1){var s=n[i];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var ze={kind:"loop"},qe={kind:"switch"};Ge.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Se.lastIndex=this.pos;var e=Se.exec(this.input),r=this.pos+e[0].length,i=this.input.charCodeAt(r);if(91===i||92===i)return!0;if(t)return!1;if(123===i||i>55295&&i<56320)return!0;if(he(i,!0)){for(var n=r+1;ue(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!oe.test(s))return!0}return!1},Ge.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Se.lastIndex=this.pos;var t,e=Se.exec(this.input),r=this.pos+e[0].length;return!(be.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(ue(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},Ge.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=we._var,i="let"),n){case we._break:case we._continue:return this.parseBreakContinueStatement(s,n.keyword);case we._debugger:return this.parseDebuggerStatement(s);case we._do:return this.parseDoStatement(s);case we._for:return this.parseForStatement(s);case we._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case we._class:return t&&this.unexpected(),this.parseClass(s,!0);case we._if:return this.parseIfStatement(s);case we._return:return this.parseReturnStatement(s);case we._switch:return this.parseSwitchStatement(s);case we._throw:return this.parseThrowStatement(s);case we._try:return this.parseTryStatement(s);case we._const:case we._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case we._while:return this.parseWhileStatement(s);case we._with:return this.parseWithStatement(s);case we.braceL:return this.parseBlock(!0,s);case we.semi:return this.parseEmptyStatement(s);case we._export:case we._import:if(this.options.ecmaVersion>10&&n===we._import){Se.lastIndex=this.pos;var o=Se.exec(this.input),a=this.pos+o[0].length,c=this.input.charCodeAt(a);if(40===c||46===c)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===we._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!t);var l=this.value,h=this.parseExpression();return n===we.name&&"Identifier"===h.type&&this.eat(we.colon)?this.parseLabeledStatement(s,l,h,t):this.parseExpressionStatement(s,h)}},Ge.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(we.semi)||this.insertSemicolon()?t.label=null:this.type!==we.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var n=this.labels[i];if(null==t.label||n.name===t.label.name){if(null!=n.kind&&(r||"loop"===n.kind))break;if(t.label&&r)break}}return i===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")},Ge.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},Ge.parseDoStatement=function(t){return this.next(),this.labels.push(ze),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(we._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(we.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},Ge.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(ze),this.enterScope(0),this.expect(we.parenL),this.type===we.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===we._var||this.type===we._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),(this.type===we._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===we._in?e>-1&&this.unexpected(e):t.await=e>-1),this.parseForIn(t,i)):(e>-1&&this.unexpected(e),this.parseFor(t,i))}var s=this.isContextual("let"),o=!1,a=new Ve,c=this.parseExpression(!(e>-1)||"await",a);return this.type===we._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===we._in?e>-1&&this.unexpected(e):t.await=e>-1),s&&o&&this.raise(c.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(c,!1,a),this.checkLValPattern(c),this.parseForIn(t,c)):(this.checkExpressionErrors(a,!0),e>-1&&this.unexpected(e),this.parseFor(t,c))},Ge.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,Ke|(r?0:Ye),!1,e)},Ge.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(we._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},Ge.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(we.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},Ge.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(we.braceL),this.labels.push(qe),this.enterScope(0);for(var r=!1;this.type!==we.braceR;)if(this.type===we._case||this.type===we._default){var i=this.type===we._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,e.test=null),this.expect(we.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},Ge.parseThrowStatement=function(t){return this.next(),be.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var Qe=[];Ge.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(we.parenR),t},Ge.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===we._catch){var e=this.startNode();this.next(),this.eat(we.parenL)?e.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0)),e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(we._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},Ge.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},Ge.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(ze),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},Ge.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},Ge.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},Ge.parseLabeledStatement=function(t,e,r,i){for(var n=0,s=this.labels;n<s.length;n+=1)s[n].name===e&&this.raise(r.start,"Label '"+e+"' is already declared");for(var o=this.type.isLoop?"loop":this.type===we._switch?"switch":null,a=this.labels.length-1;a>=0;a--){var c=this.labels[a];if(c.statementStart!==t.start)break;c.statementStart=this.start,c.kind=o}return this.labels.push({name:e,kind:o,statementStart:this.start}),t.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")},Ge.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},Ge.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(we.braceL),t&&this.enterScope(0);this.type!==we.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},Ge.parseFor=function(t,e){return t.init=e,this.expect(we.semi),t.test=this.type===we.semi?null:this.parseExpression(),this.expect(we.semi),t.update=this.type===we.parenR?null:this.parseExpression(),this.expect(we.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},Ge.parseForIn=function(t,e){var r=this.type===we._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)&&this.raise(e.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(we.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},Ge.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(we.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===we._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===we._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.unexpected(),t.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(we.comma))break}return t},Ge.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var Ke=1,Ye=2;function Je(t,e){var r=e.key.name,i=t[r],n="true";return"MethodDefinition"!==e.type||"get"!==e.kind&&"set"!==e.kind||(n=(e.static?"s":"i")+e.kind),"iget"===i&&"iset"===n||"iset"===i&&"iget"===n||"sget"===i&&"sset"===n||"sset"===i&&"sget"===n?(t[r]="true",!1):!!i||(t[r]=n,!1)}function Xe(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}Ge.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===we.star&&e&Ye&&this.unexpected(),t.generator=this.eat(we.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&Ke&&(t.id=4&e&&this.type!==we.name?null:this.parseIdent(),!t.id||e&Ye||this.checkLValSimple(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var s=this.yieldPos,o=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(Me(t.async,t.generator)),e&Ke||(t.id=this.type===we.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,r,!1,n),this.yieldPos=s,this.awaitPos=o,this.awaitIdentPos=a,this.finishNode(t,e&Ke?"FunctionDeclaration":"FunctionExpression")},Ge.parseFunctionParams=function(t){this.expect(we.parenL),t.params=this.parseBindingList(we.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Ge.parseClass=function(t,e){this.next();var r=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var i=this.enterClassBody(),n=this.startNode(),s=!1;for(n.body=[],this.expect(we.braceL);this.type!==we.braceR;){var o=this.parseClassElement(null!==t.superClass);o&&(n.body.push(o),"MethodDefinition"===o.type&&"constructor"===o.kind?(s&&this.raiseRecoverable(o.start,"Duplicate constructor in the same class"),s=!0):o.key&&"PrivateIdentifier"===o.key.type&&Je(i,o)&&this.raiseRecoverable(o.key.start,"Identifier '#"+o.key.name+"' has already been declared"))}return this.strict=r,this.next(),t.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},Ge.parseClassElement=function(t){if(this.eat(we.semi))return null;var e=this.options.ecmaVersion,r=this.startNode(),i="",n=!1,s=!1,o="method",a=!1;if(this.eatContextual("static")){if(e>=13&&this.eat(we.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===we.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==we.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(we.star)&&(n=!0),!i&&!s&&!n){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?o=c:i=c)}if(i?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=i,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),e<13||this.type===we.parenL||"method"!==o||n||s){var l=!r.static&&Xe(r,"constructor"),h=l&&t;l&&"method"!==o&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=l?"constructor":o,this.parseClassMethod(r,n,s,h)}else this.parseClassField(r);return r},Ge.isClassElementNameStart=function(){return this.type===we.name||this.type===we.privateId||this.type===we.num||this.type===we.string||this.type===we.bracketL||this.type.keyword},Ge.parseClassElementName=function(t){this.type===we.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),t.computed=!1,t.key=this.parsePrivateIdent()):this.parsePropertyName(t)},Ge.parseClassMethod=function(t,e,r,i){var n=t.key;"constructor"===t.kind?(e&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):t.static&&Xe(t,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var s=t.value=this.parseMethod(e,r,i);return"get"===t.kind&&0!==s.params.length&&this.raiseRecoverable(s.start,"getter should have no params"),"set"===t.kind&&1!==s.params.length&&this.raiseRecoverable(s.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===s.params[0].type&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(t,"MethodDefinition")},Ge.parseClassField=function(t){if(Xe(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&Xe(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(we.eq)){var e=this.currentThisScope(),r=e.inClassFieldInit;e.inClassFieldInit=!0,t.value=this.parseMaybeAssign(),e.inClassFieldInit=r}else t.value=null;return this.semicolon(),this.finishNode(t,"PropertyDefinition")},Ge.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==we.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},Ge.parseClassId=function(t,e){this.type===we.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},Ge.parseClassSuper=function(t){t.superClass=this.eat(we._extends)?this.parseExprSubscripts(null,!1):null},Ge.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},Ge.exitClassBody=function(){var t=this.privateNameStack.pop(),e=t.declared,r=t.used;if(this.options.checkPrivateFields)for(var i=this.privateNameStack.length,n=0===i?null:this.privateNameStack[i-1],s=0;s<r.length;++s){var o=r[s];Ie(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},Ge.parseExportAllDeclaration=function(t,e){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseModuleExportName(),this.checkExport(e,t.exported,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==we.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},Ge.parseExport=function(t,e){if(this.next(),this.eat(we.star))return this.parseExportAllDeclaration(t,e);if(this.eat(we._default))return this.checkExport(e,"default",this.lastTokStart),t.declaration=this.parseExportDefaultDeclaration(),this.finishNode(t,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())t.declaration=this.parseExportDeclaration(t),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id,t.declaration.id.start),t.specifiers=[],t.source=null;else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==we.string&&this.unexpected(),t.source=this.parseExprAtom();else{for(var r=0,i=t.specifiers;r<i.length;r+=1){var n=i[r];this.checkUnreserved(n.local),this.checkLocalExport(n.local),"Literal"===n.local.type&&this.raise(n.local.start,"A string literal cannot be used as an exported binding without `from`.")}t.source=null}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},Ge.parseExportDeclaration=function(t){return this.parseStatement(null)},Ge.parseExportDefaultDeclaration=function(){var t;if(this.type===we._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|Ke,!1,t)}if(this.type===we._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},Ge.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),Ie(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},Ge.checkPatternExport=function(t,e){var r=e.type;if("Identifier"===r)this.checkExport(t,e,e.start);else if("ObjectPattern"===r)for(var i=0,n=e.properties;i<n.length;i+=1){var s=n[i];this.checkPatternExport(t,s)}else if("ArrayPattern"===r)for(var o=0,a=e.elements;o<a.length;o+=1){var c=a[o];c&&this.checkPatternExport(t,c)}else"Property"===r?this.checkPatternExport(t,e.value):"AssignmentPattern"===r?this.checkPatternExport(t,e.left):"RestElement"===r?this.checkPatternExport(t,e.argument):"ParenthesizedExpression"===r&&this.checkPatternExport(t,e.expression)},Ge.checkVariableExport=function(t,e){if(t)for(var r=0,i=e;r<i.length;r+=1){var n=i[r];this.checkPatternExport(t,n.id)}},Ge.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},Ge.parseExportSpecifier=function(t){var e=this.startNode();return e.local=this.parseModuleExportName(),e.exported=this.eatContextual("as")?this.parseModuleExportName():e.local,this.checkExport(t,e.exported,e.exported.start),this.finishNode(e,"ExportSpecifier")},Ge.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(we.braceL);!this.eat(we.braceR);){if(r)r=!1;else if(this.expect(we.comma),this.afterTrailingComma(we.braceR))break;e.push(this.parseExportSpecifier(t))}return e},Ge.parseImport=function(t){return this.next(),this.type===we.string?(t.specifiers=Qe,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===we.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},Ge.parseImportSpecifier=function(){var t=this.startNode();return t.imported=this.parseModuleExportName(),this.eatContextual("as")?t.local=this.parseIdent():(this.checkUnreserved(t.imported),t.local=t.imported),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportSpecifier")},Ge.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},Ge.parseImportNamespaceSpecifier=function(){var t=this.startNode();return this.next(),this.expectContextual("as"),t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportNamespaceSpecifier")},Ge.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===we.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(we.comma)))return t;if(this.type===we.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(we.braceL);!this.eat(we.braceR);){if(e)e=!1;else if(this.expect(we.comma),this.afterTrailingComma(we.braceR))break;t.push(this.parseImportSpecifier())}return t},Ge.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===we.string){var t=this.parseLiteral(this.value);return Oe.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},Ge.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},Ge.isDirectiveCandidate=function(t){return this.options.ecmaVersion>=5&&"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var Ze=Fe.prototype;Ze.toAssignable=function(t,e,r){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.toAssignable(s,e),"RestElement"!==s.type||"ArrayPattern"!==s.argument.type&&"ObjectPattern"!==s.argument.type||this.raise(s.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",r&&this.checkPatternErrors(r,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,r);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else r&&this.checkPatternErrors(r,!0);return t},Ze.toAssignableList=function(t,e){for(var r=t.length,i=0;i<r;i++){var n=t[i];n&&this.toAssignable(n,e)}if(r){var s=t[r-1];6===this.options.ecmaVersion&&e&&s&&"RestElement"===s.type&&"Identifier"!==s.argument.type&&this.unexpected(s.argument.start)}return t},Ze.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},Ze.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==we.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},Ze.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case we.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(we.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case we.braceL:return this.parseObj(!0)}return this.parseIdent()},Ze.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(we.comma),e&&this.type===we.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===we.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===we.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},Ze.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},Ze.parseBindingListItem=function(t){return t},Ze.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(we.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},Ze.checkLValSimple=function(t,e,r){void 0===e&&(e=0);var i=0!==e;switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(i?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),r&&(Ie(r,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),r[t.name]=!0),5!==e&&this.declareName(t.name,e,t.start));break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":i&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ParenthesizedExpression":return i&&this.raiseRecoverable(t.start,"Binding parenthesized expression"),this.checkLValSimple(t.expression,e,r);default:this.raise(t.start,(i?"Binding":"Assigning to")+" rvalue")}},Ze.checkLValPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"ObjectPattern":for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,e,r)}break;case"ArrayPattern":for(var o=0,a=t.elements;o<a.length;o+=1){var c=a[o];c&&this.checkLValInnerPattern(c,e,r)}break;default:this.checkLValSimple(t,e,r)}},Ze.checkLValInnerPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"Property":this.checkLValInnerPattern(t.value,e,r);break;case"AssignmentPattern":this.checkLValPattern(t.left,e,r);break;case"RestElement":this.checkLValPattern(t.argument,e,r);break;default:this.checkLValPattern(t,e,r)}};var $e=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},tr={b_stat:new $e("{",!1),b_expr:new $e("{",!0),b_tmpl:new $e("${",!1),p_stat:new $e("(",!1),p_expr:new $e("(",!0),q_tmpl:new $e("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new $e("function",!1),f_expr:new $e("function",!0),f_expr_gen:new $e("function",!0,!1,null,!0),f_gen:new $e("function",!1,!1,null,!0)},er=Fe.prototype;er.initialContext=function(){return[tr.b_stat]},er.curContext=function(){return this.context[this.context.length-1]},er.braceIsBlock=function(t){var e=this.curContext();return e===tr.f_expr||e===tr.f_stat||(t!==we.colon||e!==tr.b_stat&&e!==tr.b_expr?t===we._return||t===we.name&&this.exprAllowed?be.test(this.input.slice(this.lastTokEnd,this.start)):t===we._else||t===we.semi||t===we.eof||t===we.parenR||t===we.arrow||(t===we.braceL?e===tr.b_stat:t!==we._var&&t!==we._const&&t!==we.name&&!this.exprAllowed):!e.isExpr)},er.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},er.updateContext=function(t){var e,r=this.type;r.keyword&&t===we.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},er.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},we.parenR.updateContext=we.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===tr.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},we.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?tr.b_stat:tr.b_expr),this.exprAllowed=!0},we.dollarBraceL.updateContext=function(){this.context.push(tr.b_tmpl),this.exprAllowed=!0},we.parenL.updateContext=function(t){var e=t===we._if||t===we._for||t===we._with||t===we._while;this.context.push(e?tr.p_stat:tr.p_expr),this.exprAllowed=!0},we.incDec.updateContext=function(){},we._function.updateContext=we._class.updateContext=function(t){!t.beforeExpr||t===we._else||t===we.semi&&this.curContext()!==tr.p_stat||t===we._return&&be.test(this.input.slice(this.lastTokEnd,this.start))||(t===we.colon||t===we.braceL)&&this.curContext()===tr.b_stat?this.context.push(tr.f_stat):this.context.push(tr.f_expr),this.exprAllowed=!1},we.backQuote.updateContext=function(){this.curContext()===tr.q_tmpl?this.context.pop():this.context.push(tr.q_tmpl),this.exprAllowed=!1},we.star.updateContext=function(t){if(t===we._function){var e=this.context.length-1;this.context[e]===tr.f_expr?this.context[e]=tr.f_expr_gen:this.context[e]=tr.f_gen}this.exprAllowed=!0},we.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==we.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var rr=Fe.prototype;function ir(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&ir(t.expression)}rr.checkPropClash=function(t,e,r){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var i,n=t.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=String(n.value);break;default:return}var s=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(e.proto&&(r?r.doubleProto<0&&(r.doubleProto=n.start):this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),e.proto=!0);else{var o=e[i="$"+i];o?("init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s])&&this.raiseRecoverable(n.start,"Redefinition of property"):o=e[i]={init:!1,get:!1,set:!1},o[s]=!0}}},rr.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===we.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(we.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},rr.parseMaybeAssign=function(t,e,r){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,n=-1,s=-1,o=-1;e?(n=e.parenthesizedAssign,s=e.trailingComma,o=e.doubleProto,e.parenthesizedAssign=e.trailingComma=-1):(e=new Ve,i=!0);var a=this.start,c=this.startLoc;this.type!==we.parenL&&this.type!==we.name||(this.potentialArrowAt=this.start,this.potentialArrowInForAwait="await"===t);var l=this.parseMaybeConditional(t,e);if(r&&(l=r.call(this,l,a,c)),this.type.isAssign){var h=this.startNodeAt(a,c);return h.operator=this.value,this.type===we.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===we.eq?this.checkLValPattern(l):this.checkLValSimple(l),h.left=l,this.next(),h.right=this.parseMaybeAssign(t),o>-1&&(e.doubleProto=o),this.finishNode(h,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),n>-1&&(e.parenthesizedAssign=n),s>-1&&(e.trailingComma=s),l},rr.parseMaybeConditional=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return n;if(this.eat(we.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(we.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},rr.parseExprOps=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(e,!1,!1,t);return this.checkExpressionErrors(e)||n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,t)},rr.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==we._in)&&s>i){var o=this.type===we.logicalOR||this.type===we.logicalAND,a=this.type===we.coalesce;a&&(s=we.logicalAND.binop);var c=this.value;this.next();var l=this.start,h=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),l,h,s,n),p=this.buildBinary(e,r,t,u,c,o||a);return(o&&this.type===we.coalesce||a&&(this.type===we.logicalOR||this.type===we.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(p,e,r,i,n)}return t},rr.buildBinary=function(t,e,r,i,n,s){"PrivateIdentifier"===i.type&&this.raise(i.start,"Private identifier can only be left side of binary expression");var o=this.startNodeAt(t,e);return o.left=r,o.operator=n,o.right=i,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},rr.parseMaybeUnary=function(t,e,r,i){var n,s=this.start,o=this.startLoc;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(i),e=!0;else if(this.type.prefix){var a=this.startNode(),c=this.type===we.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0,c,i),this.checkExpressionErrors(t,!0),c?this.checkLValSimple(a.argument):this.strict&&"delete"===a.operator&&"Identifier"===a.argument.type?this.raiseRecoverable(a.start,"Deleting local variable in strict mode"):"delete"===a.operator&&ir(a.argument)?this.raiseRecoverable(a.start,"Private fields can not be deleted"):e=!0,n=this.finishNode(a,c?"UpdateExpression":"UnaryExpression")}else if(e||this.type!==we.privateId){if(n=this.parseExprSubscripts(t,i),this.checkExpressionErrors(t))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(s,o);l.operator=this.value,l.prefix=!1,l.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(l,"UpdateExpression")}}else(i||0===this.privateNameStack.length)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==we._in&&this.unexpected();return r||!this.eat(we.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},rr.parseExprSubscripts=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprAtom(t,e);if("ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return n;var s=this.parseSubscripts(n,r,i,!1,e);return t&&"MemberExpression"===s.type&&(t.parenthesizedAssign>=s.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=s.start&&(t.parenthesizedBind=-1),t.trailingComma>=s.start&&(t.trailingComma=-1)),s},rr.parseSubscripts=function(t,e,r,i,n){for(var s=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start==5&&this.potentialArrowAt===t.start,o=!1;;){var a=this.parseSubscript(t,e,r,i,s,o,n);if(a.optional&&(o=!0),a===t||"ArrowFunctionExpression"===a.type){if(o){var c=this.startNodeAt(e,r);c.expression=a,a=this.finishNode(c,"ChainExpression")}return a}t=a}},rr.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(we.arrow)},rr.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},rr.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(we.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(we.bracketL);if(l||c&&this.type!==we.parenL&&this.type!==we.backQuote||this.eat(we.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(we.bracketR)):this.type===we.privateId&&"Super"!==t.type?h.property=this.parsePrivateIdent():h.property=this.parseIdent("never"!==this.options.allowReserved),h.computed=!!l,a&&(h.optional=c),t=this.finishNode(h,"MemberExpression")}else if(!i&&this.eat(we.parenL)){var u=new Ve,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(we.parenR,this.options.ecmaVersion>=8,!1,u);if(n&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=d,this.awaitIdentPos=f,this.parseSubscriptAsyncArrow(e,r,g,o);this.checkExpressionErrors(u,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=d||this.awaitPos,this.awaitIdentPos=f||this.awaitIdentPos;var y=this.startNodeAt(e,r);y.callee=t,y.arguments=g,a&&(y.optional=c),t=this.finishNode(y,"CallExpression")}else if(this.type===we.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var m=this.startNodeAt(e,r);m.tag=t,m.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(m,"TaggedTemplateExpression")}return t},rr.parseExprAtom=function(t,e,r){this.type===we.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case we._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==we.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==we.dot&&this.type!==we.bracketL&&this.type!==we.parenL&&this.unexpected(),this.finishNode(i,"Super");case we._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case we.name:var s=this.start,o=this.startLoc,a=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&"async"===c.name&&!this.canInsertSemicolon()&&this.eat(we._function))return this.overrideContext(tr.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(we.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===we.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(we.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case we.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case we.num:case we.string:return this.parseLiteral(this.value);case we._null:case we._true:case we._false:return(i=this.startNode()).value=this.type===we._null?null:this.type===we._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case we.parenL:var h=this.start,u=this.parseParenAndDistinguishExpression(n,e);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),u;case we.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(we.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case we.braceL:return this.overrideContext(tr.b_expr),this.parseObj(!1,t);case we._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case we._class:return this.parseClass(this.startNode(),!1);case we._new:return this.parseNew();case we.backQuote:return this.parseTemplate();case we._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},rr.parseExprAtomDefault=function(){this.unexpected()},rr.parseExprImport=function(t){var e=this.startNode();this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import");var r=this.parseIdent(!0);return this.type!==we.parenL||t?this.type===we.dot?(e.meta=r,this.parseImportMeta(e)):void this.unexpected():this.parseDynamicImport(e)},rr.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(we.parenR)){var e=this.start;this.eat(we.comma)&&this.eat(we.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},rr.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},rr.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},rr.parseParenExpression=function(){this.expect(we.parenL);var t=this.parseExpression();return this.expect(we.parenR),t},rr.shouldParseArrow=function(t){return!this.canInsertSemicolon()},rr.parseParenAndDistinguishExpression=function(t,e){var r,i=this.start,n=this.startLoc,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o,a=this.start,c=this.startLoc,l=[],h=!0,u=!1,p=new Ve,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==we.parenR;){if(h?h=!1:this.expect(we.comma),s&&this.afterTrailingComma(we.parenR,!0)){u=!0;break}if(this.type===we.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===we.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var g=this.lastTokEnd,y=this.lastTokEndLoc;if(this.expect(we.parenR),t&&this.shouldParseArrow(l)&&this.eat(we.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(i,n,l,e);l.length&&!u||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(p,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,l.length>1?((r=this.startNodeAt(a,c)).expressions=l,this.finishNodeAt(r,"SequenceExpression",g,y)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var m=this.startNodeAt(i,n);return m.expression=r,this.finishNode(m,"ParenthesizedExpression")}return r},rr.parseParenItem=function(t){return t},rr.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var nr=[];rr.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode(),e=this.parseIdent(!0);if(this.options.ecmaVersion>=6&&this.eat(we.dot)){t.meta=e;var r=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(t.start,"'new.target' can only be used in functions and class static block"),this.finishNode(t,"MetaProperty")}var i=this.start,n=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),i,n,!0,!1),this.eat(we.parenL)?t.arguments=this.parseExprList(we.parenR,this.options.ecmaVersion>=8,!1):t.arguments=nr,this.finishNode(t,"NewExpression")},rr.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===we.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value,cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===we.backQuote,this.finishNode(r,"TemplateElement")},rr.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:e});for(r.quasis=[i];!i.tail;)this.type===we.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(we.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(we.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},rr.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===we.name||this.type===we.num||this.type===we.string||this.type===we.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===we.star)&&!be.test(this.input.slice(this.lastTokEnd,this.start))},rr.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(we.braceR);){if(i)i=!1;else if(this.expect(we.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(we.braceR))break;var s=this.parseProperty(t,e);t||this.checkPropClash(s,n,e),r.properties.push(s)}return this.finishNode(r,t?"ObjectPattern":"ObjectExpression")},rr.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(we.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===we.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(o,"RestElement")):(o.argument=this.parseMaybeAssign(!1,e),this.type===we.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(o,"SpreadElement"));this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(t||e)&&(n=this.start,s=this.startLoc),t||(r=this.eat(we.star)));var a=this.containsEsc;return this.parsePropertyName(o),!t&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(o)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(we.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},rr.parseGetterSetter=function(t){t.kind=t.key.name,this.parsePropertyName(t),t.value=this.parseMethod(!1);var e="get"===t.kind?0:1;if(t.value.params.length!==e){var r=t.value.start;"get"===t.kind?this.raiseRecoverable(r,"getter should have no params"):this.raiseRecoverable(r,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")},rr.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===we.colon&&this.unexpected(),this.eat(we.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===we.parenL?(e&&this.unexpected(),t.kind="init",t.method=!0,t.value=this.parseMethod(r,i)):e||a||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===we.comma||this.type===we.braceR||this.type===we.eq?this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),t.kind="init",e?t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key)):this.type===we.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key))):t.value=this.copyNode(t.key),t.shorthand=!0):this.unexpected():((r||i)&&this.unexpected(),this.parseGetterSetter(t))},rr.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(we.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(we.bracketR),t.key;t.computed=!1}return t.key=this.type===we.num||this.type===we.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},rr.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},rr.parseMethod=function(t,e,r){var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|Me(e,i.generator)|(r?128:0)),this.expect(we.parenL),i.params=this.parseBindingList(we.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0,!1),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(i,"FunctionExpression")},rr.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|Me(r,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1,i),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(t,"ArrowFunctionExpression")},rr.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==we.braceL,s=this.strict,o=!1;if(n)t.body=this.parseMaybeAssign(i),t.expression=!0,this.checkParams(t,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!a||(o=this.strictDirective(this.end))&&a&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(t,!s&&!o&&!e&&!r&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLValSimple(t.id,5),t.body=this.parseBlock(!1,void 0,o&&!s),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=c}this.exitScope()},rr.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1)if("Identifier"!==r[e].type)return!1;return!0},rr.checkParams=function(t,e){for(var r=Object.create(null),i=0,n=t.params;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,1,e?null:r)}},rr.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(we.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===we.comma?o=null:this.type===we.ellipsis?(o=this.parseSpread(i),i&&this.type===we.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},rr.checkUnreserved=function(t){var e=t.start,r=t.end,i=t.name;this.inGenerator&&"yield"===i&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===i&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().inClassFieldInit&&"arguments"===i&&this.raiseRecoverable(e,"Cannot use 'arguments' in class field initializer"),!this.inClassStaticBlock||"arguments"!==i&&"await"!==i||this.raise(e,"Cannot use "+i+" in class static initialization block"),this.keywords.test(i)&&this.raise(e,"Unexpected keyword '"+i+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,r).indexOf("\\")||(this.strict?this.reservedWordsStrict:this.reservedWords).test(i)&&(this.inAsync||"await"!==i||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+i+"' is reserved"))},rr.parseIdent=function(t){var e=this.parseIdentNode();return this.next(!!t),this.finishNode(e,"Identifier"),t||(this.checkUnreserved(e),"await"!==e.name||this.awaitIdentPos||(this.awaitIdentPos=e.start)),e},rr.parseIdentNode=function(){var t=this.startNode();return this.type===we.name?t.name=this.value:this.type.keyword?(t.name=this.type.keyword,"class"!==t.name&&"function"!==t.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop()):this.unexpected(),t},rr.parsePrivateIdent=function(){var t=this.startNode();return this.type===we.privateId?t.name=this.value:this.unexpected(),this.next(),this.finishNode(t,"PrivateIdentifier"),this.options.checkPrivateFields&&(0===this.privateNameStack.length?this.raise(t.start,"Private field '#"+t.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(t)),t},rr.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===we.semi||this.canInsertSemicolon()||this.type!==we.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(we.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},rr.parseAwait=function(t){this.awaitPos||(this.awaitPos=this.start);var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!0,!1,t),this.finishNode(e,"AwaitExpression")};var sr=Fe.prototype;sr.raise=function(t,e){var r=De(this.input,t);e+=" ("+r.line+":"+r.column+")";var i=new SyntaxError(e);throw i.pos=t,i.loc=r,i.raisedAt=this.pos,i},sr.raiseRecoverable=sr.raise,sr.curPosition=function(){if(this.options.locations)return new Be(this.curLine,this.pos-this.lineStart)};var or=Fe.prototype,ar=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};or.enterScope=function(t){this.scopeStack.push(new ar(t))},or.exitScope=function(){this.scopeStack.pop()},or.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},or.declareName=function(t,e,r){var i=!1;if(2===e){var n=this.currentScope();i=n.lexical.indexOf(t)>-1||n.functions.indexOf(t)>-1||n.var.indexOf(t)>-1,n.lexical.push(t),this.inModule&&1&n.flags&&delete this.undefinedExports[t]}else if(4===e)this.currentScope().lexical.push(t);else if(3===e){var s=this.currentScope();i=this.treatFunctionsAsVar?s.lexical.indexOf(t)>-1:s.lexical.indexOf(t)>-1||s.var.indexOf(t)>-1,s.functions.push(t)}else for(var o=this.scopeStack.length-1;o>=0;--o){var a=this.scopeStack[o];if(a.lexical.indexOf(t)>-1&&!(32&a.flags&&a.lexical[0]===t)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(t)>-1){i=!0;break}if(a.var.push(t),this.inModule&&1&a.flags&&delete this.undefinedExports[t],259&a.flags)break}i&&this.raiseRecoverable(r,"Identifier '"+t+"' has already been declared")},or.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},or.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},or.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags)return e}},or.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags&&!(16&e.flags))return e}};var cr=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Pe(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},lr=Fe.prototype;function hr(t,e,r,i){return t.type=e,t.end=r,this.options.locations&&(t.loc.end=i),this.options.ranges&&(t.range[1]=r),t}lr.startNode=function(){return new cr(this,this.start,this.startLoc)},lr.startNodeAt=function(t,e){return new cr(this,t,e)},lr.finishNode=function(t,e){return hr.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},lr.finishNodeAt=function(t,e,r,i){return hr.call(this,t,e,r,i)},lr.copyNode=function(t){var e=new cr(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var ur="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",pr=ur+" Extended_Pictographic",dr=pr+" EBase EComp EMod EPres ExtPict",fr={9:ur,10:pr,11:pr,12:dr,13:dr,14:"ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS Extended_Pictographic EBase EComp EMod EPres ExtPict"},gr={9:"",10:"",11:"",12:"",13:"",14:"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"},yr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",mr="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",wr=mr+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",br=wr+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Ar=br+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",vr={9:mr,10:wr,11:br,12:Ar,13:Ar+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",14:"Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith Hrkt Katakana_Or_Hiragana Kawi Nag_Mundari Nagm Unknown Zzzz"},_r={};function Er(t){var e=_r[t]={binary:ke(fr[t]+" "+yr),binaryOfStrings:ke(gr[t]),nonBinary:{General_Category:ke(yr),Script:ke(vr[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}for(var Sr=0,xr=[9,10,11,12,13,14];Sr<xr.length;Sr+=1)Er(xr[Sr]);var Tr=Fe.prototype,Cr=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=_r[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=[],this.backReferenceNames=[]};function Ir(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function Rr(t){return t>=65&&t<=90||t>=97&&t<=122}function kr(t){return Rr(t)||95===t}function Nr(t){return kr(t)||Or(t)}function Or(t){return t>=48&&t<=57}function Br(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Pr(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function Dr(t){return t>=48&&t<=55}Cr.prototype.reset=function(t,e,r){var i=-1!==r.indexOf("v"),n=-1!==r.indexOf("u");this.start=0|t,this.source=e+"",this.flags=r,i&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=n&&this.parser.options.ecmaVersion>=9)},Cr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Cr.prototype.at=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return-1;var n=r.charCodeAt(t);if(!e&&!this.switchU||n<=55295||n>=57344||t+1>=i)return n;var s=r.charCodeAt(t+1);return s>=56320&&s<=57343?(n<<10)+s-56613888:n},Cr.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return i;var n,s=r.charCodeAt(t);return!e&&!this.switchU||s<=55295||s>=57344||t+1>=i||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},Cr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Cr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Cr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Cr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Cr.prototype.eatChars=function(t,e){void 0===e&&(e=!1);for(var r=this.pos,i=0,n=t;i<n.length;i+=1){var s=n[i],o=this.at(r,e);if(-1===o||o!==s)return!1;r=this.nextIndex(r,e)}return this.pos=r,!0},Tr.validateRegExpFlags=function(t){for(var e=t.validFlags,r=t.flags,i=!1,n=!1,s=0;s<r.length;s++){var o=r.charAt(s);-1===e.indexOf(o)&&this.raise(t.start,"Invalid regular expression flag"),r.indexOf(o,s+1)>-1&&this.raise(t.start,"Duplicate regular expression flag"),"u"===o&&(i=!0),"v"===o&&(n=!0)}this.options.ecmaVersion>=15&&i&&n&&this.raise(t.start,"Invalid regular expression flag")},Tr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},Tr.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames.length=0,t.backReferenceNames.length=0,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,r=t.backReferenceNames;e<r.length;e+=1){var i=r[e];-1===t.groupNames.indexOf(i)&&t.raise("Invalid named capture referenced")}},Tr.regexp_disjunction=function(t){for(this.regexp_alternative(t);t.eat(124);)this.regexp_alternative(t);this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},Tr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},Tr.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},Tr.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var r=!1;if(this.options.ecmaVersion>=9&&(r=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!r,!0}return t.pos=e,!1},Tr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},Tr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},Tr.regexp_eatBracedQuantifier=function(t,e){var r=t.pos;if(t.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(n=t.lastIntValue),t.eat(125)))return-1!==n&&n<i&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=r}return!1},Tr.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},Tr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},Tr.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)&&t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}t.pos=e}return!1},Tr.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},Tr.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},Tr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},Tr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Ir(e)&&(t.lastIntValue=e,t.advance(),!0)},Tr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!Ir(r);)t.advance();return t.pos!==e},Tr.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e||(t.advance(),0))},Tr.regexp_groupSpecifier=function(t){if(t.eat(63)){if(this.regexp_eatGroupName(t))return-1!==t.groupNames.indexOf(t.lastStringValue)&&t.raise("Duplicate capture group name"),void t.groupNames.push(t.lastStringValue);t.raise("Invalid group")}},Tr.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},Tr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ne(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ne(t.lastIntValue);return!0}return!1},Tr.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return he(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Tr.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return ue(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},Tr.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},Tr.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var r=t.lastIntValue;if(t.switchU)return r>t.maxBackReference&&(t.maxBackReference=r),!0;if(r<=t.numCapturingParens)return!0;t.pos=e}return!1},Tr.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},Tr.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},Tr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},Tr.regexp_eatZero=function(t){return 48===t.current()&&!Or(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},Tr.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},Tr.regexp_eatControlLetter=function(t){var e=t.current();return!!Rr(e)&&(t.lastIntValue=e%32,t.advance(),!0)},Tr.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var r,i=t.pos,n=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(n&&s>=55296&&s<=56319){var o=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var a=t.lastIntValue;if(a>=56320&&a<=57343)return t.lastIntValue=1024*(s-55296)+(a-56320)+65536,!0}t.pos=o,t.lastIntValue=s}return!0}if(n&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&(r=t.lastIntValue)>=0&&r<=1114111)return!0;n&&t.raise("Invalid unicode escape"),t.pos=i}return!1},Tr.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e||(t.lastIntValue=e,t.advance(),0))},Tr.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1},Tr.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),1;var r=!1;if(t.switchU&&this.options.ecmaVersion>=9&&((r=80===e)||112===e)){var i;if(t.lastIntValue=-1,t.advance(),t.eat(123)&&(i=this.regexp_eatUnicodePropertyValueExpression(t))&&t.eat(125))return r&&2===i&&t.raise("Invalid property name"),i;t.raise("Invalid property name")}return 0},Tr.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var r=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,r,i),1}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var n=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,n)}return 0},Tr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){Ie(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},Tr.regexp_validateUnicodePropertyNameOrValue=function(t,e){return t.unicodeProperties.binary.test(e)?1:t.switchV&&t.unicodeProperties.binaryOfStrings.test(e)?2:void t.raise("Invalid property name")},Tr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";kr(e=t.current());)t.lastStringValue+=Ne(e),t.advance();return""!==t.lastStringValue},Tr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Nr(e=t.current());)t.lastStringValue+=Ne(e),t.advance();return""!==t.lastStringValue},Tr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},Tr.regexp_eatCharacterClass=function(t){if(t.eat(91)){var e=t.eat(94),r=this.regexp_classContents(t);return t.eat(93)||t.raise("Unterminated character class"),e&&2===r&&t.raise("Negated character class may contain strings"),!0}return!1},Tr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},Tr.regexp_nonEmptyClassRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var r=t.lastIntValue;!t.switchU||-1!==e&&-1!==r||t.raise("Invalid character class"),-1!==e&&-1!==r&&e>r&&t.raise("Range out of order in character class")}}},Tr.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var r=t.current();(99===r||Dr(r))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var i=t.current();return 93!==i&&(t.lastIntValue=i,t.advance(),!0)},Tr.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},Tr.regexp_classSetExpression=function(t){var e,r=1;if(this.regexp_eatClassSetRange(t));else if(e=this.regexp_eatClassSetOperand(t)){2===e&&(r=2);for(var i=t.pos;t.eatChars([38,38]);)38!==t.current()&&(e=this.regexp_eatClassSetOperand(t))?2!==e&&(r=1):t.raise("Invalid character in character class");if(i!==t.pos)return r;for(;t.eatChars([45,45]);)this.regexp_eatClassSetOperand(t)||t.raise("Invalid character in character class");if(i!==t.pos)return r}else t.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(t)){if(!(e=this.regexp_eatClassSetOperand(t)))return r;2===e&&(r=2)}},Tr.regexp_eatClassSetRange=function(t){var e=t.pos;if(this.regexp_eatClassSetCharacter(t)){var r=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassSetCharacter(t)){var i=t.lastIntValue;return-1!==r&&-1!==i&&r>i&&t.raise("Range out of order in character class"),!0}t.pos=e}return!1},Tr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},Tr.regexp_eatNestedClass=function(t){var e=t.pos;if(t.eat(91)){var r=t.eat(94),i=this.regexp_classContents(t);if(t.eat(93))return r&&2===i&&t.raise("Negated character class may contain strings"),i;t.pos=e}if(t.eat(92)){var n=this.regexp_eatCharacterClassEscape(t);if(n)return n;t.pos=e}return null},Tr.regexp_eatClassStringDisjunction=function(t){var e=t.pos;if(t.eatChars([92,113])){if(t.eat(123)){var r=this.regexp_classStringDisjunctionContents(t);if(t.eat(125))return r}else t.raise("Invalid escape");t.pos=e}return null},Tr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},Tr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},Tr.regexp_eatClassSetCharacter=function(t){var e=t.pos;if(t.eat(92))return!(!this.regexp_eatCharacterEscape(t)&&!this.regexp_eatClassSetReservedPunctuator(t)&&(t.eat(98)?(t.lastIntValue=8,0):(t.pos=e,1)));var r=t.current();return!(r<0||r===t.lookahead()&&function(t){return 33===t||t>=35&&t<=38||t>=42&&t<=44||46===t||t>=58&&t<=64||94===t||96===t||126===t}(r)||function(t){return 40===t||41===t||45===t||47===t||t>=91&&t<=93||t>=123&&t<=125}(r)||(t.advance(),t.lastIntValue=r,0))},Tr.regexp_eatClassSetReservedPunctuator=function(t){var e=t.current();return!!function(t){return 33===t||35===t||37===t||38===t||44===t||45===t||t>=58&&t<=62||64===t||96===t||126===t}(e)&&(t.lastIntValue=e,t.advance(),!0)},Tr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!Or(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},Tr.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},Tr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;Or(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},Tr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;Br(r=t.current());)t.lastIntValue=16*t.lastIntValue+Pr(r),t.advance();return t.pos!==e},Tr.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var r=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*r+t.lastIntValue:t.lastIntValue=8*e+r}else t.lastIntValue=e;return!0}return!1},Tr.regexp_eatOctalDigit=function(t){var e=t.current();return Dr(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},Tr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!Br(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+Pr(n),t.advance()}return!0};var Lr=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Pe(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},Ur=Fe.prototype;function Mr(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}Ur.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new Lr(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},Ur.getToken=function(){return this.next(),new Lr(this)},"undefined"!=typeof Symbol&&(Ur[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===we.eof,value:e}}}}),Ur.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(we.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},Ur.readToken=function(t){return he(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},Ur.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=56320)return t;var e=this.input.charCodeAt(this.pos+1);return e<=56319||e>=57344?t:(t<<10)+e-56613888},Ur.skipBlockComment=function(){var t=this.options.onComment&&this.curPosition(),e=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var i=void 0,n=e;(i=_e(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=i;this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,r),e,this.pos,t,this.curPosition())},Ur.skipLineComment=function(t){for(var e=this.pos,r=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!ve(i);)i=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,r,this.curPosition())},Ur.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&Ee.test(String.fromCharCode(t))))break t;++this.pos}}},Ur.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=t,this.value=e,this.updateContext(r)},Ur.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(we.ellipsis)):(++this.pos,this.finishToken(we.dot))},Ur.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(we.assign,2):this.finishOp(we.slash,1)},Ur.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?we.star:we.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=we.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(we.assign,r+1):this.finishOp(i,r)},Ur.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?this.options.ecmaVersion>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(we.assign,3):this.finishOp(124===t?we.logicalOR:we.logicalAND,2):61===e?this.finishOp(we.assign,2):this.finishOp(124===t?we.bitwiseOR:we.bitwiseAND,1)},Ur.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(we.assign,2):this.finishOp(we.bitwiseXOR,1)},Ur.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!be.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(we.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(we.assign,2):this.finishOp(we.plusMin,1)},Ur.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(we.assign,r+1):this.finishOp(we.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(r=2),this.finishOp(we.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},Ur.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(we.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(we.arrow)):this.finishOp(61===t?we.eq:we.prefix,1)},Ur.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(we.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(we.assign,3):this.finishOp(we.coalesce,2)}return this.finishOp(we.question,1)},Ur.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,he(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(we.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Ne(t)+"'")},Ur.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(we.parenL);case 41:return++this.pos,this.finishToken(we.parenR);case 59:return++this.pos,this.finishToken(we.semi);case 44:return++this.pos,this.finishToken(we.comma);case 91:return++this.pos,this.finishToken(we.bracketL);case 93:return++this.pos,this.finishToken(we.bracketR);case 123:return++this.pos,this.finishToken(we.braceL);case 125:return++this.pos,this.finishToken(we.braceR);case 58:return++this.pos,this.finishToken(we.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(we.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(we.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Ne(t)+"'")},Ur.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},Ur.readRegexp=function(){for(var t,e,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(be.test(i)&&this.raise(r,"Unterminated regular expression"),t)t=!1;else{if("["===i)e=!0;else if("]"===i&&e)e=!1;else if("/"===i&&!e)break;t="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(s);var a=this.regexpState||(this.regexpState=new Cr(this));a.reset(r,n,o),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var c=null;try{c=new RegExp(n,o)}catch(t){}return this.finishToken(we.regexp,{pattern:n,flags:o,value:c})},Ur.readInt=function(t,e,r){for(var i=this.options.ecmaVersion>=12&&void 0===e,n=r&&48===this.input.charCodeAt(this.pos),s=this.pos,o=0,a=0,c=0,l=null==e?1/0:e;c<l;++c,++this.pos){var h=this.input.charCodeAt(this.pos),u=void 0;if(i&&95===h)n&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===a&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===c&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),a=h;else{if((u=h>=97?h-97+10:h>=65?h-65+10:h>=48&&h<=57?h-48:1/0)>=t)break;a=h,o=o*t+u}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||null!=e&&this.pos-s!==e?null:o},Ur.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var r=this.readInt(t);return null==r&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=Mr(this.input.slice(e,this.pos)),++this.pos):he(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(we.num,r)},Ur.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var r=this.pos-e>=2&&48===this.input.charCodeAt(e);r&&this.strict&&this.raise(e,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!t&&this.options.ecmaVersion>=11&&110===i){var n=Mr(this.input.slice(e,this.pos));return++this.pos,he(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(we.num,n)}r&&/[89]/.test(this.input.slice(e,this.pos))&&(r=!1),46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),he(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=function(t,e){return e?parseInt(t,8):parseFloat(t.replace(/_/g,""))}(this.input.slice(e,this.pos),r);return this.finishToken(we.num,s)},Ur.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},Ur.readString=function(t){for(var e="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===t)break;92===i?(e+=this.input.slice(r,this.pos),e+=this.readEscapedChar(!1),r=this.pos):8232===i||8233===i?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(ve(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(we.string,e)};var Fr={};Ur.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Fr)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},Ur.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Fr;this.raise(t,e)},Ur.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==we.template&&this.type!==we.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(we.template,t)):36===r?(this.pos+=2,this.finishToken(we.dollarBraceL)):(++this.pos,this.finishToken(we.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(ve(r)){switch(t+=this.input.slice(e,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},Ur.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(we.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},Ur.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return Ne(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),t){var r=this.pos-1;this.invalidStringToken(r,"Invalid escape sequence in template string")}default:if(e>=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return ve(e)?"":String.fromCharCode(e)}},Ur.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},Ur.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos<this.input.length;){var n=this.fullCharCodeAtPos();if(ue(n,i))this.pos+=n<=65535?1:2;else{if(92!==n)break;this.containsEsc=!0,t+=this.input.slice(r,this.pos);var s=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var o=this.readCodePoint();(e?he:ue)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=Ne(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},Ur.readWord=function(){var t=this.readWord1(),e=we.name;return this.keywords.test(t)&&(e=ye[t]),this.finishToken(e,t)},Fe.acorn={Parser:Fe,version:"8.10.0",defaultOptions:Le,Position:Be,SourceLocation:Pe,getLineInfo:De,Node:cr,TokenType:pe,tokTypes:we,keywordTypes:ye,TokContext:$e,tokContexts:tr,isIdentifierChar:ue,isIdentifierStart:he,Token:Lr,isNewLine:ve,lineBreak:be,lineBreakG:Ae,nonASCIIwhitespace:Ee};const Hr=/^\s*?import\s*?[{"'*]/,Wr=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,jr=/^\s*?import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,Vr=/(import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,Gr=["window","globalThis","self","document","location","top","parent","frames","opener"],zr=Gr.map((t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`)).join("|"),qr=new RegExp(`(${zr})`),Qr=(()=>{const t="_____WB$wombat$check$this$function_____(this)",e="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),";function r(){return(e,r,i,n)=>function(t,e){let r=t.lastIndexOf('"',e);return r<0&&(r=t.indexOf('"',e)),r>0&&"\\"===t[r-1]}(n,i)?e:e.replace("this",t)}function i(t,e){return r=>r.replace(t,e)}return[[/(?:^|\s)\beval\s*\(/,(n=e,"eval",t=>{const e=t.indexOf("eval");return 0===e?n:t.slice(0,e)+n})],[/\([\w]+,\s*eval\)\(/,()=>" "+e],[/[=]\s*\beval\b(?![(:.$])/,i("eval","self.eval")],[/var\s+self/,i("var","let")],[/\.postMessage\b\(/,t=>".__WB_pmw(self)"+t],[/(?:^|[^$.+*/%^-])\s?\blocation\b\s*[=]\s*(?![\s\d=>])/,("((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).href = ",(t,e,r,i)=>{if(r>0){const e=i[r-1];if("."===e||"$"===e)return t}return t+"((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).href = "})],[/\breturn\s+this\b\s*(?![\s\w.$])/,r()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${Gr.join("|")})\\b))`),(e,r,i,n)=>{const s=n[i];return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,r()],[/\}(?:\s*\))?\s*\(this\)/,r()],[/[^|&][|&]{2}\s*this\b\s*(?![|\s&.$](?:[^|&]|$))/,r()],[/async\s+import\s*\(/,t=>t],[/[^$.]\bimport\s*\([^)]*\)\s*\{/,t=>t],[/[^$.]\bimport\s*\(/,("import","____wb_rewrite_import__",(t,e)=>{let r=t.replace("import","____wb_rewrite_import__");return r+=e.isModule?"import.meta.url, ":"null, ",r})]];var n})(),Kr=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),Yr="�";var Jr;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.NUMBER_SIGN=35]="NUMBER_SIGN",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",t[t.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_F=102]="LATIN_SMALL_F",t[t.LATIN_SMALL_X=120]="LATIN_SMALL_X",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",t[t.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"}(Jr=Jr||(Jr={}));const Xr="[CDATA[",Zr="doctype",$r="script";function ti(t){return t>=55296&&t<=57343}function ei(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function ri(t){return t>=64976&&t<=65007||Kr.has(t)}var ii,ni;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(ii=ii||(ii={}));class si{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t){const{line:e,col:r,offset:i}=this;return{code:t,startLine:e,endLine:e,startCol:r,endCol:r,startOffset:i,endOffset:i}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(function(t){return t>=56320&&t<=57343}(e))return this.pos++,this._addGap(),1024*(t-55296)+9216+e}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,Jr.EOF;return this._err(ii.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,e){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,e){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(t,this.pos);for(let e=0;e<t.length;e++)if((32|this.html.charCodeAt(this.pos+e))!==t.charCodeAt(e))return!1;return!0}peek(t){const e=this.pos+t;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Jr.EOF;const r=this.html.charCodeAt(e);return r===Jr.CARRIAGE_RETURN?Jr.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,Jr.EOF;let t=this.html.charCodeAt(this.pos);return t===Jr.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Jr.LINE_FEED):t===Jr.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,ti(t)&&(t=this._processSurrogate(t)),null===this.handler.onParseError||t>31&&t<127||t===Jr.LINE_FEED||t===Jr.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){ei(t)?this._err(ii.controlCharacterInInputStream):ri(t)&&this._err(ii.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(ni=ni||(ni={}));const oi=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map((t=>t.charCodeAt(0)))),ai=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((t=>t.charCodeAt(0))));var ci;const li=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),hi=null!==(ci=String.fromCodePoint)&&void 0!==ci?ci:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function ui(t){return hi(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=li.get(t))&&void 0!==e?e:t}(t))}var pi,di,fi,gi,yi,mi,wi;function bi(t){return function(e,r){let i="",n=0,s=0;for(;(s=e.indexOf("&",s))>=0;){if(i+=e.slice(n,s),n=s,s+=1,e.charCodeAt(s)===pi.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|pi.To_LOWER_BIT)===pi.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=pi.ZERO&&a<=pi.NINE||16===o&&(a|pi.To_LOWER_BIT)>=pi.LOWER_A&&(a|pi.To_LOWER_BIT)<=pi.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===pi.SEMI)s+=1;else if(r)continue;i+=ui(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=Ai(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&di.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==pi.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&di.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~di.VALUE_LENGTH):2===e?String.fromCharCode(t[o+1]):String.fromCharCode(t[o+1],t[o+2]),n=s-a+1}}return i+e.slice(n)}}function Ai(t,e,r,i){const n=(e&di.BRANCH_LENGTH)>>7,s=e&di.JUMP_TABLE;if(0===n)return 0!==s&&i===s?r:-1;if(s){const e=i-s;return e<0||e>=n?-1:t[r+e]-1}let o=r,a=o+n-1;for(;o<=a;){const e=o+a>>>1,r=t[e];if(r<i)o=e+1;else{if(!(r>i))return t[e+n];a=e-1}}return-1}!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.To_LOWER_BIT=32]="To_LOWER_BIT"}(pi||(pi={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(di||(di={})),bi(oi),bi(ai),function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(fi=fi||(fi={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}(gi=gi||(gi={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(yi=yi||(yi={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(mi=mi||(mi={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SECTION=94]="SECTION",t[t.SELECT=95]="SELECT",t[t.SOURCE=96]="SOURCE",t[t.SMALL=97]="SMALL",t[t.SPAN=98]="SPAN",t[t.STRIKE=99]="STRIKE",t[t.STRONG=100]="STRONG",t[t.STYLE=101]="STYLE",t[t.SUB=102]="SUB",t[t.SUMMARY=103]="SUMMARY",t[t.SUP=104]="SUP",t[t.TABLE=105]="TABLE",t[t.TBODY=106]="TBODY",t[t.TEMPLATE=107]="TEMPLATE",t[t.TEXTAREA=108]="TEXTAREA",t[t.TFOOT=109]="TFOOT",t[t.TD=110]="TD",t[t.TH=111]="TH",t[t.THEAD=112]="THEAD",t[t.TITLE=113]="TITLE",t[t.TR=114]="TR",t[t.TRACK=115]="TRACK",t[t.TT=116]="TT",t[t.U=117]="U",t[t.UL=118]="UL",t[t.SVG=119]="SVG",t[t.VAR=120]="VAR",t[t.WBR=121]="WBR",t[t.XMP=122]="XMP"}(wi=wi||(wi={}));const vi=new Map([[mi.A,wi.A],[mi.ADDRESS,wi.ADDRESS],[mi.ANNOTATION_XML,wi.ANNOTATION_XML],[mi.APPLET,wi.APPLET],[mi.AREA,wi.AREA],[mi.ARTICLE,wi.ARTICLE],[mi.ASIDE,wi.ASIDE],[mi.B,wi.B],[mi.BASE,wi.BASE],[mi.BASEFONT,wi.BASEFONT],[mi.BGSOUND,wi.BGSOUND],[mi.BIG,wi.BIG],[mi.BLOCKQUOTE,wi.BLOCKQUOTE],[mi.BODY,wi.BODY],[mi.BR,wi.BR],[mi.BUTTON,wi.BUTTON],[mi.CAPTION,wi.CAPTION],[mi.CENTER,wi.CENTER],[mi.CODE,wi.CODE],[mi.COL,wi.COL],[mi.COLGROUP,wi.COLGROUP],[mi.DD,wi.DD],[mi.DESC,wi.DESC],[mi.DETAILS,wi.DETAILS],[mi.DIALOG,wi.DIALOG],[mi.DIR,wi.DIR],[mi.DIV,wi.DIV],[mi.DL,wi.DL],[mi.DT,wi.DT],[mi.EM,wi.EM],[mi.EMBED,wi.EMBED],[mi.FIELDSET,wi.FIELDSET],[mi.FIGCAPTION,wi.FIGCAPTION],[mi.FIGURE,wi.FIGURE],[mi.FONT,wi.FONT],[mi.FOOTER,wi.FOOTER],[mi.FOREIGN_OBJECT,wi.FOREIGN_OBJECT],[mi.FORM,wi.FORM],[mi.FRAME,wi.FRAME],[mi.FRAMESET,wi.FRAMESET],[mi.H1,wi.H1],[mi.H2,wi.H2],[mi.H3,wi.H3],[mi.H4,wi.H4],[mi.H5,wi.H5],[mi.H6,wi.H6],[mi.HEAD,wi.HEAD],[mi.HEADER,wi.HEADER],[mi.HGROUP,wi.HGROUP],[mi.HR,wi.HR],[mi.HTML,wi.HTML],[mi.I,wi.I],[mi.IMG,wi.IMG],[mi.IMAGE,wi.IMAGE],[mi.INPUT,wi.INPUT],[mi.IFRAME,wi.IFRAME],[mi.KEYGEN,wi.KEYGEN],[mi.LABEL,wi.LABEL],[mi.LI,wi.LI],[mi.LINK,wi.LINK],[mi.LISTING,wi.LISTING],[mi.MAIN,wi.MAIN],[mi.MALIGNMARK,wi.MALIGNMARK],[mi.MARQUEE,wi.MARQUEE],[mi.MATH,wi.MATH],[mi.MENU,wi.MENU],[mi.META,wi.META],[mi.MGLYPH,wi.MGLYPH],[mi.MI,wi.MI],[mi.MO,wi.MO],[mi.MN,wi.MN],[mi.MS,wi.MS],[mi.MTEXT,wi.MTEXT],[mi.NAV,wi.NAV],[mi.NOBR,wi.NOBR],[mi.NOFRAMES,wi.NOFRAMES],[mi.NOEMBED,wi.NOEMBED],[mi.NOSCRIPT,wi.NOSCRIPT],[mi.OBJECT,wi.OBJECT],[mi.OL,wi.OL],[mi.OPTGROUP,wi.OPTGROUP],[mi.OPTION,wi.OPTION],[mi.P,wi.P],[mi.PARAM,wi.PARAM],[mi.PLAINTEXT,wi.PLAINTEXT],[mi.PRE,wi.PRE],[mi.RB,wi.RB],[mi.RP,wi.RP],[mi.RT,wi.RT],[mi.RTC,wi.RTC],[mi.RUBY,wi.RUBY],[mi.S,wi.S],[mi.SCRIPT,wi.SCRIPT],[mi.SECTION,wi.SECTION],[mi.SELECT,wi.SELECT],[mi.SOURCE,wi.SOURCE],[mi.SMALL,wi.SMALL],[mi.SPAN,wi.SPAN],[mi.STRIKE,wi.STRIKE],[mi.STRONG,wi.STRONG],[mi.STYLE,wi.STYLE],[mi.SUB,wi.SUB],[mi.SUMMARY,wi.SUMMARY],[mi.SUP,wi.SUP],[mi.TABLE,wi.TABLE],[mi.TBODY,wi.TBODY],[mi.TEMPLATE,wi.TEMPLATE],[mi.TEXTAREA,wi.TEXTAREA],[mi.TFOOT,wi.TFOOT],[mi.TD,wi.TD],[mi.TH,wi.TH],[mi.THEAD,wi.THEAD],[mi.TITLE,wi.TITLE],[mi.TR,wi.TR],[mi.TRACK,wi.TRACK],[mi.TT,wi.TT],[mi.U,wi.U],[mi.UL,wi.UL],[mi.SVG,wi.SVG],[mi.VAR,wi.VAR],[mi.WBR,wi.WBR],[mi.XMP,wi.XMP]]);function _i(t){var e;return null!==(e=vi.get(t))&&void 0!==e?e:wi.UNKNOWN}const Ei=wi;fi.HTML,new Set([Ei.ADDRESS,Ei.APPLET,Ei.AREA,Ei.ARTICLE,Ei.ASIDE,Ei.BASE,Ei.BASEFONT,Ei.BGSOUND,Ei.BLOCKQUOTE,Ei.BODY,Ei.BR,Ei.BUTTON,Ei.CAPTION,Ei.CENTER,Ei.COL,Ei.COLGROUP,Ei.DD,Ei.DETAILS,Ei.DIR,Ei.DIV,Ei.DL,Ei.DT,Ei.EMBED,Ei.FIELDSET,Ei.FIGCAPTION,Ei.FIGURE,Ei.FOOTER,Ei.FORM,Ei.FRAME,Ei.FRAMESET,Ei.H1,Ei.H2,Ei.H3,Ei.H4,Ei.H5,Ei.H6,Ei.HEAD,Ei.HEADER,Ei.HGROUP,Ei.HR,Ei.HTML,Ei.IFRAME,Ei.IMG,Ei.INPUT,Ei.LI,Ei.LINK,Ei.LISTING,Ei.MAIN,Ei.MARQUEE,Ei.MENU,Ei.META,Ei.NAV,Ei.NOEMBED,Ei.NOFRAMES,Ei.NOSCRIPT,Ei.OBJECT,Ei.OL,Ei.P,Ei.PARAM,Ei.PLAINTEXT,Ei.PRE,Ei.SCRIPT,Ei.SECTION,Ei.SELECT,Ei.SOURCE,Ei.STYLE,Ei.SUMMARY,Ei.TABLE,Ei.TBODY,Ei.TD,Ei.TEMPLATE,Ei.TEXTAREA,Ei.TFOOT,Ei.TH,Ei.THEAD,Ei.TITLE,Ei.TR,Ei.TRACK,Ei.UL,Ei.WBR,Ei.XMP]),fi.MATHML,new Set([Ei.MI,Ei.MO,Ei.MN,Ei.MS,Ei.MTEXT,Ei.ANNOTATION_XML]),fi.SVG,new Set([Ei.TITLE,Ei.FOREIGN_OBJECT,Ei.DESC]),fi.XLINK,new Set,fi.XML,new Set,fi.XMLNS,new Set;const Si=new Set([mi.STYLE,mi.SCRIPT,mi.XMP,mi.IFRAME,mi.NOEMBED,mi.NOFRAMES,mi.PLAINTEXT]),xi=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var Ti;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",t[t.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",t[t.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",t[t.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",t[t.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",t[t.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}(Ti||(Ti={}));const Ci={DATA:Ti.DATA,RCDATA:Ti.RCDATA,RAWTEXT:Ti.RAWTEXT,SCRIPT_DATA:Ti.SCRIPT_DATA,PLAINTEXT:Ti.PLAINTEXT,CDATA_SECTION:Ti.CDATA_SECTION};function Ii(t){return t>=Jr.DIGIT_0&&t<=Jr.DIGIT_9}function Ri(t){return t>=Jr.LATIN_CAPITAL_A&&t<=Jr.LATIN_CAPITAL_Z}function ki(t){return function(t){return t>=Jr.LATIN_SMALL_A&&t<=Jr.LATIN_SMALL_Z}(t)||Ri(t)}function Ni(t){return ki(t)||Ii(t)}function Oi(t){return t>=Jr.LATIN_CAPITAL_A&&t<=Jr.LATIN_CAPITAL_F}function Bi(t){return t>=Jr.LATIN_SMALL_A&&t<=Jr.LATIN_SMALL_F}function Pi(t){return t+32}function Di(t){return t===Jr.SPACE||t===Jr.LINE_FEED||t===Jr.TABULATION||t===Jr.FORM_FEED}function Li(t){return Di(t)||t===Jr.SOLIDUS||t===Jr.GREATER_THAN_SIGN}class Ui{constructor(t,e){this.options=t,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=Ti.DATA,this.returnState=Ti.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new si(e),this.currentLocation=this.getCurrentLocation(-1)}_err(t){var e,r;null===(r=(e=this.handler).onParseError)||void 0===r||r.call(e,this.preprocessor.getError(t))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==t||t())}write(t,e,r){this.active=!0,this.preprocessor.write(t,e),this._runParsingLoop(),this.paused||null==r||r()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(t){this.consumedAfterSnapshot-=t,this.preprocessor.retreat(t)}_reconsumeInState(t,e){this.state=t,this._callState(e)}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let e=0;e<t;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(t,e){return!!this.preprocessor.startsWith(t,e)&&(this._advanceBy(t.length-1),!0)}_createStartTagToken(){this.currentToken={type:ni.START_TAG,tagName:"",tagID:wi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:ni.END_TAG,tagName:"",tagID:wi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:ni.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:ni.DOCTYPE,name:t,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(t,e){this.currentCharacterToken={type:t,chars:e,location:this.currentLocation}}_createAttr(t){this.currentAttr={name:t,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var t,e;const r=this.currentToken;null===function(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}(r,this.currentAttr.name)?(r.attrs.push(this.currentAttr),r.location&&this.currentLocation&&((null!==(t=(e=r.location).attrs)&&void 0!==t?t:e.attrs=Object.create(null))[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue())):this._err(ii.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(t){this._emitCurrentCharacterToken(t.location),this.currentToken=null,t.location&&(t.location.endLine=this.preprocessor.line,t.location.endCol=this.preprocessor.col+1,t.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const t=this.currentToken;this.prepareToken(t),t.tagID=_i(t.tagName),t.type===ni.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(ii.endTagWithAttributes),t.selfClosing&&this._err(ii.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case ni.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case ni.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case ni.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:ni.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,e){if(this.currentCharacterToken){if(this.currentCharacterToken.type===t)return void(this.currentCharacterToken.chars+=e);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(t,e)}_emitCodePoint(t){const e=Di(t)?ni.WHITESPACE_CHARACTER:t===Jr.NULL?ni.NULL_CHARACTER:ni.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(ni.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let s=0,o=oi[0];s>=0&&(s=Ai(oi,o,s+1,t),!(s<0));t=this._consume()){r+=1,o=oi[s];const a=o&di.VALUE_LENGTH;if(a){const o=(a>>14)-1;if(t!==Jr.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((n=this.preprocessor.peek(1))===Jr.EQUALS_SIGN||Ni(n))?(e=[Jr.AMPERSAND],s+=o):(e=0===o?[oi[s]&~di.VALUE_LENGTH]:1===o?[oi[++s]]:[oi[++s],oi[++s]],r=0,i=t!==Jr.SEMICOLON),0===o){this._consume();break}}}var n;return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(ii.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===Ti.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case Ti.DATA:this._stateData(t);break;case Ti.RCDATA:this._stateRcdata(t);break;case Ti.RAWTEXT:this._stateRawtext(t);break;case Ti.SCRIPT_DATA:this._stateScriptData(t);break;case Ti.PLAINTEXT:this._statePlaintext(t);break;case Ti.TAG_OPEN:this._stateTagOpen(t);break;case Ti.END_TAG_OPEN:this._stateEndTagOpen(t);break;case Ti.TAG_NAME:this._stateTagName(t);break;case Ti.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case Ti.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case Ti.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case Ti.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case Ti.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case Ti.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case Ti.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case Ti.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case Ti.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case Ti.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case Ti.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case Ti.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case Ti.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case Ti.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case Ti.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case Ti.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case Ti.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case Ti.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case Ti.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case Ti.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case Ti.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case Ti.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case Ti.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case Ti.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case Ti.BOGUS_COMMENT:this._stateBogusComment(t);break;case Ti.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case Ti.COMMENT_START:this._stateCommentStart(t);break;case Ti.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case Ti.COMMENT:this._stateComment(t);break;case Ti.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case Ti.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case Ti.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case Ti.COMMENT_END:this._stateCommentEnd(t);break;case Ti.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case Ti.DOCTYPE:this._stateDoctype(t);break;case Ti.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case Ti.DOCTYPE_NAME:this._stateDoctypeName(t);break;case Ti.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case Ti.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case Ti.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case Ti.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case Ti.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case Ti.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case Ti.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case Ti.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case Ti.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case Ti.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case Ti.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case Ti.CDATA_SECTION:this._stateCdataSection(t);break;case Ti.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case Ti.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case Ti.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case Ti.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case Ti.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case Ti.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case Ti.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case Ti.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case Ti.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case Ti.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case Jr.LESS_THAN_SIGN:this.state=Ti.TAG_OPEN;break;case Jr.AMPERSAND:this.returnState=Ti.DATA,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitCodePoint(t);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case Jr.AMPERSAND:this.returnState=Ti.RCDATA,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.LESS_THAN_SIGN:this.state=Ti.RCDATA_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case Jr.LESS_THAN_SIGN:this.state=Ti.RAWTEXT_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(ki(t))this._createStartTagToken(),this.state=Ti.TAG_NAME,this._stateTagName(t);else switch(t){case Jr.EXCLAMATION_MARK:this.state=Ti.MARKUP_DECLARATION_OPEN;break;case Jr.SOLIDUS:this.state=Ti.END_TAG_OPEN;break;case Jr.QUESTION_MARK:this._err(ii.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=Ti.BOGUS_COMMENT,this._stateBogusComment(t);break;case Jr.EOF:this._err(ii.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(ii.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=Ti.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(ki(t))this._createEndTagToken(),this.state=Ti.TAG_NAME,this._stateTagName(t);else switch(t){case Jr.GREATER_THAN_SIGN:this._err(ii.missingEndTagName),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(ii.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=Ti.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_ATTRIBUTE_NAME;break;case Jr.SOLIDUS:this.state=Ti.SELF_CLOSING_START_TAG;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.tagName+=Yr;break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(Ri(t)?Pi(t):t)}}_stateRcdataLessThanSign(t){t===Jr.SOLIDUS?this.state=Ti.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=Ti.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){ki(t)?(this.state=Ti.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=Ti.RCDATA,this._stateRcdata(t))}handleSpecialEndTag(t){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();switch(this._createEndTagToken(),this.currentToken.tagName=this.lastStartTagName,this.preprocessor.peek(this.lastStartTagName.length)){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=Ti.BEFORE_ATTRIBUTE_NAME,!1;case Jr.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=Ti.SELF_CLOSING_START_TAG,!1;case Jr.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=Ti.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===Jr.SOLIDUS?this.state=Ti.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=Ti.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){ki(t)?(this.state=Ti.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=Ti.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case Jr.SOLIDUS:this.state=Ti.SCRIPT_DATA_END_TAG_OPEN;break;case Jr.EXCLAMATION_MARK:this.state=Ti.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=Ti.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){ki(t)?(this.state=Ti.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===Jr.HYPHEN_MINUS?(this.state=Ti.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===Jr.HYPHEN_MINUS?(this.state=Ti.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=Ti.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case Jr.HYPHEN_MINUS:this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.SCRIPT_DATA,this._emitChars(">");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===Jr.SOLIDUS?this.state=Ti.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:ki(t)?(this._emitChars("<"),this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){ki(t)?(this.state=Ti.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith($r,!1)&&Li(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=Ti.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case Jr.HYPHEN_MINUS:this._emitChars("-");break;case Jr.LESS_THAN_SIGN:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Jr.GREATER_THAN_SIGN:this.state=Ti.SCRIPT_DATA,this._emitChars(">");break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Yr);break;case Jr.EOF:this._err(ii.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===Jr.SOLIDUS?(this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith($r,!1)&&Li(this.preprocessor.peek(6))){this._emitCodePoint(t);for(let t=0;t<6;t++)this._emitCodePoint(this._consume());this.state=Ti.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=Ti.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.SOLIDUS:case Jr.GREATER_THAN_SIGN:case Jr.EOF:this.state=Ti.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Jr.EQUALS_SIGN:this._err(ii.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=Ti.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=Ti.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:case Jr.SOLIDUS:case Jr.GREATER_THAN_SIGN:case Jr.EOF:this._leaveAttrName(),this.state=Ti.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Jr.EQUALS_SIGN:this._leaveAttrName(),this.state=Ti.BEFORE_ATTRIBUTE_VALUE;break;case Jr.QUOTATION_MARK:case Jr.APOSTROPHE:case Jr.LESS_THAN_SIGN:this._err(ii.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.name+=Yr;break;default:this.currentAttr.name+=String.fromCodePoint(Ri(t)?Pi(t):t)}}_stateAfterAttributeName(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.SOLIDUS:this.state=Ti.SELF_CLOSING_START_TAG;break;case Jr.EQUALS_SIGN:this.state=Ti.BEFORE_ATTRIBUTE_VALUE;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=Ti.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.QUOTATION_MARK:this.state=Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this.state=Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingAttributeValue),this.state=Ti.DATA,this.emitCurrentTagToken();break;default:this.state=Ti.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case Jr.QUOTATION_MARK:this.state=Ti.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Jr.AMPERSAND:this.returnState=Ti.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.value+=Yr;break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case Jr.APOSTROPHE:this.state=Ti.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Jr.AMPERSAND:this.returnState=Ti.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.value+=Yr;break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this._leaveAttrValue(),this.state=Ti.BEFORE_ATTRIBUTE_NAME;break;case Jr.AMPERSAND:this.returnState=Ti.ATTRIBUTE_VALUE_UNQUOTED,this.state=Ti.CHARACTER_REFERENCE;break;case Jr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this.currentAttr.value+=Yr;break;case Jr.QUOTATION_MARK:case Jr.APOSTROPHE:case Jr.LESS_THAN_SIGN:case Jr.EQUALS_SIGN:case Jr.GRAVE_ACCENT:this._err(ii.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this._leaveAttrValue(),this.state=Ti.BEFORE_ATTRIBUTE_NAME;break;case Jr.SOLIDUS:this._leaveAttrValue(),this.state=Ti.SELF_CLOSING_START_TAG;break;case Jr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this._err(ii.missingWhitespaceBetweenAttributes),this.state=Ti.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case Jr.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=Ti.DATA,this.emitCurrentTagToken();break;case Jr.EOF:this._err(ii.eofInTag),this._emitEOFToken();break;default:this._err(ii.unexpectedSolidusInTag),this.state=Ti.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.data+=Yr;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch("--",!0)?(this._createCommentToken(3),this.state=Ti.COMMENT_START):this._consumeSequenceIfMatch(Zr,!1)?(this.currentLocation=this.getCurrentLocation(8),this.state=Ti.DOCTYPE):this._consumeSequenceIfMatch(Xr,!0)?this.inForeignNode?this.state=Ti.CDATA_SECTION:(this._err(ii.cdataInHtmlContent),this._createCommentToken(8),this.currentToken.data="[CDATA[",this.state=Ti.BOGUS_COMMENT):this._ensureHibernation()||(this._err(ii.incorrectlyOpenedComment),this._createCommentToken(2),this.state=Ti.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_START_DASH;break;case Jr.GREATER_THAN_SIGN:{this._err(ii.abruptClosingOfEmptyComment),this.state=Ti.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_END;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptClosingOfEmptyComment),this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=Ti.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_END_DASH;break;case Jr.LESS_THAN_SIGN:e.data+="<",this.state=Ti.COMMENT_LESS_THAN_SIGN;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.data+=Yr;break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case Jr.EXCLAMATION_MARK:e.data+="!",this.state=Ti.COMMENT_LESS_THAN_SIGN_BANG;break;case Jr.LESS_THAN_SIGN:e.data+="<";break;default:this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===Jr.HYPHEN_MINUS?this.state=Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=Ti.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===Jr.HYPHEN_MINUS?this.state=Ti.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=Ti.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==Jr.GREATER_THAN_SIGN&&t!==Jr.EOF&&this._err(ii.nestedComment),this.state=Ti.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:this.state=Ti.COMMENT_END;break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EXCLAMATION_MARK:this.state=Ti.COMMENT_END_BANG;break;case Jr.HYPHEN_MINUS:e.data+="-";break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=Ti.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case Jr.HYPHEN_MINUS:e.data+="--!",this.state=Ti.COMMENT_END_DASH;break;case Jr.GREATER_THAN_SIGN:this._err(ii.incorrectlyClosedComment),this.state=Ti.DATA,this.emitCurrentComment(e);break;case Jr.EOF:this._err(ii.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=Ti.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_DOCTYPE_NAME;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case Jr.EOF:{this._err(ii.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(ii.missingWhitespaceBeforeDoctypeName),this.state=Ti.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(Ri(t))this._createDoctypeToken(String.fromCharCode(Pi(t))),this.state=Ti.DOCTYPE_NAME;else switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),this._createDoctypeToken(Yr),this.state=Ti.DOCTYPE_NAME;break;case Jr.GREATER_THAN_SIGN:{this._err(ii.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=Ti.DATA;break}case Jr.EOF:{this._err(ii.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(t)),this.state=Ti.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.AFTER_DOCTYPE_NAME;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.name+=Yr;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(Ri(t)?Pi(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch("public",!1)?this.state=Ti.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch("system",!1)?this.state=Ti.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(ii.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Jr.QUOTATION_MARK:this._err(ii.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this._err(ii.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.QUOTATION_MARK:e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:e.publicId="",this.state=Ti.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Jr.QUOTATION_MARK:this.state=Ti.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.publicId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateDoctypePublicIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Jr.APOSTROPHE:this.state=Ti.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.publicId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateAfterDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.QUOTATION_MARK:this._err(ii.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this._err(ii.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.QUOTATION_MARK:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:this.state=Ti.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Jr.QUOTATION_MARK:this._err(ii.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:this._err(ii.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.QUOTATION_MARK:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Jr.APOSTROPHE:e.systemId="",this.state=Ti.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Jr.GREATER_THAN_SIGN:this._err(ii.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.DATA,this.emitCurrentDoctype(e);break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Jr.QUOTATION_MARK:this.state=Ti.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.systemId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateDoctypeSystemIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case Jr.APOSTROPHE:this.state=Ti.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter),e.systemId+=Yr;break;case Jr.GREATER_THAN_SIGN:this._err(ii.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateAfterDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Jr.SPACE:case Jr.LINE_FEED:case Jr.TABULATION:case Jr.FORM_FEED:break;case Jr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.EOF:this._err(ii.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ii.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=Ti.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case Jr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=Ti.DATA;break;case Jr.NULL:this._err(ii.unexpectedNullCharacter);break;case Jr.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case Jr.RIGHT_SQUARE_BRACKET:this.state=Ti.CDATA_SECTION_BRACKET;break;case Jr.EOF:this._err(ii.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===Jr.RIGHT_SQUARE_BRACKET?this.state=Ti.CDATA_SECTION_END:(this._emitChars("]"),this.state=Ti.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case Jr.GREATER_THAN_SIGN:this.state=Ti.DATA;break;case Jr.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=Ti.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===Jr.NUMBER_SIGN?this.state=Ti.NUMERIC_CHARACTER_REFERENCE:Ni(t)?(this.state=Ti.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this._reconsumeInState(this.returnState,t))}_stateNamedCharacterReference(t){const e=this._matchNamedCharacterReference(t);if(this._ensureHibernation());else if(e){for(let t=0;t<e.length;t++)this._flushCodePointConsumedAsCharacterReference(e[t]);this.state=this.returnState}else this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this.state=Ti.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){Ni(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===Jr.SEMICOLON&&this._err(ii.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===Jr.LATIN_SMALL_X||t===Jr.LATIN_CAPITAL_X?this.state=Ti.HEXADEMICAL_CHARACTER_REFERENCE_START:Ii(t)?(this.state=Ti.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(ii.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Jr.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return Ii(t)||Oi(t)||Bi(t)}(t)?(this._err(ii.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Jr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Jr.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=Ti.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){Oi(t)?this.charRefCode=16*this.charRefCode+t-55:Bi(t)?this.charRefCode=16*this.charRefCode+t-87:Ii(t)?this.charRefCode=16*this.charRefCode+t-48:t===Jr.SEMICOLON?this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END:(this._err(ii.missingSemicolonAfterCharacterReference),this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){Ii(t)?this.charRefCode=10*this.charRefCode+t-48:t===Jr.SEMICOLON?this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END:(this._err(ii.missingSemicolonAfterCharacterReference),this.state=Ti.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===Jr.NULL)this._err(ii.nullCharacterReference),this.charRefCode=Jr.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(ii.characterReferenceOutsideUnicodeRange),this.charRefCode=Jr.REPLACEMENT_CHARACTER;else if(ti(this.charRefCode))this._err(ii.surrogateCharacterReference),this.charRefCode=Jr.REPLACEMENT_CHARACTER;else if(ri(this.charRefCode))this._err(ii.noncharacterCharacterReference);else if(ei(this.charRefCode)||this.charRefCode===Jr.CARRIAGE_RETURN){this._err(ii.controlCharacterReference);const t=xi.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const Mi=new Set([wi.DD,wi.DT,wi.LI,wi.OPTGROUP,wi.OPTION,wi.P,wi.RB,wi.RP,wi.RT,wi.RTC]);var Fi;new Set([...Mi,wi.CAPTION,wi.COLGROUP,wi.TBODY,wi.TD,wi.TFOOT,wi.TH,wi.THEAD,wi.TR]),new Map([[wi.APPLET,fi.HTML],[wi.CAPTION,fi.HTML],[wi.HTML,fi.HTML],[wi.MARQUEE,fi.HTML],[wi.OBJECT,fi.HTML],[wi.TABLE,fi.HTML],[wi.TD,fi.HTML],[wi.TEMPLATE,fi.HTML],[wi.TH,fi.HTML],[wi.ANNOTATION_XML,fi.MATHML],[wi.MI,fi.MATHML],[wi.MN,fi.MATHML],[wi.MO,fi.MATHML],[wi.MS,fi.MATHML],[wi.MTEXT,fi.MATHML],[wi.DESC,fi.SVG],[wi.FOREIGN_OBJECT,fi.SVG],[wi.TITLE,fi.SVG]]),wi.H1,wi.H2,wi.H3,wi.H4,wi.H5,wi.H6,wi.TR,wi.TEMPLATE,wi.HTML,wi.TBODY,wi.TFOOT,wi.THEAD,wi.TEMPLATE,wi.HTML,wi.TABLE,wi.TEMPLATE,wi.HTML,wi.TD,wi.TH,function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(Fi=Fi||(Fi={})),Fi.Marker;new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]);const Hi=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map((t=>[t.toLowerCase(),t]))),Wi=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:fi.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:fi.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:fi.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:fi.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:fi.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:fi.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:fi.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:fi.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:fi.XML}],["xml:space",{prefix:"xml",name:"space",namespace:fi.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:fi.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:fi.XMLNS}]]),ji=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map((t=>[t.toLowerCase(),t]))),Vi=new Set([wi.B,wi.BIG,wi.BLOCKQUOTE,wi.BODY,wi.BR,wi.CENTER,wi.CODE,wi.DD,wi.DIV,wi.DL,wi.DT,wi.EM,wi.EMBED,wi.H1,wi.H2,wi.H3,wi.H4,wi.H5,wi.H6,wi.HEAD,wi.HR,wi.I,wi.IMG,wi.LI,wi.LISTING,wi.MENU,wi.META,wi.NOBR,wi.OL,wi.P,wi.PRE,wi.RUBY,wi.S,wi.SMALL,wi.SPAN,wi.STRONG,wi.STRIKE,wi.SUB,wi.SUP,wi.TABLE,wi.TT,wi.U,wi.UL,wi.VAR]);function Gi(t){const e=ji.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=_i(t.tagName))}function zi(t,e,r,i){return(!i||i===fi.HTML)&&function(t,e,r){if(e===fi.MATHML&&t===wi.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===gi.ENCODING){const e=r[t].value.toLowerCase();return"text/html"===e||"application/xhtml+xml"===e}return e===fi.SVG&&(t===wi.FOREIGN_OBJECT||t===wi.DESC||t===wi.TITLE)}(t,e,r)||(!i||i===fi.MATHML)&&function(t,e){return e===fi.MATHML&&(t===wi.MI||t===wi.MO||t===wi.MN||t===wi.MS||t===wi.MTEXT)}(t,e)}var qi;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(qi||(qi={})),new Set([wi.TABLE,wi.TBODY,wi.TFOOT,wi.THEAD,wi.TR]),new Set([wi.CAPTION,wi.COL,wi.COLGROUP,wi.TBODY,wi.TD,wi.TFOOT,wi.TH,wi.THEAD,wi.TR]);const Qi=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]);function Ki(t,e){return function(r){let i,n=0,s="";for(;i=t.exec(r);)n!==i.index&&(s+=r.substring(n,i.index)),s+=e.get(i[0].charCodeAt(0)),n=i.index+1;return s+r.substring(n)}}String.prototype.codePointAt,Ki(/[&<>'"]/g,Qi);const Yi=Ki(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),Ji=Ki(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));new Set([mi.AREA,mi.BASE,mi.BASEFONT,mi.BGSOUND,mi.BR,mi.COL,mi.EMBED,mi.FRAME,mi.HR,mi.IMG,mi.INPUT,mi.KEYGEN,mi.LINK,mi.META,mi.PARAM,mi.SOURCE,mi.TRACK,mi.WBR]);var Xi=r(2830);class Zi extends Xi.Writable{_write(t,e,r){r()}}const $i=wi;class tn{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new Ui(t,this),this._enterNamespace(fi.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:ni.CHARACTER,chars:"�",location:t.location}):this.handler.onNullCharacter(t)}onWhitespaceCharacter(t){if(this.skipNextNewLine&&10===t.chars.charCodeAt(0)){if(this.skipNextNewLine=!1,1===t.chars.length)return;t.chars=t.chars.substr(1)}this.handler.onWhitespaceCharacter(t)}onCharacter(t){this.skipNextNewLine=!1,this.handler.onCharacter(t)}onComment(t){this.skipNextNewLine=!1,this.handler.onComment(t)}onDoctype(t){this.skipNextNewLine=!1,this.handler.onDoctype(t)}onEof(t){this.skipNextNewLine=!1,this.handler.onEof(t)}_enterNamespace(t){this.namespaceStack.unshift(t),this.inForeignContent=t!==fi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==fi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case $i.TEXTAREA:case $i.TITLE:this.tokenizer.state=Ci.RCDATA;break;case $i.PLAINTEXT:this.tokenizer.state=Ci.PLAINTEXT;break;case $i.SCRIPT:this.tokenizer.state=Ci.SCRIPT_DATA;break;case $i.STYLE:case $i.IFRAME:case $i.XMP:case $i.NOEMBED:case $i.NOFRAMES:case $i.NOSCRIPT:this.tokenizer.state=Ci.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case $i.SVG:this._enterNamespace(fi.SVG);break;case $i.MATH:this._enterNamespace(fi.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===wi.FONT&&t.attrs.some((({name:t})=>t===gi.COLOR||t===gi.SIZE||t===gi.FACE))||Vi.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===fi.MATHML?function(t){for(let e=0;e<t.attrs.length;e++)if("definitionurl"===t.attrs[e].name){t.attrs[e].name="definitionURL";break}}(t):r===fi.SVG&&(Gi(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=Hi.get(t.attrs[e].name);null!=r&&(t.attrs[e].name=r)}}(t)),function(t){for(let e=0;e<t.attrs.length;e++){const r=Wi.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}(t),e=t.tagID,!t.selfClosing&&zi(e,r,t.attrs)&&this._enterNamespace(fi.HTML)}else{switch(e){case $i.PRE:case $i.TEXTAREA:case $i.LISTING:this.skipNextNewLine=!0;break;case $i.IMAGE:t.tagName=mi.IMG,t.tagID=$i.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===$i.SVG&&this.namespaceStack[0]===fi.SVG||e===$i.MATH&&this.namespaceStack[0]===fi.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===fi.SVG){const r=ji.get(t.tagName);r&&(e=_i(r))}zi(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===fi.SVG&&Gi(t),this.handler.onEndTag(t)}}class en extends Xi.Transform{constructor(t={}){super({encoding:"utf8",decodeStrings:!1}),this.pendingText=null,this.lastChunkWritten=!1,this.stopped=!1,this.options={sourceCodeLocationInfo:!1,...t},this.parserFeedbackSimulator=new tn(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Zi)}_transform(t,e,r){if("string"!=typeof t)throw new TypeError("Parser can work only with string streams.");r(null,this._transformChunk(t))}_final(t){this.lastChunkWritten=!0,t(null,this._transformChunk(""))}stop(){this.stopped=!0,this.tokenizer.pause()}_transformChunk(t){return this.stopped||this.tokenizer.write(t,this.lastChunkWritten),t}onCharacter({chars:t,location:e}){if(null===this.pendingText)this.pendingText={text:t,sourceCodeLocation:e};else if(this.pendingText.text+=t,e&&this.pendingText.sourceCodeLocation){const{endLine:t,endCol:r,endOffset:i}=e;this.pendingText.sourceCodeLocation={...this.pendingText.sourceCodeLocation,endLine:t,endCol:r,endOffset:i}}this.tokenizer.preprocessor.willDropParsedChunk()&&this._emitPendingText()}onWhitespaceCharacter(t){this.onCharacter(t)}onNullCharacter(t){this.onCharacter(t)}onEof(){this._emitPendingText(),this.stopped=!0}onStartTag(t){this._emitPendingText();const e={tagName:t.tagName,attrs:t.attrs,selfClosing:t.selfClosing,sourceCodeLocation:t.location};this.emitIfListenerExists("startTag",e)}onEndTag(t){this._emitPendingText();const e={tagName:t.tagName,sourceCodeLocation:t.location};this.emitIfListenerExists("endTag",e)}onDoctype(t){this._emitPendingText();const e={name:t.name,publicId:t.publicId,systemId:t.systemId,sourceCodeLocation:t.location};this.emitIfListenerExists("doctype",e)}onComment(t){this._emitPendingText();const e={text:t.data,sourceCodeLocation:t.location};this.emitIfListenerExists("comment",e)}emitIfListenerExists(t,e){return 0!==this.listenerCount(t)&&(this._emitToken(t,e),!0)}_emitToken(t,e){this.emit(t,e)}_emitPendingText(){null!==this.pendingText&&(this.emitIfListenerExists("text",this.pendingText),this.pendingText=null)}}class rn extends en{constructor(){super({sourceCodeLocationInfo:!0})}_transformChunk(t){return super._transformChunk(t),""}_getRawHtml(t){const{droppedBufferSize:e,html:r}=this.tokenizer.preprocessor,i=t.startOffset-e,n=t.endOffset-e;return r.slice(i,n)}emitIfListenerExists(t,e){return super.emitIfListenerExists(t,e)||this.emitRaw(this._getRawHtml(e.sourceCodeLocation)),this.parserFeedbackSimulator.skipNextNewLine=!1,!0}_emitToken(t,e){this.emit(t,e,this._getRawHtml(e.sourceCodeLocation))}emitDoctype(t){let e=`<!DOCTYPE ${t.name}`;null!==t.publicId?e+=` PUBLIC "${t.publicId}"`:null!==t.systemId&&(e+=" SYSTEM"),null!==t.systemId&&(e+=` "${t.systemId}"`),e+=">",this.push(e)}emitStartTag(t){let e=`<${t.tagName}`;for(const r of t.attrs)e+=` ${r.name}="${Yi(r.value)}"`;e+=t.selfClosing?"/>":">",this.push(e)}emitEndTag(t){this.push(`</${t.tagName}>`)}emitText({text:t}){var e;this.push(!this.parserFeedbackSimulator.inForeignContent&&(e=this.tokenizer.lastStartTagName,!0,Si.has(e)||e===mi.NOSCRIPT)?t:Ji(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const nn=new TextEncoder,sn=new TextDecoder,on=/([\d.]+\s*;\s*(?:url\s*=)?\s*)['"]?(.+)['"]?(\s*)/im,an=["http://","https://","//"],cn="mp_",ln={a:{href:"ln_"},applet:{codebase:"oe_",archive:"oe_"},area:{href:cn},audio:{src:"oe_"},base:{href:cn},blockquote:{cite:cn},body:{background:"im_"},button:{formaction:cn},command:{icon:"im_"},del:{cite:cn},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:cn},input:{src:"im_",formaction:cn},form:{action:cn},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:"mt_"},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:cn},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},hn=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],un=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class pn{rewriter;rule=null;ruleMatch=null;isCharsetUTF8;constructor(t,e=!1){this.rewriter=t,this.rule=null;for(const t of un){const e=this.rewriter.url.match(t.urlMatch);if(e){this.ruleMatch=e,this.rule=t;break}}this.isCharsetUTF8=e}rewriteMetaContent(t,e,r){let i=this.getAttr(t,"http-equiv");if(i&&(i=i.toLowerCase()),"content-security-policy"===i)e.name="_"+e.name;else{if("refresh"===i)return e.value.replace(on,((t,e,i,n)=>e+this.rewriteUrl(r,i,!1,"mt_")+n));if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(h(e.value,an))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/,i=[];for(const n of t.split(r))if(n){const t=n.trim().split(" ");t[0]=this.rewriteUrl(e,t[0]),i.push(t.join(" "))}return i.join(", ")}rewriteTagAndAttrs(t,e,r){const i=t=>h(t,an),n=t.tagName;if(!(n.indexOf("-")>0))for(const s of t.attrs){const o=s.name||"",a=s.value||"";if(a.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(a.slice(11),{inline:!0});else if(o.startsWith("on")&&"-"!=o.slice(2,3))s.value=r.rewriteJS(a,{inline:!0});else if("style"===o)s.value=r.rewriteCSS(s.value);else if("background"===o)s.value=this.rewriteUrl(r,a);else if("srcset"===o||"imagesrcset"===o&&"link"===n)s.value=this.rewriteSrcSet(a,r);else if("crossorigin"===o||"integrity"===o||"download"===o)s.name="_"+s.name;else if("meta"===n&&"content"===o)s.value=this.rewriteMetaContent(t.attrs,s,r);else if("meta"===n&&"charset"===o)a&&["utf8","utf-8"].includes(a.toLowerCase())&&(this.isCharsetUTF8=!0);else if("param"===n&&i(a))s.value=this.rewriteUrl(r,s.value);else if(o.startsWith("data-")&&i(a))s.value=this.rewriteUrl(r,s.value);else if("base"===n&&"href"===o)try{s.value=this.rewriter.updateBaseUrl(s.value)}catch(t){console.warn("Invalid <base>: "+s.value)}else if("script"===n&&"src"===o){const e="module"===this.getScriptRWType(t)?"esm_":"",i=this.rewriteUrl(r,s.value,!1,e);i===s.value?(t.attrs.push({name:"__wb_orig_src",value:s.value}),s.value&&s.value.startsWith("data:text/javascript;base64")?s.value=this.rewriteJSBase64(s.value,r):s.value=this.rewriteUrl(r,s.value,!0,e)):s.value=i}else if("object"===n&&"data"===o){const e=this.getAttr(t.attrs,"type");if("application/pdf"===e)s.name="src",s.value=this.rewriteUrl(r,s.value,!1,"if_"),t.tagName="iframe";else if("image/svg+xml"===e)s.name="src",s.value=this.rewriteUrl(r,s.value),t.tagName="img";else if("application/x-shockwave-flash"===e)for(const e of hn){const i=s.value.replace(e.match,e.replace);if(i!==s.value){s.name="src",s.value=this.rewriteUrl(r,i,!1,"if_"),t.tagName="iframe";break}}}else if("embed"===n){const e=this.getAttr(t.attrs,"type");t.tagName=e?.startsWith("image/")?"img":"iframe"}else if("target"===o){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value="___wb_replay_top_frame")}else(e[o]||"href"===o||"src"===o)&&(s.value=this.rewriteUrl(r,s.value,!1,e[o]))}}getAttr(t,e){for(const r of t)if(r.name===e)return r.value;return null}getScriptRWType(t){const e=this.getAttr(t.attrs,"type");return"module"===e?"module":"application/json"===e?"json":!e||e.indexOf("javascript")>=0||e.indexOf("ecmascript")>=0?"js":e.startsWith("text/")?"text":"importmap"===e?"importmap":""}async rewrite(t){if(!t.buffer&&!t.reader)return t;if(t.expectedLength()>5e7)return console.warn("Skipping rewriting, HTML file too big: "+t.expectedLength()),t;const e=this.rewriter,r=new rn;r.tokenizer.preprocessor.bufferWaterline=1/0;let i=!1,n=!1,s=!0,a="",c="",l="";const h=()=>{if(!i&&e.headInsertFunc){const t=e.headInsertFunc(e.url);t&&r.emitRaw(t),i=!0}};r.on("startTag",(t=>{const o=ln[t.tagName],u=t.tagName;switch(this.rewriteTagAndAttrs(t,o||{},e),i||["head","html"].includes(t.tagName)||h(),r.emitStartTag(t),t.tagName){case"script":if(t.selfClosing)break;a=t.tagName,s=!0,c=this.getScriptRWType(t);break;case"style":t.selfClosing||(a=t.tagName);break;case"head":h();break;case"body":n=!0}t.tagName!==u&&(a=u,l=t.tagName)})),r.on("endTag",(t=>{if(t.tagName===a){switch(l&&(t.tagName=l,l=""),a){case"head":n=!0;break;case"script":n&&!s&&"js"===c&&r.emitRaw(";document.close();")}a=""}r.emitEndTag(t)})),r.on("text",((t,i)=>{const n=(()=>{if("script"===a){const r=e.prefix,i="module"===c;return s=s&&0===t.text.trim().length,"js"===c||i?e.rewriteJS(t.text,{isModule:i,prefix:r}):"json"===c?e.rewriteJSON(t.text,{prefix:r}):"importmap"===c?e.rewriteImportmap(t.text):t.text}return"style"===a?e.rewriteCSS(t.text):this.rewriteHTMLText(i)})();for(let t=0;t<n.length;t+=o)r.emitRaw(n.slice(t,t+o))}));const u=t.createIter();let p=!1;const d=this;return t.setReader(new ReadableStream({async start(t){r.on("data",(e=>{t.enqueue(d.isCharsetUTF8?nn.encode(e):m(e))})),r.on("end",(()=>{t.close()}));for await(const t of u)d.isCharsetUTF8?r.write(sn.decode(t),"utf8"):r.write(y(t),"latin1"),p=!0;p&&h(),r.end()}})),t}rewriteUrl(t,e,r=!1,i=""){this.isCharsetUTF8||(e=sn.decode(m(e)));const n=t.rewriteUrl(e,r);return i&&i!==cn&&"ln_"!==i&&"mt_"!==i?n.replace("mp_/",i+"/"):n}rewriteHTMLText(t){if(this.rule&&this.ruleMatch){const e=this.rule.replace.replace("$U1",this.ruleMatch[1]),r=t.replace(this.rule.match,e);if(t!==r)return r}return t}rewriteJSBase64(t,e){const r=t.split(","),i=e.rewriteJS(atob(r[1]),{isModule:!1});return r[1]=btoa(i),r.join(",")}}class dn extends pn{rewriteUrl(t,e,r=!1,i=""){return"if_"===i||"fr_"===i||"mt_"===i?t.fullRewriteUrl(e,r):"ln_"===i?(this.isCharsetUTF8||(e=sn.decode(m(e))),t.rewriteUrl(e,r)):t.httpToHttps?t.rewriteUrl(e,r):e}rewriteTagAndAttrs(t,e,r){if(r.httpToHttps)return super.rewriteTagAndAttrs(t,e,r);const i=t.tagName;if(!(i.indexOf("-")>0))for(const n of t.attrs){const s=n.name||"",o=n.value||"";"meta"===i&&"content"===s?n.value=this.rewriteMetaContent(t.attrs,n,r):(e[s]||"href"===s||"src"===s)&&(n.value=this.rewriteUrl(r,o,!1,e[s]))}}}var fn=r(8764);const gn=new TextEncoder,yn=new TextDecoder;class mn{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new bt(e.body.getReader(),null,!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText,l=new Headers(e.headers);let h=l.get("x-orig-location");if(h){if(h.startsWith(self.location.origin)&&(h=h.slice(self.location.origin.length)),s&&h.startsWith(s)){const t=h.indexOf("/http");t>0&&(h=h.slice(t+1))}l.set("location",h),l.delete("x-orig-location"),l.delete("x-redirect-status"),l.delete("x-redirect-statusText")}let u=null;const d=l.get("x-orig-ts");d&&(r=p(d),l.delete("x-orig-ts"),d&&h&&(u=d));const f=l.get("memento-datetime");f&&(r=new Date(f));const g=l.get("x-proxy-set-cookie");if(g){const t=[];g.split(",").forEach((e=>{const r=e.split(";",1)[0].trim();r.indexOf("=")>0&&t.push(r)})),l.delete("x-proxy-set-cookie"),t.length&&l.set("x-wabac-preset-cookie",t.join(";"))}return new mn({payload:o,status:a,statusText:c,headers:l,url:t,date:r,noRW:i,isLive:n,updateTS:u})}reader;buffer;status;statusText;url;date;extraOpts;headers;noRW;isLive;updateTS;clonedResponse=null;constructor({payload:t,status:e,statusText:r,headers:i,url:n,date:s,extraOpts:o=null,noRW:a=!1,isLive:c=!1,updateTS:l=null}){this.reader=null,this.buffer=null,t&&t instanceof wt?this.reader=t:this.buffer=t,this.status=e,this.statusText=r||_(e),this.headers=i,this.url=n,this.date=s,this.extraOpts=o,this.noRW=a,this.isLive=c,this.updateTS=l}async getText(t=!1){const e=await this.getBuffer();return"string"==typeof e?{bomFound:!1,text:e}:e?239===e[0]&&187===e[1]&&191===e[2]?{bomFound:!0,text:yn.decode(e.slice(3))}:254===e[0]&&255===e[1]?{bomFound:!0,text:fn.Buffer.from(e.slice(2)).swap16().toString("utf16le")}:255===e[0]&&254===e[1]?{bomFound:!0,text:fn.Buffer.from(e.slice(2)).toString("utf16le")}:{bomFound:!1,text:t?yn.decode(e):y(e)}:{bomFound:!1,text:""}}setText(t,e=!1){this.setBuffer(e?gn.encode(t):m(t))}async getBuffer(){return this.buffer||!this.reader||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof wt?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new bt(t.getReader()),this.buffer=null)}expectedLength(){return this.buffer?this.buffer.length:0}createIter(){const t=this.buffer,e=this.reader;return async function*(){if(t){let e=0;for(yield t.slice(0,e+512),e+=512;e<t.length;e+=o)yield t.slice(e,e+o)}else e&&(yield*e)}()}async*[Symbol.asyncIterator](){yield*this.createIter()}setRange(t){if(206===this.status){const t=this.headers.get("Content-Range");if(t&&!t.startsWith("bytes 0-"))return!1}const e=t.match(/^bytes=(\d+)-(\d+)?$/);let r=0;if(this.buffer)r=this.buffer.length;else if(this.reader&&(r=Number(this.headers.get("content-length")),!r))return!1;if(!e)return this.status=416,this.statusText="Range Not Satisfiable",this.headers.set("Content-Range",`*/${r}`),!1;const i=Number(e[1]),n=Number(e[2])||r-1;return!!this.setRawRange(i,n)&&(this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",String(n-i+1)),this.status=206,this.statusText="Partial Content",!0)}setRawRange(t,e){const r=this.reader;return this.buffer?(this.buffer=this.buffer.slice(t,e+1),!0):!!r?.setLimitSkip&&(r.setLimitSkip(e-t+1,t),!0)}makeResponse(t=!1,e=!1){let r=null;v(this.status)||(r=this.buffer||!this.reader?this.buffer:this.reader.getReadableStream());const i=new Response(r,{status:this.status,statusText:this.statusText,headers:this.headers});return i.date=this.date,t&&(i.headers.set("Cross-Origin-Opener-Policy","same-origin"),i.headers.set("Cross-Origin-Embedder-Policy","require-corp")),e&&i.headers.set("content-disposition","inline"),i}}const wn=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\))/gi,bn=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,An=/WB_wombat_/g,vn=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,_n=/[?].*(?:callback|jsonp)=([^&]+)/i,En=new Zt(class extends $t{extraRules;firstBuff;lastBuff;constructor(t){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(Gr),this.lastBuff="\n\n}"}initLocalDecl(t){const e="_____WB$wombat$assign$function_____";let r=`var ${e} = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n{\n`;for(const i of t)r+=`let ${i} = ${e}("${i}");\n`;return r+="let arguments;\n",r+"\n"}getModuleDecl(t,e){return`import { ${t.join(", ")} } from "${e}__wb_module_decl.js";\n`}detectIsModule(t){return!!(t.indexOf("import")>=0&&t.match(Hr))||!!(t.indexOf("export")>=0&&t.match(Wr))}parseGlobals(t){const e=Fe.parse(t,{ecmaVersion:"latest"});let r=!1;const i=[],n=new Set;for(const t of e.body){const{type:e}=t;if("VariableDeclaration"===e){const{kind:e,declarations:r}=t;for(const t of r)if(t&&"VariableDeclarator"===t.type&&t.id&&"Identifier"===t.id.type){const r=t.id.name;Gr.includes(r)?n.add(r):"const"!==e&&"let"!==e||i.push(`self.${r} = ${r};`)}}else if("ClassDeclaration"===e){if(t.id&&"Identifier"===t.id.type&&t.id.name){const e=t.id.name;i.push(`self.${e} = ${e};`)}}else if(!r&&"ExpressionStatement"===e){const{expression:e}=t;if(e&&"CallExpression"===e.type){const{callee:t}=e;if(t&&"MemberExpression"===t.type){const{object:e,property:i}=t;"Identifier"===e.type&&"document"===e.name&&"Identifier"===i.type&&"write"===i.name&&(r=!0)}}}}if(n.size){const t=Gr.filter((t=>!n.has(t)));this.firstBuff=this.initLocalDecl(t)}return r&&(this.lastBuff=";document.close();"+this.lastBuff),i.length?"\n;"+i.join("\n"):""}rewrite(t,e){void 0!==(e=e||{}).isModule&&null!==e.isModule||(e.isModule=this.detectIsModule(t));let r=Qr;e.isModule&&(r=[...r,this.getESMImportRule()]),this.extraRules&&this.extraRules.length?this.rules=[...r,...this.extraRules]:this.rules=r,this.compileRules();let i=super.rewrite(t,e);if(e.isModule)return this.getModuleDecl(Gr,e.prefix)+i;const n=qr.exec(t);if(e.inline&&(i=i.replace(/\n/g," ")),n){let r="";if(i)try{r=this.parseGlobals(i)}catch(t){console.warn(`acorn parsing failed, script len ${i.length}`)}i=this.firstBuff+i+r+this.lastBuff,e.inline&&(i=i.replace(/\n/g," "))}return i}getESMImportRule(){return[jr,(t,e)=>{const r=e.prefix.replace("mp_/","esm_/");return t.replace(Vr,((t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s}))}]}}),Sn=new Zt($t);new Zt($t,qt);class xn{urlRewrite;contentRewrite;baseUrl;dsRules;decode;prefix="";originPrefix="";relPrefix="";schemeRelPrefix="";scheme;url;responseUrl;isCharsetUTF8;headInsertFunc;workerInsertFunc;_jsonpCallback;constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i=null,headInsertFunc:n=null,urlRewrite:s=!0,contentRewrite:o=!0,decode:a=!0,useBaseRules:c=!1}){if(this.urlRewrite=s,this.contentRewrite=o,this.dsRules=s&&!c?En:Sn,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);this.originPrefix=t.origin,this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}const l=new URL(r||t);this.scheme=l.protocol,t.startsWith("//")&&(t=this.scheme+t),this.url=this.baseUrl=t,this.headInsertFunc=n,this.workerInsertFunc=i,this.responseUrl=r||t,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=""){if(!i&&e){const t=(i=e.headers.get("Content-Type")||"").split(";");i=t[0],t.length>1&&(this.isCharsetUTF8="utf8"===t[1].trim().toLowerCase().replace("charset=","").replace("-",""))}if(i=i.toLowerCase(),"esm_"===t.mod&&(this.isCharsetUTF8=!0),t)switch(t.destination){case"style":return"css";case"script":return this.getScriptRewriteMode(i,r,"js");case"worker":return"js-worker"}switch(i){case"text/html":return t.destination||"application/json"!==t.headers.get("Accept")?"html":"json";case"text/css":return"css";case"application/x-mpegurl":case"application/vnd.apple.mpegurl":return"hls";case"application/dash+xml":return"dash";case"":if(this.isGuessHtml(t,e))return"html";default:return this.getScriptRewriteMode(i,r)}}isGuessHtml(t,e){if(t.destination&&"document"!==t.destination&&"iframe"!==t.destination)return!1;if(e.buffer)try{const t=(new TextDecoder).decode(e.buffer.slice(0,1024));if(/<\s*html/i.exec(t))return!0}catch(t){return!1}return!1}getScriptRewriteMode(t,e,r=""){switch(t){case"text/javascript":case"application/javascript":case"application/x-javascript":return this.parseJSONPCallback(e)?"jsonp":e.endsWith(".json")?"json":"js";case"application/json":return"json";default:return r}}async rewrite(t,e){const r=this.contentRewrite?this.getRewriteMode(e,t,this.baseUrl):null,i=E(e),n=this.urlRewrite&&!i,s=this.rewriteHeaders(t.headers,this.urlRewrite,!!r,i),o=t.headers.get("content-encoding"),a=t.headers.get("transfer-encoding");t.headers=s,this.decode&&(o||a)&&(t=await async function(t,e,r,i){if(t.reader&&i&&("gzip"===e&&!r||!e&&"gzip"===r))return t.setReader(new bt(t.reader)),t;const n=await t.getBuffer()||[],s=new Uint8Array(n),o=await Mt(s,e,r);return s!==o&&t.setBuffer(o),t}(t,o,a,null===r));const c={response:t,prefix:this.prefix,baseUrl:this.baseUrl};let l=null;switch(r){case"html":if(n)return await this.rewriteHtml(t);break;case"css":this.urlRewrite&&(l=this.rewriteCSS);break;case"js":l=this.rewriteJS,"esm_"===e.mod&&(c.isModule=!0);break;case"json":l=this.rewriteJSON;break;case"js-worker":"wkrm_"===e.mod&&(c.isModule=!0),l=this.workerInsertFunc;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=Wt;break;case"dash":l=Vt}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let{bomFound:e,text:r}=await t.getText(this.isCharsetUTF8);if(r=l.call(this,r,c),e&&!this.isCharsetUTF8){let t=s.get("Content-Type")||"";const e=t.split(";");t=e[0],t&&s.set("Content-Type",t+"; charset=utf-8"),this.isCharsetUTF8=!0}t.setText(r,this.isCharsetUTF8)}else{const r=function(t){if(!t)return null;for(const e of Qt){const{contains:r,start:i,end:n}=e;if(t.match(r))return{start:i,end:n}}return null}(e.url);if(r){const i=new URL(e.url),n=parseInt(i.searchParams.get(r.start)||""),s=parseInt(i.searchParams.get(r.end)||"");if(!isNaN(n)&&!isNaN(s)){const e=Number(t.headers.get("Content-Length")),r=s-n+1;e!==r&&(isNaN(e)||e>r)&&t.setRawRange(n,s)&&t.headers.set("Content-Length",String(r))}}}return t}updateBaseUrl(t){if(this.originPrefix&&t.startsWith(this.originPrefix)){const e=t.indexOf("/http");e>=0&&(t=t.slice(e+1))}if(this.baseUrl=new URL(t,this.baseUrl).href,t&&this.baseUrl!=t)try{t=new URL(t).href}catch(e){t.startsWith("//")&&(t=(t=new URL("https:"+t).href).slice(6))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;const r=t;return(t=t.trim()).startsWith("\\")&&(t=t.replace(/\\(?![//])/g,"/")),!t||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\3a/")?this.prefix+t:t.startsWith("//")||t.startsWith("\\/\\/")?this.schemeRelPrefix+t:t.startsWith("/")?(t=new URL(t,this.baseUrl).href,this.relPrefix+t):e||t.indexOf("../")>=0?(t=new URL(t,this.baseUrl).href,this.prefix+t):r}async rewriteHtml(t){return new pn(this,this.isCharsetUTF8).rewrite(t)}rewriteCSS(t){const e=this;function r(t,r,i,n){return i=i.trim(),r+e.rewriteUrl(i)+n}return t.replace(wn,r).replace(bn,r).replace(An,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?Sn:this.dsRules,n=i.getRewriter(this.baseUrl);return n===i.defaultRewriter&&r?t:n.rewrite(t,e)}rewriteJSON(t,e){t=this.rewriteJSONP(t);const r=Sn.getRewriter(this.baseUrl);return r!==Sn.defaultRewriter?r.rewrite(t,e):t}rewriteImportmap(t){const e=t=>this.rewriteUrl(t).replace("mp_/","esm_/");try{const r=JSON.parse(t),i={},n={imports:i};for(const[t,n]of Object.entries(r.imports||{}))i[e(t)]=e(n);if(r.scopes){const t={};for(const[i,n]of Object.entries(r.scopes)){const r={};for(const[t,i]of Object.entries(n))r[e(t)]=e(i);t[e(i)]=r}n.scopes=t}return JSON.stringify(n,null,2)}catch(e){return console.warn("Error parsing importmap",e),t}}parseJSONPCallback(t){const e=t.match(_n);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(vn);return e?(null===this._jsonpCallback&&this.parseJSONPCallback(this.baseUrl),!1===this._jsonpCallback?t:this._jsonpCallback+t.slice(t.indexOf(e[1])+e[1].length)):t}rewriteHeaders(t,e,r,i){const n={"access-control-allow-origin":"prefix-if-url-rewrite","access-control-allow-credentials":"prefix-if-url-rewrite","access-control-expose-headers":"prefix-if-url-rewrite","access-control-max-age":"prefix-if-url-rewrite","access-control-allow-methods":"prefix-if-url-rewrite","access-control-allow-headers":"prefix-if-url-rewrite","accept-patch":"keep","accept-ranges":"keep",age:"prefix",allow:"keep","alt-svc":"prefix","cache-control":"prefix",connection:"prefix","content-base":"url-rewrite","content-disposition":"keep","content-encoding":"prefix-if-content-rewrite","content-language":"keep","content-length":"content-length","content-location":"url-rewrite","content-md5":"prefix","content-range":"keep","content-security-policy":"prefix","content-security-policy-report-only":"prefix","content-type":"keep",date:"keep",etag:"prefix",expires:"prefix","last-modified":"prefix",link:"link",location:"url-rewrite",p3p:"prefix",pragma:"prefix","proxy-authenticate":"keep","public-key-pins":"prefix","referrer-policy":"prefix","retry-after":"prefix",server:"prefix","set-cookie":"cookie",status:"prefix","strict-transport-security":"prefix",trailer:"prefix","transfer-encoding":"transfer-encoding",tk:"prefix",upgrade:"prefix","upgrade-insecure-requests":"prefix",vary:"prefix",via:"prefix",warning:"prefix","www-authenticate":"keep","x-frame-options":"prefix","x-xss-protection":"prefix","origin-agent-cluster":"prefix"},s="X-Archive-Orig-",o=new Headers;for(let[a,c]of t.entries())switch(n[a]){case"keep":case"cookie":default:o.append(a,c);break;case"url-rewrite":if(e){if("location"===a&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:";c===t+this.responseUrl.slice(this.scheme.length)&&(c=t+this.url.slice(this.url.indexOf("//")))}o.append(a,this.rewriteUrl(c))}else o.append(a,c);break;case"prefix-if-content-rewrite":r?o.append(s+a,c):o.append(a,c);break;case"prefix-if-url-rewrite":e?o.append(s+a,c):o.append(a,c);break;case"content-length":if("0"==c){o.append(a,c);continue}if(r)try{if(parseInt(c)>=0){o.append(a,c);continue}}catch(t){}o.append(a,c);break;case"transfer-encoding":case"prefix":o.append(s+a,c);break;case"link":e&&!i?o.append(a,this.rewriteLinkHeader(c)):o.append(a,c)}return o}rewriteLinkHeader(t){try{const e=i().parse(t);for(const t of e.refs)t.uri&&(t.uri=this.rewriteUrl(t.uri));return e.toString()}catch(e){return console.warn("Error parsing link header: "+t),t}}}class Tn extends xn{proxyOrigin;proxyHost;localOrigin;proxyTLD;localTLD;localScheme;httpToHttps;constructor(t,e){super(t),this.proxyOrigin=e.proxyOrigin,this.localOrigin=e.localOrigin,this.proxyTLD=e.proxyTLD||"",this.localTLD=e.localTLD||"";const r=new URL(this.proxyOrigin);this.proxyHost=r.host;const i=new URL(this.localOrigin);this.localScheme=i.protocol,this.httpToHttps=e.httpToHttpsNeeded}rewriteUrl(t){if(t.startsWith(this.proxyOrigin))return this.localOrigin+t.slice(this.proxyOrigin.length);if(this.proxyTLD&&this.localTLD&&t.indexOf(this.proxyTLD)>0){const e=new URL(t);if(e.host.endsWith(this.proxyTLD)){const t=e.host.slice(0,-this.proxyTLD.length).replace(".","-")+this.localTLD;return this.localScheme+"//"+t+e.href.slice(e.origin.length)}}return this.httpToHttps?t.replace("http:","https:"):t}fullRewriteUrl(t,e=!1){return t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):t.startsWith("//"+this.proxyHost)?this.localOrigin+t.slice(this.proxyHost.length+2):t.startsWith("https://")||t.startsWith("http://")||t.startsWith("//")?super.rewriteUrl(t,e):t}async rewriteHtml(t){return new dn(this,this.isCharsetUTF8).rewrite(t)}rewriteJS(t,e){return t}rewriteCSS(t){return this.httpToHttps?super.rewriteCSS(t):t}rewriteJSON(t,e){return t}rewriteImportmap(t){return t}updateBaseUrl(t){return t}}class Cn{_buffer=[];_lastChunkEndedWithCR=!1;decoder=new TextDecoder;transform(t,e){const r=this.decoder.decode(t),i=r.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g),n=this._buffer;for(this._lastChunkEndedWithCR&&r.startsWith("\n")&&i.shift(),n.length>0&&(n[n.length-1]+=i[0],i.shift()),this._lastChunkEndedWithCR=r.endsWith("\r");n.length>1;){const t=n.shift();t?.length&&e.enqueue(t)}for(;i.length>1;){const t=i.shift();t?.length&&e.enqueue(t)}}flush(t){const e=this._buffer;for(;e.length;){const r=e.shift();r?.length&&t.enqueue(r)}}}class In extends TransformStream{constructor(){super(new Cn)}}function Rn(t,e,r=404){return kn(t,t.url,"",!1,r,e)}function kn(t,e,r,i=!1,n=404,s){let o,a;switch(t.destination){case"json":case"":o=function(t,e,r="not_found"){return JSON.stringify({error:r,URL:t,TS:e})}(e,r,s),a="application/json; charset=utf-8";break;case"script":o=On("Script",e,r,s),a="text/javascript; charset=utf-8";break;case"style":o=On("CSS",e,r,s),a="text/css; charset=utf-8";break;default:o=function(t,e,r,i,n){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = "${e}";\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p>${n||"Sorry, this page was not found in this archive:"}</p>\n <p><code id="url" style="word-break: break-all; font-size: larger"></code></p>\n ${i&&"navigate"===t.mode?"\n <p>Redirecting to live page now... (If this URL is a file download, the download should have started).</p>\n <script>\n window.top.location.href = window.requestURL;\n <\/script>\n ":"\n "}\n <p id="goback" style="display: none"><a href="#" onclick="window.history.back()">Go Back</a> to the previous page.</a></p>\n \n <p>\n <a id="livelink" target="_blank" href="">Load the live page</a> in a new tab (or download the file, if this URL points to a file).\n </p>\n\n <script>\n document.querySelector("#url").innerText = window.requestURL;\n document.querySelector("#livelink").href = window.requestURL;\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {\n\n }\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage({\n wb_type: "archive-not-found",\n url: window.requestURL,\n ts: "${r}"\n }, "*");\n }\n <\/script>\n </body>\n </html>\n `}(t,e,r,i,s),a="text/html; charset=utf-8"}return Nn(o,a,n)}function Nn(t,e,r=200){const i=(new TextEncoder).encode(t),n={status:r,statusText:_(r),headers:{"Content-Type":e,"Content-Length":i.length+"","Content-Security-Policy":l()}};return new Response(i,n)}function On(t,e,r,i){return`/* \n ${i||t+" Not Found"}\n URL: ${e}\n TS: ${r}\n*/\n `}class Bn{name;store;config;metadata;injectScripts;noRewritePrefixes;noPostToGet;convertPostToGet;coHeaders;csp;injectRelCanon;baseFramePrefix;baseFrameUrl;baseFrameHashReplay=!1;baseFrameAppendReplay=!1;liveRedirectOnNotFound=!1;rootPrefix;isRoot;prefix;adblockUrl;staticPrefix;proxyPrefix;proxyBannerUrl="";constructor(t,e,r={}){const{name:i,store:n,config:s}=t;this.name=i,this.store=n,this.config=s,this.metadata=this.config.metadata?this.config.metadata:{};const o={...r,...this.config.extraConfig};this.injectScripts=o.injectScripts||[],this.noRewritePrefixes=o.noRewritePrefixes||null,this.noPostToGet=!!o.noPostToGet,this.convertPostToGet=!!o.convertPostToGet,this.coHeaders=o.coHeaders||!1,this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.baseFrameAppendReplay=o.baseUrlAppendReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.adblockUrl=o.adblockUrl,this.prefix=e.main,this.proxyBannerUrl=o.proxyBannerUrl||"",this.proxyBannerUrl&&B([this.proxyBannerUrl]),this.config.root?(this.isRoot=!0,this.csp=o.csp||l()):(this.prefix+=this.name+"/",this.isRoot=!1,this.csp=o.csp||l()+this.name+"/"),this.staticPrefix=e.static,this.proxyPrefix=e.proxy}async handleRequest(t,e){let r=t.url,i=t.timestamp;if(!t.mod)return await this.makeTopFrame(r,i);this.noPostToGet||(r=await t.convertPostToGet());let n=null,s=r;try{if(r.startsWith("srcdoc:"))n=this.getSrcDocResponse(r,r.slice(7));else if(r.startsWith("blob:")){const t=r.indexOf("/"),e=r.slice(5,t),i=`blob:${self.location.origin}/${e}`;s=r.slice(t+1),n=await this.getBlobResponse(i)}else"about:blank"===r?n=await this.getSrcDocResponse(r):"__wb_module_decl.js"===r?n=await this.getWrappedModuleDecl():this.adblockUrl&&r.startsWith("adblock:")?n=await async function(t,e){const r=t.split("."),i=[];for(let t=0;t<r.length-1;t++)"www"!==r[t]&&i.push(r.slice(t).join("."));const n=i.length?i[i.length-1]:"";let s=(await fetch(e)).body;const o=new Headers({"Content-Type":"text/css"});if(!s)return new Response("",{status:400,headers:o,statusText:"Not Found"});e.endsWith(".gz")&&(s=s.pipeThrough(new self.DecompressionStream("gzip")));const a=s.pipeThrough(new In),c=new TextEncoder,l=async function*(){for await(const t of async function*(t){try{let e;const r=t.getReader();for(;(e=await r.read())&&!e.done;){const t=e.value;if(n&&t.indexOf(n)>=0){const e=t.split("##");if(e.length<2)continue;if(e[0].endsWith("#@"))continue;const r=e[0].split(",");for(const t of i)if(r.includes(t)){yield e[1];break}}else!n&&t.startsWith("##")&&(yield t.slice(2))}}catch(t){console.warn(t)}}(a))yield c.encode(`${t} {\n display: none !important;\n}\n\n`)}(),h=new ReadableStream({pull:async t=>l.next().then((e=>{e.done||!e.value?t.close():t.enqueue(e.value)}))});return new Response(h,{status:200,statusText:"OK",headers:o})}(r.slice(8),this.adblockUrl):(n=await this.getReplayResponse(t,e),r=t.url,n&&n instanceof mn&&n.updateTS&&(i=n.updateTS))}catch(e){if(await S(e,this.config))return Rn(t.request,'<p style="margin: auto">Please wait, this page will reload after authentication...</p>',401)}if(!n){try{r=decodeURIComponent(r),r+=t.hash}catch(t){}return kn(t.request,r,i,this.liveRedirectOnNotFound)}if(n instanceof Response)return n;n.noRW||(n=t.isProxyOrigin?await this.proxyRewrite(t,n,s,i):await this.fullRewrite(t,n,s,r,i));const o=t.headers.get("range");!o||200!==n.status&&206!==n.status||n.setRange(o);const a="iframe"===t.destination||"document"===t.destination;return n.makeResponse(this.coHeaders,a)}async fullRewrite(t,e,r,i,n){const s=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=s+n,a=e,c=t.mod,l="id_"===c||"wkrf_"===c,h=o+c+"/",u={baseUrl:r,responseUrl:e.url,prefix:h,headInsertFunc:e=>{const r=o+(n?"/":"")+e;return this.makeHeadInsert(e,n,r,s,a,t.referrer)},workerInsertFunc:(t,e)=>e?.isModule?t:`\n (function() { self.importScripts('${this.staticPrefix}wombatWorkers.js'); new WBWombat({'prefix': '${o}/', 'prefixMod': '${o}wkrf_/', 'originalURL': '${i}'}); })();`+t,urlRewrite:!l,contentRewrite:!l,decode:this.config.decode},p=new xn(u);return(e=await p.rewrite(e,t)).headers.set("Content-Security-Policy",this.csp),e}async proxyRewrite(t,e,r,i){const n=this.prefix+(t.pageId?`:${t.pageId}/`:""),s=e.date.toISOString(),o=n+(i||u(s)),a=o+"mp_/",c={baseUrl:r,responseUrl:e.url,prefix:a,headInsertFunc:r=>{const n=this.getCookiePreset(e,t.proxyScheme),a=d(e.date),c=e.extraOpts?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n<script>\n const wbinfo = {};\n wbinfo.url = "${r}";\n wbinfo.request_ts = "${i}";\n wbinfo.timestamp = "${s}";\n wbinfo.proxyOrigin = "${t.proxyOrigin||""}";\n wbinfo.localOrigin = "${t.localOrigin||""}";\n wbinfo.localTLD = "${t.localTLD||""}";\n wbinfo.proxyTLD = "${t.proxyTLD||""}";\n wbinfo.prefix = "${o}";\n wbinfo.presetCookie = ${n};\n wbinfo.seconds = "${a}";\n self.__wbinfo = wbinfo;\n<\/script>\n<script src="${this.staticPrefix}wombatProxy.js"><\/script>\n${this.proxyBannerUrl?`\n<script src="${this.proxyPrefix}${this.proxyBannerUrl}"><\/script>`:""}\n${c?zt:""}\n\x3c!-- End WB Insert --\x3e\n `},workerInsertFunc:null,urlRewrite:!0,contentRewrite:!0,decode:this.config.decode},l=new Tn(c,t);return e=await l.rewrite(e,t)}getCookiePreset(t,e){let r=t.headers.get("x-wabac-preset-cookie")||"";const i=t.headers.get("Set-Cookie");return i&&(r=function(t,e){t=t.replace(a,"");const r=[];for(const i of t.split(",")){const t=i.split(";",1)[0];if(t!==i){const r=i.slice(t.length).toLowerCase();if(r.indexOf("httponly")>0)continue;if("http"===e&&r.indexOf("secure")>0)continue}r.push(t)}return r.join(";")}(i,e)+";"+r),r?JSON.stringify(r):'""'}getCanonRedirect(t){let{url:e,timestamp:r,mod:i,referrer:n}=t;const s=e.startsWith("//");s&&(e=(n&&n.indexOf("/http://")>0?"http:":"https:")+e);try{const n=new URL(e);if(n.href!==e){if("/"===n.pathname){let t=this.prefix+r+i;return(r||i)&&(t+="/"),t+=n.href,Response.redirect(t,301)}(!s&&e.indexOf(":443")||e.indexOf(":80"))&&(t.url=n.href)}}catch(t){}return null}getWrappedModuleDecl(){const t=(new TextEncoder).encode('\n var wrapObj = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\n if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n\n const window = wrapObj("window");\n const document = wrapObj("document");\n const location = wrapObj("location");\n const top = wrapObj("top");\n const parent = wrapObj("parent");\n const frames = wrapObj("frames");\n const opener = wrapObj("opener");\n const __self = wrapObj("self");\n const __globalThis = wrapObj("globalThis");\n\n export { window, document, location, top, parent, frames, opener, __self as self, __globalThis as globalThis };\n '),e=new Headers({"Content-Type":"application/javascript"});return new Response(t,{headers:e,status:200,statusText:"OK"})}getSrcDocResponse(t,e){const r=e?decodeURIComponent(atob(e)):"<html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new mn({payload:i,status:200,statusText:"OK",headers:n,url:t,date:s})}async getBlobResponse(t){const e=await fetch(t),r=e.status,i=e.statusText,n=new Headers(e.headers);"application/xhtml+xml"===n.get("content-type")&&n.set("content-type","text/html");const s=new Date,o=new Uint8Array(await e.arrayBuffer());return new mn({payload:o,status:r,statusText:i,headers:n,url:t,date:s})}async getReplayResponse(t,e){let r=this.getCanonRedirect(t);if(r)return r;const i={pageId:t.pageId,noRedirect:t.isProxyOrigin};return r=await this.store.getResource(t,this.prefix,e,i),r}async makeTopFrame(t,e){let r="";if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r)return this.baseFrameAppendReplay?r+=`${e}/${t}`:this.baseFrameHashReplay?r+=`#${e}/${t}`:r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString(),Response.redirect(r);let i="";if(this.config.topTemplateUrl){const r=await fetch(this.config.topTemplateUrl);i=(await r.text()).replace("$URL",t).replace("$TS",e).replace("$PREFIX",this.prefix)}else i=`\n<!DOCTYPE html>\n<html>\n<head>\n<style>\nhtml, body\n{\n height: 100%;\n margin: 0px;\n padding: 0px;\n border: 0px;\n overflow: hidden;\n}\n\n</style>\n<script src='${this.staticPrefix}wb_frame.js'> <\/script>\n\n<script>\nwindow.home = "${this.rootPrefix}";\n<\/script>\n\n<script src='${this.staticPrefix}default_banner.js'> <\/script>\n<link rel='stylesheet' href='${this.staticPrefix}default_banner.css'/>\n\n</head>\n<body style="margin: 0px; padding: 0px;">\n<div id="wb_iframe_div">\n<iframe id="replay_iframe" name="___wb_replay_top_frame" frameborder="0" seamless="seamless" scrolling="yes" class="wb_iframe" allow="autoplay; fullscreen"></iframe>\n</div>\n<script>\n var cframe = new ContentFrame({"url": "${t}",\n "app_prefix": "${this.prefix}",\n "content_prefix": "${this.prefix}",\n "request_ts": "${e}",\n "iframe": "#replay_iframe"});\n\n<\/script>\n</body>\n</html>\n`;const n={status:200,statusText:"OK",headers:{"Content-Type":"text/html","Content-Security-Policy":this.csp}};return new Response(i,n)}makeHeadInsert(t,e,r,i,n,s){const o=this.name,a=n.date,c=n.isLive,l=n.extraOpts,h=d(a),p=u(a.toISOString()),f=new URL(t);let g;g="https:"!==f.protocol&&"http:"!==f.protocol?s&&s.indexOf("/http://")>0?"http":"https":f.protocol.slice(0,-1);const y=this.getCookiePreset(n,g),m=l&&Number(l.pixelRatio)?l.pixelRatio:2,w=l?.storage?JSON.stringify(l.storage):'""',b=l?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n${this.adblockUrl?`\n<link rel='stylesheet' href="${i}mp_/adblock:${f.hostname}"/>\n<link rel='stylesheet' href="${i}mp_/adblock:"/>\n`:""}\n<style>\nbody {\n font-family: inherit;\n font-size: inherit;\n}\n</style>\n${this.injectRelCanon?`<link rel="canonical" href="${t}"/>`:""}\n<script>\n wbinfo = {};\n wbinfo.top_url = "${r}";\n // Fast Top-Frame Redirect\n if (window == window.top && wbinfo.top_url) {\n var loc = window.location.href.replace(window.location.hash, "");\n loc = decodeURI(loc);\n\n if (loc != decodeURI(wbinfo.top_url)) {\n window.location.href = wbinfo.top_url + window.location.hash;\n }\n }\n wbinfo.url = "${t}";\n wbinfo.timestamp = "${p}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${i}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${c?"true":"false"};\n wbinfo.coll = "${o}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${y};\n wbinfo.storage = ${w};\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${m};\n wbinfo.convert_post_to_get = ${this.convertPostToGet};\n wbinfo.target_frame = "___wb_replay_top_frame";\n<\/script>\n<script src='${this.staticPrefix}wombat.js'> <\/script>\n<script>\n wbinfo.wombat_ts = "${c?p:e}";\n wbinfo.wombat_sec = "${h}";\n wbinfo.wombat_scheme = "${g}";\n wbinfo.wombat_host = "${f.host}";\n\n ${this.noRewritePrefixes?`\n wbinfo.wombat_opts = {"no_rewrite_prefixes": ${JSON.stringify(this.noRewritePrefixes)}}`:"\n wbinfo.wombat_opts = {}\n "}\n\n if (window && window._WBWombatInit) {\n window._WBWombatInit(wbinfo);\n }\n ${b?zt:""}\n<\/script>\n${this.injectScripts.map((t=>`<script src='${this.proxyPrefix}${t}'> <\/script>`)).join("")}\n\x3c!-- End WB Insert --\x3e\n`}}const Pn=(t,e)=>e.some((e=>t instanceof e));let Dn,Ln;const Un=new WeakMap,Mn=new WeakMap,Fn=new WeakMap,Hn=new WeakMap,Wn=new WeakMap;let jn={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return Mn.get(t);if("objectStoreNames"===e)return t.objectStoreNames||Fn.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return zn(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function Vn(t){jn=t(jn)}function Gn(t){return"function"==typeof t?function(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Ln||(Ln=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(qn(this),e),zn(Un.get(this))}:function(...e){return zn(t.apply(qn(this),e))}:function(e,...r){const i=t.call(qn(this),e,...r);return Fn.set(i,e.sort?e.sort():[e]),zn(i)}}(t):(t instanceof IDBTransaction&&function(t){if(Mn.has(t))return;const e=new Promise(((e,r)=>{const i=()=>{t.removeEventListener("complete",n),t.removeEventListener("error",s),t.removeEventListener("abort",s)},n=()=>{e(),i()},s=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",n),t.addEventListener("error",s),t.addEventListener("abort",s)}));Mn.set(t,e)}(t),Pn(t,Dn||(Dn=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,jn):t)}function zn(t){if(t instanceof IDBRequest)return function(t){const e=new Promise(((e,r)=>{const i=()=>{t.removeEventListener("success",n),t.removeEventListener("error",s)},n=()=>{e(zn(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)}));return e.then((e=>{e instanceof IDBCursor&&Un.set(e,t)})).catch((()=>{})),Wn.set(e,t),e}(t);if(Hn.has(t))return Hn.get(t);const e=Gn(t);return e!==t&&(Hn.set(t,e),Wn.set(e,t)),e}const qn=t=>Wn.get(t);function Qn(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=zn(o);return i&&o.addEventListener("upgradeneeded",(t=>{i(zn(o.result),t.oldVersion,t.newVersion,zn(o.transaction),t)})),r&&o.addEventListener("blocked",(t=>r(t.oldVersion,t.newVersion,t))),a.then((t=>{s&&t.addEventListener("close",(()=>s())),n&&t.addEventListener("versionchange",(t=>n(t.oldVersion,t.newVersion,t)))})).catch((()=>{})),a}function Kn(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",(t=>e(t.oldVersion,t))),zn(r).then((()=>{}))}const Yn=["get","getKey","getAll","getAllKeys","count"],Jn=["put","add","delete","clear"],Xn=new Map;function Zn(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(Xn.get(e))return Xn.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Jn.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!Yn.includes(r))return;const s=async function(t,...e){const s=this.transaction(t,n?"readwrite":"readonly");let o=s.store;return i&&(o=o.index(e.shift())),(await Promise.all([o[r](...e),n&&s.done]))[0]};return Xn.set(e,s),s}Vn((t=>({...t,get:(e,r,i)=>Zn(e,r)||t.get(e,r,i),has:(e,r)=>!!Zn(e,r)||t.has(e,r)})));const $n=["continue","continuePrimaryKey","advance"],ts={},es=new WeakMap,rs=new WeakMap,is={get(t,e){if(!$n.includes(e))return t[e];let r=ts[e];return r||(r=ts[e]=function(...t){es.set(this,rs.get(this)[e](...t))}),r}};async function*ns(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,is);for(rs.set(r,e),Wn.set(r,qn(e));e;)yield r,e=await(es.get(r)||e.continue()),es.delete(r)}function ss(t,e){return e===Symbol.asyncIterator&&Pn(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&Pn(t,[IDBIndex,IDBObjectStore])}Vn((t=>({...t,get:(e,r,i)=>ss(e,r)?ns:t.get(e,r,i),has:(e,r)=>ss(e,r)||t.has(e,r)})));var os=r(9991),as=r.n(os);const cs=1024,ls=/\[\d]+/,hs=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive|vod-adaptive)\.akamaized\.net.*?\/([\d/]+\.mp4)/,fuzzyCanonReplace:"//vimeo-cdn.fuzzy.replayweb.page/$1",split:".net"},{match:/\/\/.*player.vimeo.com\/(video\/[\d]+)\?.*/i,fuzzyCanonReplace:"//vimeo.fuzzy.replayweb.page/$1"},{match:/www.\washingtonpost\.com\/wp-apps\/imrs.php/,args:[["src"]]},{match:/(static.wixstatic.com\/.*\.[\w]+\/v1\/fill\/)(w_.*)/,replace:"$1?_args=$2",split:"/v1/fill"},{match:/(twimg.com\/profile_images\/[^/]+\/[^_]+)_([\w]+\.[\w]+)/,replace:"$1=_args=$2",split:"_",splitLast:!0},{match:/^https?:\/\/(?:www\.)?(youtube\.com\/embed\/[^?]+)[?].*/i,replace:"$1"},{match:/^(https?:\/\/(?:www\.)?)(youtube\.com\/@[^?]+)[?].*/i,fuzzyCanonReplace:"$1$2"},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(get_video_info)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["video_id"]]},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(youtubei\/v1\/[^?]+\?).*(videoId[^&]+).*/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1$2",args:[["videoId"]]},{match:/\/\/.*googlevideo.com\/(videoplayback)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["id","itag"],["id"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\/pagelet\/generic.php\/photoviewerinitpagelet/i,args:[[{arg:"data",keys:["query_type","fbid","v","cursor","data"]}]]},{match:/((?:twitter|x)\.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/((?:twitter|x)\.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(us=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+us.map((t=>"("+t+")")).join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var us;const ps=new class{rules;constructor(t){this.rules=t||hs}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.length<4096&&r.match(t.match)){e=t;break}let i=t;e?.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e?.split||"?",s=e?.splitLast?t.lastIndexOf(n):t.indexOf(n);return{prefix:s>0?t.slice(0,s+n.length):t,rule:e,fuzzyCanonUrl:i}}getFuzzyCanonsWithArgs(t){let{fuzzyCanonUrl:e,prefix:r,rule:i}=this.getRuleFor(t);e===t&&(e=r);const n=[];if(i?.args){const r=new URL(e),s=new URL(t);for(const t of i.args){const e=new URLSearchParams;for(const r of t)e.set(r,s.searchParams.get(r)||"");r.search=e.toString(),n.push(r.href)}return n}return[e]}fuzzyCompareUrls(t,e,r){if(!e?.length)return null;if(void 0!==r?.replace&&void 0!==r.match&&(!r.maxResults||e.length<=r.maxResults)){const i=r.match,n=r.replace,s=t.replace(i,n),o=[];for(const t of e){const e=t.url.replace(i,n);if(s===e)return t;t.fuzzyMatchUrl=e,o.push(t)}e=o,t=s}return this.fuzzyBestMatchQuery(t,e,r)}fuzzyBestMatchQuery(t,e,r){let i;try{i=new URL(t)}catch(t){return null}const n=r?.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let s=Number.MIN_SAFE_INTEGER,o=null;const a=new URLSearchParams(i.search);for(const i of e){if(204===i.status||304===i.status)continue;let e;try{e=new URL(i.fuzzyMatchUrl||i.url)}catch(t){continue}const c=new URLSearchParams(e.search);let l=this.getMatch(a,c,n,r?.fuzzySet);l+=this.getMatch(c,a,n),l/=2,i.status>200&&(l+=.1*(200-i.status)),l>s&&(s=l,o=i)}return o}getMatch(t,e,r=null,i=!1){let n=1,s=1;const o={};for(let[a,c]of t){let t,l=e.get(a);if(r&&r.has(a)&&l!==c)return-1e3;t=a.startsWith("_")?.1:10,null!==l&&(n+=.5*t,l.length>cs&&(l=l.slice(0,cs))),c&&c.length>cs&&(c=c.slice(0,cs));const h=Number(c),u=Number(l);if(s+=t,i&&l&&this.addSetMatch(o,a,c,l),l===c)n+=t*c.length;else if(null===l||null===c)n+=0;else if(isNaN(h)||isNaN(u))if(c.startsWith("{")&&l.startsWith("{"))try{const e=ct(c),r=ct(l);n+=this.getMatch(e,r)*t*2}catch(e){n+=.5*t*this.levScore(c,l)}else i||(n+=t*this.levScore(c,l));else n+=10-Math.log(Math.abs(h-u)+1)}return n/s+(i?this.paramSetMatch(o,100):0)}addSetMatch(t,e,r,i){if(!(r&&i&&r.startsWith("/")&&i.startsWith("/")))return;const n=e.split(ls);if(n.length<=1)return;const s=r.indexOf("?"),o=i.indexOf("?"),a=n[0],c=s>0?r.slice(0,s):r,l=o>0?i.slice(0,o):i;t[a]||(t[a]={value:[],found:new Set}),t[a].value.push(c),t[a].found.add(l)}paramSetMatch(t,e){let r=0;for(const i of Object.values(t)){let t=e;for(const e of i.value)i.found.has(e)&&(r+=t),t*=.33}return r}levScore(t,e){const r=Math.min(t.length,e.length),i=as()(t,e);return i<r?r-i:0}},ds=new Date("9999-01-01").getTime(),fs="warc/revisit";class gs{name;minDedupSize;version;autoHttpsCheck=!0;useRefCounts=!1;allowRepeats=!0;repeatTracker=null;fuzzyPrefixSearch=!0;initing;db=null;constructor(t,e={}){this.name=t,this.db=null;const{minDedupSize:r,noRefCounts:i}=e;this.minDedupSize=Number.isInteger(r)?r:1024,this.version=4,this.autoHttpsCheck=!0,this.useRefCounts=!i,this.allowRepeats=!0,this.repeatTracker=new ys,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await Qn(this.name,this.version,{upgrade:(e,r,i,n)=>{t=r,this._initDB(e,r,i,n)},blocking:(t,e)=>{e||this.close()}}),1===t&&await this.convertCuratedPagesToV2(this.db)}_initDB(t,e,r,i){if(!e){const e=t.createObjectStore("pages",{keyPath:"id"});e.createIndex("url","url"),e.createIndex("ts","ts"),e.createIndex("state","state"),t.createObjectStore("pageLists",{keyPath:"id",autoIncrement:!0}),t.createObjectStore("curatedPages",{keyPath:"id",autoIncrement:!0}).createIndex("listPages",["list","pos"]);const r=t.createObjectStore("resources",{keyPath:["url","ts"]});r.createIndex("pageId","pageId"),r.createIndex("mimeStatusUrl",["mime","status","url"]),t.createObjectStore("payload",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0}),t.createObjectStore("digestRef",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];if(this.db)for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await Kn(this.name,{blocked(t,e){console.log("Unable to delete: "+e)}})}async addPage(t,e){const r=t.url,i=t.title||t.url,n=t.id||this.newPageId(),s=t.state||17;let o=t.ts;if("number"!=typeof o)if(t.timestamp)o=p(t.timestamp).getTime();else{const e=t.ts||t.date||t.datetime;e&&(o=new Date(e).getTime())}const a={...t,url:r,ts:o,title:i,id:n,state:s};return e?(e.store.put(a),a.id):await this.db.put("pages",a)}async addPages(t,e="pages",r=!1){const i=this.db.transaction(e,"readwrite");for(const e of t)r?i.store.put(e):this.addPage(e,i);try{await i.done}catch(t){console.warn("addPages tx",String(t))}}async createPageList(t){const e={title:t.title,desc:t.desc||t.description,slug:t.id||t.slug};return await this.db.put("pageLists",e)}async addCuratedPageList(t,e){const r=await this.createPageList(t);let i=0;for(const t of e)t.pos=i++,t.list=r;await this.addPages(e,"curatedPages")}async addCuratedPageLists(t,e="pages",r="public"){for(const i of t){if(r&&!i[r])continue;const t=i[e]||[];await this.addCuratedPageList(i,t)}}async convertCuratedPagesToV2(t){const e=await t.getAll("curatedPages");if(!e?.length)return;const r=await t.getAll("pages"),i=new Map;for(const t of r)i.set(t.id,t);for(const t of e)if(t.page){const e=i.get(t.page);e&&(t.id=this.newPageId(),t.url=e.url,t.ts=e.ts,!t.title&&e.title&&(t.title=e.title)),delete t.page}await t.clear("curatedPages");const n=t.transaction("curatedPages","readwrite");for(const t of e)n.store.put(t);try{await n.done}catch(t){console.warn("Conversion Failed",t)}}async getCuratedPagesByList(){const t=await this.db.getAll("pageLists"),e=this.db.transaction("curatedPages","readonly");for await(const r of e.store.index("listPages").iterate()){const e=t[r.value.list-1];e&&(e.show=!0,e.pages||(e.pages=[]),e.pages.push(r.value))}return t}newPageId(){return w()}async getAllPages(){return await this.db.getAll("pages")}async getPagesByUrl(t){return await this.db.getAllFromIndex("pages","url",t)}async getPages(t){const e=[];t.sort();for await(const r of this.matchAny("pages",null,t))e.push(r);return e}async getTimestampsByURL(t){const e=this.db.transaction("resources"),r=IDBKeyRange.bound([t],[t,ds]),i=[];for await(const t of e.store.iterate(r))i.push(t.key[1]);return i}async getPagesWithState(t){return await this.db.getAllFromIndex("pages","state",t)}async getVerifyInfo(){return{}}async addVerifyData(t="",e,r,i=null,n=!1){}async addVerifyDataList(t,e){}async dedupResource(t,e,r,i=1){const n=r.objectStore("digestRef"),s=await n.get(t);if(s)return++s.count,s;if(e)try{return r.objectStore("payload").put({digest:t,payload:e}),{digest:t,count:i,size:e.length}}catch(t){console.log(t)}return null}async addResources(t){const e=[],r=[],i=[],n={},s=new Set,o=this.db.transaction(["digestRef","payload"],"readwrite");for(const a of t){let t=1;const c=a.status||200,l=a.mime===fs?e:c>=300?r:i;l.push(a);const h=this.getFuzzyUrl(a);if(h&&(l.push(h),t=2),this.useRefCounts&&a.digest){const e=n[a.digest];e?(e.count+=t,s.add(a.digest)):n[a.digest]=await this.dedupResource(a.digest,a.payload,o,t),delete a.payload}}if(this.useRefCounts){const t=o.objectStore("digestRef");for(const e of s)t.put(n[e])}try{await o.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const a=this.db.transaction("resources","readwrite");for(const t of e)a.store.put(t);for(const t of r)a.store.put(t);for(const t of i)a.store.put(t);try{await a.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status&&t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=ps.getRuleFor(t.url);return e&&e!==t.url?{url:e,ts:t.ts,origURL:t.url,origTS:t.ts,pageId:t.pageId,digest:t.digest}:null}return null}async addResource(t){t.payload&&t.payload.length>this.minDedupSize&&(t.digest||(t.digest=await g(t.payload,"sha-256")));let e=null,r=!1;const i=this.db.transaction(["resources","digestRef","payload"],"readwrite");if(t.payload&&t.payload.length>this.minDedupSize?(e=await this.dedupResource(t.digest||"",t.payload,i),r=!!e&&1===e.count,delete t.payload):t.payload&&(r=!0),t.mime!==fs){i.objectStore("resources").put(t);const r=this.getFuzzyUrl(t);r&&(i.objectStore("resources").put(r),e&&e.count++)}else i.objectStore("resources").add(t);e&&i.objectStore("digestRef").put(e);try{await i.done}catch(e){t.mime===fs?console.log("Skip Duplicate revisit for: "+t.url):console.log("Add Error for "+t.url),console.log(e)}return r}async getResource(t,e,r,i={}){const n=p(t.timestamp).getTime();let s=t.url,o=null;const a=this.repeatTracker?this.repeatTracker.getSkipCount(r,s,t.request.method):0,c={...i,skip:a};if(t.httpToHttpsNeeded&&(s=s.slice(s.indexOf("//"))),s.startsWith("//")){let e=!1;o=await this.lookupUrl("https:"+s,n,c),o||(o=await this.lookupUrl("http:"+s,n,c),(o||t.request.referrer.indexOf("/http://",2)>0)&&(e=!0)),s=(e?"http:":"https:")+s}else if(o=await this.lookupUrl(s,n,c),!o&&this.autoHttpsCheck&&s.startsWith("http://")){const t=s.replace("http://","https://");o=await this.lookupUrl(t,n,c),o&&(s=t)}if(o||!this.fuzzyPrefixSearch||i.noFuzzyCheck||(o=await this.lookupQueryPrefix(s,i)),o?.origURL){const t=await this.lookupUrl(o.origURL,o.origTS||o.ts,i);t&&(s=t.url,o=t)}if(!o)return null;const l=o.status||0,h=o.statusText||_(l);let u=null;if(!v(l)&&(u=await this.loadPayload(o,i),!u))return null;const d=o.respHeaders?b(o.respHeaders):new Headers,f=new Date(o.ts),g=o.extraOpts||null;return s=o.url,s!==t.url&&d.set("Content-Location",s),new mn({url:s,payload:u,status:l,statusText:h,headers:d,date:f,extraOpts:g})}async loadPayload(t,e){if(t.digest&&!t.payload){if("sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"===t.digest||"sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ"===t.digest)return new Uint8Array([]);const e=await this.db.get("payload",t.digest);if(!e)return null;const{payload:r}=e;return r}return t.payload||null}isSelfRedirect(t,e){try{if(e?.respHeaders&&e.status&&e.status>=300&&e.status<400){const r=new Headers(e.respHeaders).get("location")||"";if(new URL(r,t).href===t)return!0}}catch(t){}return!1}async lookupUrl(t,e,r={}){const i=this.db.transaction("resources","readonly");if(e){const n=IDBKeyRange.bound([t,e],[t,ds]);if(r.noRevisits||r.pageId){let e=await i.store.getAll(n,16);e=e||[];for(const i of e)if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fs||this.isSelfRedirect(t,i)))return i}else{const r=await i.store.get(n);if(r&&this.isSelfRedirect(t,r))e+=1e4;else if(r)return r}}const n=IDBKeyRange.bound([t],[t,e||ds]);for await(const e of i.store.iterate(n,"prev")){const i=e.value;if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===fs||this.isSelfRedirect(t,i)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=ps.getRuleFor(t);if(n!==t){const t=await this.lookupUrl(n,0,e);if(t)return t}if(!r&&i===t&&i===n&&!t.endsWith("?"))return null;const s=await this.db.getAll("resources",this.getLookupRange(i,"prefix"),128e3);return ps.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:u(e),mime:t.mime||"",status:t.status||0}}async resourcesByPage(t){return this.db.getAllFromIndex("resources","pageId",t)}async*resourcesByPages2(t){t.sort(),yield*this.matchAny("resources","pageId",t)}async*resourcesByPages(t){const e=this.db.transaction("resources","readonly");for await(const r of e.store.iterate())t.includes(r.value.pageId)&&(yield r.value)}async*matchAny(t,e,r,i,n=!1){const s=this.db.transaction(t,"readonly"),o=IDBKeyRange.lowerBound(r[0],n);let a=e?await s.store.index(e).openCursor(o):await s.store.openCursor(o),c=0;for(;a&&c<r.length;){let t,e,n;void 0!==i?(t=a.key[i],e=r[c][i],n=t.startsWith(e)):(t=a.key,e=r[c],n=t===e),!n&&t>e?++c:n?(yield a.value,a=await a.continue()):a=await a.continue(r[c])}}async resourcesByUrlAndMime(t,e,r=1e3,i=!0,n="",s=""){const o=e?0:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o),c=e.split(","),l=[];for(const t of a)for(const e of c)if(!e||t.mime?.startsWith(e)){if(l.push(this.resJson(t)),l.length===r)return l;break}return l}async resourcesByMime(t,e=100,r="",i="",n=0){const s=t.split(","),o=[];s.sort();const a=[];r&&a.push([r,n,i]);for(const t of s)(!r||!t||t>r)&&a.push([t,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",a,0,!0))if(o.push(this.resJson(t)),o.length===e)break;return o}async deletePage(t){const e=this.db.transaction("pages","readwrite"),r=await e.store.get(t);await e.store.delete(t);const i=await this.deletePageResources(t);return{pageSize:r?.size||0,dedupSize:i}}async deletePageResources(t){const e={},r=this.db.transaction("resources","readwrite");let i=await r.store.index("pageId").openCursor(t),n=0;for(;i;){const t=i.value.digest;t?e[t]=(e[t]||0)+1:i.value.payload&&(n+=i.value.payload.length),r.store.delete(i.primaryKey),i=await i.continue()}await r.done;const s=this.db.transaction(["payload","digestRef"],"readwrite"),o=s.objectStore("digestRef");for(const t of Object.keys(e)){const r=await o.get(t);r&&(r.count-=e[t]),r&&r.count>=1?o.put(r):(n+=r?r.size:0,o.delete(t),s.objectStore("payload").delete(t))}return await s.done,n}prefixUpperBound(t){return t.slice(0,-1)+String.fromCharCode(t.charCodeAt(t.length-1)+1)}getLookupRange(t,e,r,i){let n,s,o;switch(e){case"prefix":n=[t],s=[this.prefixUpperBound(t)];break;case"host":{const e=new URL(t).origin;n=[e+"/"],s=[e+"0"];break}default:n=[t],s=[t,Number.MAX_SAFE_INTEGER]}return r?(n=[r,i||""],o=!0):o=!1,IDBKeyRange.bound(n,s,o,!0)}}class ys{repeats={};getSkipCount(t,e,r){if("POST"!==r&&!e.endsWith(".m3u8"))return 0;t.replacesClientId&&delete this.repeats[t.replacesClientId];const i=t.resultingClientId||t.clientId;return i?(void 0===this.repeats[i]&&(this.repeats[i]={}),void 0===this.repeats[i][e]?this.repeats[i][e]=0:this.repeats[i][e]++,this.repeats[i][e]):0}}const ms=["script","style","header","footer","banner-div","noscript"];class ws{batchSize;promises=[];batch=[];count=0;dupeSet=new Set;db;constructor(t=1e3){this.batchSize=t}addPage(t){this.promises.push(this.db.addPage(t))}isBatchFull(){return this.batch.length>=this.batchSize}addResource(t){if(this.isBatchFull()&&this.flush(),Number.isNaN(t.ts))return void console.warn("Skipping resource with missing/invalid ts: "+t.url);const e=t.url+" "+t.ts;if("warc/revisit"===t.mime){if(this.dupeSet.has(e))return void console.warn("Skipping duplicate revisit, prevent overriding non-revisit")}else this.dupeSet.add(e);this.batch.push(t)}flush(){this.batch.length>0&&this.promises.push(this.db.addResources(this.batch)),console.log(`Read ${this.count+=this.batch.length} records`),this.batch=[]}async finishIndexing(){this.flush(),this._finishLoad();try{await Promise.all(this.promises)}catch(t){console.warn(t)}this.promises=[]}_finishLoad(){}}class bs extends ws{reader;abort;loadId;sourceExtra;anyPages=!1;detectPages=!1;_lastRecord=null;metadata={};pages=[];lists=[];pageMap={};constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.sourceExtra=i}parseWarcInfo(t){if(!t.payload)return;const e=new TextDecoder("utf-8").decode(t.payload);for(const r of e.split("\n"))if(r.startsWith("json-metadata:"))try{const t=JSON.parse(r.slice(14));if("collection"===t.type&&(this.metadata.desc=t.desc,this.metadata.title=t.title),t.pages?.length){this.pages=this.pages.concat(t.pages);for(const e of t.pages)e.ts=p(e.timestamp).getTime(),this.pageMap[e.ts+"/"+e.url]={page:e};this.anyPages=!0}t.lists?.length&&(this.lists=this.lists.concat(t.lists))}catch(t){console.log("Page Add Error",t.toString())}}index(t,e){if("warcinfo"!==t.warcType){if(this._lastRecord)return this._lastRecord.warcTargetURI!=t.warcTargetURI?(this.indexReqResponse(this._lastRecord,null,e),void(this._lastRecord=t)):void("request"===t.warcType&&"response"===this._lastRecord.warcType?(this.indexReqResponse(this._lastRecord,t,e),this._lastRecord=null):"response"===t.warcType&&"request"===this._lastRecord.warcType?(this.indexReqResponse(t,this._lastRecord,e),this._lastRecord=null):(this.indexReqResponse(this._lastRecord,null,e),this._lastRecord=t));this._lastRecord=t}else this.parseWarcInfo(t)}indexDone(t){this._lastRecord&&(this.indexReqResponse(this._lastRecord,null,t),this._lastRecord=null)}shouldIndexMetadataRecord(t){return!!t.warcTargetURI?.startsWith("metadata://")}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=i?new Date(i).getTime():Date.now();let s,o=null;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);i&&(o=Object.fromEntries(i.headers.entries()),s=i.status)}const a=t.warcRefersToTargetURI,c=new Date(t.warcRefersToDate).getTime();return a===r&&c===n?null:{url:r,ts:n,origURL:a,origTS:c,digest:t.warcPayloadDigest||null,pageId:null,respHeaders:o,status:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r?.httpHeaders?.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=b(t.httpHeaders.headers),s=(n.get("content-type")||"").split(";")[0],206===i&&!this.isFullRangeRequest(n))return null}else n=new Headers,n.set("content-type",t.warcContentType),n.set("content-length",String(t.warcContentLength)),s=t.warcContentType||"";return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e,r){const i=this.parseRecords(t,e);i&&this.addResource(i)}parseRecords(t,e){switch(t.warcType){case"revisit":return this.parseRevisitRecord(t,e);case"resource":e=null;break;case"response":break;case"metadata":if(!this.shouldIndexMetadataRecord(t))return null;break;default:return null}let r=t.warcTargetURI.split("#")[0];const i=t.warcDate,n=this.parseResponseHttpHeaders(t,r,e);if(!n)return null;const{status:s,method:o,headers:a,mime:c}=n;let l,h,u=null,p=null;if(e?.httpHeaders?.headers){let t=null;try{t=new Headers(e.httpHeaders.headers);const r=t.get("cookie");r&&a.set("x-wabac-preset-cookie",r),u=e.httpHeaders.headers.get("Referer")||null}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o||"GET",url:r,postData:e.payload};ot(i)&&(l=r,r=i.url,p=e.payload)}}if(void 0===this.detectPages&&(this.detectPages=!this.anyPages),this.detectPages&&function(t,e,r){if(200!=e)return!1;if(!t.startsWith("http:")&&!t.startsWith("https:")&&!t.startsWith("blob:"))return!1;if(t.endsWith("/robots.txt"))return!1;const i=t.split("?",2);return!(2===i.length&&i[1].length>i[0].length)&&(!i[0].substring(i[0].lastIndexOf("/")+1).startsWith(".")&&(!r||"text/html"===r))}(r,s,c)){const t=r;this.addPage({url:r,date:i,title:t})}const d=i?new Date(i).getTime():Date.now(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest||null,y=t.payload,m={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:y,reader:y?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&y&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new en,s=[];let o=null;n.on("text",(t=>{if(o)return;const e=t.text.trim();e&&s.push(e)})),n.on("startTag",(t=>{!t.selfClosing&&ms.includes(t.tagName)&&(o=t.tagName)})),n.on("endTag",(t=>{t.tagName===o&&(o=null)})),(r||i)&&(e=await Mt(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise((t=>{n.on("end",(()=>{t(s.join(" "))}))}));return await a}(0,y,a.get("content-encoding"),a.get("transfer-encoding")));const w=t.warcHeader("WARC-JSON-Metadata");if(w)try{m.extraOpts=JSON.parse(w)}catch(t){}const b=t.warcHeader("WARC-Page-ID");return b&&(m.pageId=b),this.sourceExtra&&(m.source=this.sourceExtra),"GET"!==o&&l&&(m.requestUrl=l,m.method=o,m.requestBody=p||new Uint8Array([])),m}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||"0");return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(t){return null}async load(t,e,r=0){if(e&&!r)throw new Error("totalSize is required");this.db=t;const i=new Bt(this.reader);let n=0,s=0,o=0;try{for await(const a of i){if(o++,!a.warcType){console.log("skip empty record");continue}const c=self.interruptLoads;if(e&&this.loadId&&c[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),c[this.loadId](),this.abort&&this.abort.abort(),new R;if(s=(new Date).getTime(),s-n>500){const t=`Processed ${o} records`;e(Math.round(i.offset/r*95),null,i.offset,r,null,t),n=s}const l=this.filterRecord(a);if("done"===l){this.abort&&this.abort.abort();break}if("skip"!==l&&("skipContent"===l?await a.skipFully():await a.readFully(),o++,this.index(a,i),this.promises.length>0)){try{await Promise.all(this.promises)}catch(t){console.warn(t.toString())}this.promises=[]}}}catch(t){if(t instanceof R)throw t;e(Math.round(i.offset/r*95),`Sorry there was an error downloading. Please try again (${t})`,i.offset,r),console.warn(t)}return this.indexDone(i),e(95,null,i.offset,r),await this.finishIndexing(),e(100,null,r,r),this.metadata}async _finishLoad(){if(this.pages.length){for(const{page:t,textPromise:e}of Object.values(this.pageMap))if(e)try{t.text=await e}catch(t){console.warn("Error adding text: "+t.toString())}this.promises.push(this.db.addPages(this.pages))}this.lists.length&&this.promises.push(this.db.addCuratedPageLists(this.lists,"bookmarks","public"))}}class As extends bs{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new Bt(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const vs="https://w3s.link/";function _s(t){const{hostname:e,protocol:r,pathname:i}=new URL(t),n=r.slice(0,-1);if(!e){const[t,...e]=i.slice(2).split("/");return{type:n,cid:t,path:"/"+e.join("/")}}return{type:n,cid:e,path:i}}async function Es(t){return Rs(t)?t:ks(t)?Ts(t):t}async function Ss(t){return new Response(t).blob()}async function*xs(t){const e=await t.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}}function Ts(t){let e=t;e.next||(e=t[Symbol.asyncIterator]());const r=new TextEncoder;return new ReadableStream({async pull(t){const{value:i,done:n}=await e.next();if(n)await t.close();else{let e=i;"string"==typeof e&&(e=r.encode(e)),await t.enqueue(e)}}})}async function Cs(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function Is({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;Ns(t,a);const c=await async function(t){if(Rs(t))return await Ss(t);if(ks(t)){const e=Ts(t);return await Ss(e)}return t instanceof Blob?t:new Blob([t])}(e);r?o.append(i,c,r):o.append(i,c);const l=await n(t,{method:"POST",body:o,headers:a,signal:s});return await Cs(l),l}function Rs(t){return"function"==typeof t.getReader}function ks(t){return t[Symbol.asyncIterator]}function Ns(t,e){if(t.password)if(t.username){const r=`Basic ${btoa(`${unescape(t.username)}:${unescape(t.password)}`)}`;e.append("Authorization",unescape(r)),t.username="",t.password=""}else{const r=`Bearer ${t.password}`;e.append("Authorization",unescape(r)),t.password=""}}async function Os({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await Cs(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*Bs({url:t,start:e,end:r,format:i,signal:n,fetch:s=globalThis.fetch}){const o=new Headers;Number.isInteger(e)&&(Number.isInteger(r)?o.set("Range",`bytes=${e}-${r}`):o.set("Range",`bytes=${e}-`));const a=new URL(t);i&&(o.set("Accept",`application/vnd.ipld.${i}`),o.set("cache-control","no-cache"));const c=await s(a.href,{headers:o,signal:n});await Cs(c),yield*xs(c.body)}function Ps(){if(!globalThis.location)return vs;const{pathname:t,hostname:e,protocol:r}=globalThis.location;if(t.startsWith("/ipfs/")||t.startsWith("/ipns/"))return`${r}//${e}/`;const[i,...n]=e.split(".");return 59===i.length&&n.length>=2?`${r}//${n.join(".")}/`:vs}let Ds=!1;const Ls=[5001,45001,45002,45003,45004,45005],Us="https://api.web3.storage/",Ms="https://api.estuary.tech/",Fs="http://localhost:5001/",Hs="agregore",Ws="daemon",js="web3.storage",Vs="estuary",Gs="readonly",zs=[Hs,Ws,js,Vs,Gs];class qs{get type(){return"invalid"}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){throw new Error("Not Implemented")}async getSize(t,e=null){throw new Error("Not Implemented")}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){throw new Error("Not Implemented")}async clear(t,e=null){throw new Error("Not Implemented")}}async function Qs({chooseOrder:t=zs,...e}={}){const r=function(t,e=zs){const r=t.filter((({type:t})=>e.includes(t))).sort((({type:t},{type:r})=>e.indexOf(t)-e.indexOf(r)))[0];if(!r)throw new Error("Unable to find valid type");return r}(await async function({daemonURL:t,web3StorageToken:e,web3StorageURL:r=Us,estuaryToken:i,estuaryURL:n=Ms,publicGatewayURL:s=Ps(),readonly:o=!0,timeout:a=1e3,fetch:c=globalThis.fetch}={}){const l=[],h=[];if(h.push(async function(t=globalThis.fetch){try{return await t("ipfs://localhost/"),!0}catch(t){return Ds&&console.warn("Unable to detect Agregore",t),!1}}(c).then((t=>t&&l.push({type:Hs,fetch:c})))),h.push(async function(){const t=Ls.map((t=>`http://localhost:${t}`));try{const r=await Promise.any(t.map((t=>eo(t).then((e=>{if(e)return t;throw new Error("Not found")})))));return!!r&&(to&&!$s&&(e=r,$s=!0,globalThis.chrome.webRequest.onBeforeSendHeaders.addListener((t=>{const{requestHeaders:r}=t;for(const t of r)if("origin"===t.name.toLowerCase())return t.value=e,{requestHeaders:r};return t.requestHeaders.push({name:"Origin",value:e}),{requestHeaders:r}}),{urls:[e+"/*"]},["blocking","requestHeaders","extraHeaders"])),r)}catch{return!1}var e}().then((t=>t&&l.push({type:Ws,url:t,fetch:c})))),t&&h.push(eo(t,a,c).then((e=>e&&l.push({type:Ws,url:t,fetch:c})))),i){const t=n,e=i;l.push({type:Vs,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:js,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:Gs,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}(e),t);return async function(t){const{type:e}=t;let r=null;if(e===Hs)r=new Js(t.fetch||globalThis.fetch);else if(e===Ws)r=new Zs(t.url);else if(e===js)r=new Xs(t.authorization,t.url,t.publicGatewayURL);else if(e===Vs)r=new Ys(t.authorization,t.url,t.publicGatewayURL);else{if(e!==Gs)throw new TypeError(`Unknown API type: ${e}.`);r=new Ks(t.publicGatewayURL)}return r}(r)}class Ks extends qs{constructor(t=Ps()){super(),this.gatewayURL=t}get type(){return Gs}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){yield*async function*({url:t,start:e,end:r,format:i,signal:n,gatewayURL:s=Ps()}){const o=function(t,e=Ps()){const{cid:r,path:i,type:n}=_s(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*Bs({url:o,start:e,end:r,format:i,signal:n})}({url:t,start:e,end:r,format:n,gatewayURL:this.gatewayURL,signal:i})}async getSize(t,e=null){const{cid:r,path:i,type:n}=_s(t);return Os({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class Ys extends Ks{constructor(t,e=Ms,r=Ps()){super(r),this.authorization=t,this.url=e}get type(){return Vs}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){const i=new URL("/content/add",this.url);i.password=this.authorization;const n=await Is({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Js extends qs{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return Hs}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*Bs({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return Os({url:t,fetch:r,signal:e})}async uploadCAR(t,e=null){const r=await Es(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/vnd.ipld.car"},signal:e,body:r});return await Cs(n),(await n.text()).split("\n")}async uploadFile(t,e=null){const r=await Es(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/octet-stream"},signal:e,body:r});return await Cs(n),n.headers.get("Location")}}class Xs extends Ks{constructor(t,e=Us,r=Ps()){super(r),this.authorization=t,this.url=e}get type(){return js}async uploadCAR(t,e=null){const r=new URL("/car",this.url);r.password=this.authorization;const i=await async function({url:t,fileIterator:e,signal:r}){const i=new Headers;i.set("Content-Type","application/octet-stream"),Ns(t,i);const n=await Es(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await Cs(s),s}({url:r,fileIterator:t,signal:e});return(await i.text()).split("\n").filter((t=>t)).map((t=>{const{cid:e}=JSON.parse(t);return`ipfs://${e}/`}))}async uploadFile(t,{fileName:e="",signal:r=null}={}){const i=new URL("/upload",this.url);i.password=this.authorization;const n=await Is({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Zs extends qs{constructor(t=Fs){super(),this.url=t}get type(){return Ws}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=_s(t),c=new URL(`/api/v0/cat?arg=/${a}/${s}${o}`,this.url);if(e&&c.searchParams.set("offset",e),r&&c.searchParams.set("length",r-(e||0)+1),n)throw new Error("Format is unsupported on Kubo Daemons for now");const l=await fetch(c,{method:"POST",signal:i});await Cs(l),yield*xs(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=_s(t),s=`/api/v0/file/ls?arg=/${n}/${r}${i}&size=true`,o=new URL(s,this.url),a=await fetch(o,{method:"POST",signal:e});await Cs(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return Ds&&console.warn(r),this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=_s(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await Cs(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=_s(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await Cs(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=_s(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await Cs(o)}async clear(t,e=null){return this._unpin(t,e)}async uploadCAR(t,e=null){const r=new URL("/api/v0/dag/import?allow-big-block=true&pin-roots=true",this.url),i=await Is({url:r,file:t,signal:e});return(await i.text()).split("\n").filter((t=>t)).map((t=>{const{Root:e}=JSON.parse(t);return`ipfs://${e.Cid["/"]}/`}))}async uploadFile(t,e="",r=null){const i=new URL("/api/v0/add?pin=true&cid-version=1&inline=false&raw-leaves=true",this.url),n=t.name&&t instanceof Blob;(e||n)&&i.searchParams.set("wrap-with-directory","true");const s=await Is({url:i,file:t,fileName:e,signal:r}),o=await s.text(),[a]=o.split("\n"),{Hash:c}=JSON.parse(a),l=`ipfs://${c}/`;return await this._pin(l,r),l}}let $s=!1;const to=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function eo(t=Fs,e=1e3,r=globalThis.fetch){try{const i=new AbortController,{signal:n}=i;setTimeout((()=>i.abort()),e);const s=await r(new URL("/api/v0/version",t),{method:"POST",signal:n});return!!s.ok||!(!s.status||404===s.status)}catch(e){return Ds&&console.warn("Unable to detect Kubo Daemon",e,t),!1}}let ro=null;async function io(t){return ro||(ro=await Qs(t)),ro}const no="https://helper-proxy.webrecorder.workers.dev";async function so(t){const{url:e}=t;if(t.extra?.arrayBuffer)return new lo(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new ho(t);case"http":case"https":return new ao(t);case"file":return new uo(t);case"googledrive":return new co(t);case"ipfs":return new po(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new ao(t)}catch(t){}try{await fetch(`${r}://localhost`,{method:"HEAD"});try{new URL(e)}catch(r){let i=e.replace(":\\","//");i=i.replaceAll("\\","/"),t.url=i}return new ao(t)}catch(t){}throw new Error("Invalid URL: "+e)}class oo{canLoadOnDemand=!0;headers={};length=null;canDoNegativeRange=!1;constructor(t){this.canLoadOnDemand=t}async getRangeFromEnd(t,e,r){if(this.canDoNegativeRange)return await this.getRange(0,-t,e,r);{const i=await this.getLength();return t=Math.min(t,i),await this.getRange(i-t,t,e,r)}}getFullBuffer(){return null}}class ao extends oo{url;length;isValid=!1;ipfsAPI=null;loadingIPFS=null;arrayBuffer=null;constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){super(i),this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.canDoNegativeRange=!0}async doInitialFetch(t,e=!1){const r=new Headers(this.headers);e||r.set("Range","bytes=0-"),this.isValid=!1;let i=null,n=null;if(t)try{n=await this.retryFetch(this.url,{headers:r,method:"HEAD",cache:"no-store"}),200!==n.status&&206!=n.status||(this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=!0)}catch(t){}if(!this.isValid||!this.canLoadOnDemand){i=new AbortController;const e=i.signal;n=await this.retryFetch(this.url,{headers:r,signal:e,cache:"no-store"}),this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=206===n.status||200===n.status,t&&(i.abort(),i=null)}if(null===this.length&&n&&(this.length=Number(n.headers.get("Content-Length")),this.length||206!==n.status||this.parseLengthFromContentRange(n.headers)),null===this.length)try{const t=await fetch(`${no}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t)}if(this.length=Number(this.length||0),!this.canLoadOnDemand&&this.isValid&&this.length>0&&this.length<=s){const t=await this.retryFetch(this.url,{headers:r,cache:"no-store"});t.ok&&(this.arrayBuffer=new lo(new Uint8Array(await t.arrayBuffer())),this.canLoadOnDemand=!0,this.canDoNegativeRange=!1)}return{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length||0}async getRange(t,e,r=!1,i=null){if(this.arrayBuffer)return await this.arrayBuffer.getRange(t,e,r);const n=new Headers(this.headers);e<0?n.set("Range",`bytes=${e}`):n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o;try{o=await this.retryFetch(this.url,s)}catch(t){throw new T(this.url)}if(206!=o.status){if(e<0){const t=await this.getLength();return-e>t&&(e=-t),await this.getRange(t+e,-e,r,i)}const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new C(t):403==o.status?new I(t):new T(t)}return null===this.length&&this.parseLengthFromContentRange(o.headers),r?o.body||new Uint8Array:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=1e3;for(let i=0;i<20;i++){const i=await fetch(t,e);if(429!==i.status&&503!==i.status)return i;await N(r),r+=2e3}throw new Error("retryFetch failed")}parseLengthFromContentRange(t){const e=t.get("Content-Range");if(e){const t=e.split("/");2===t.length&&(this.length=parseInt(t[1]))}}getFullBuffer(){return this.arrayBuffer?.getFullBuffer()??null}}class co extends oo{fileId;apiUrl;length;publicUrl=null;isValid=!1;constructor({url:t,headers:e,size:r,extra:i}){super(!0),this.fileId=t.slice(14),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.headers=e||{},i?.publicUrl&&(this.publicUrl=i.publicUrl),this.length=r||0}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new ao({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r?.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new ao({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r?.abort&&r.abort.abort()}}return e?.isValid||(this.publicUrl=null,e=new ao({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,!this.length&&e.length&&(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new ao({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new ao({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new ao({url:this.apiUrl,headers:this.headers,length:this.length});let s=50;for(;s<2e3;)try{return await n.getRange(t,e,r,i)}catch(t){if(t instanceof I&&t.info.resp?.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error?.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await N(s),s*=2;continue}}throw t}throw new T("not found")}async refreshPublicUrl(){try{const t=await fetch(`${no}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class lo extends oo{arrayBuffer;size;constructor(t){super(!0),this.arrayBuffer=t,this.size=t.length,this.length=this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:go(this.arrayBuffer);return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?go(i):i}getFullBuffer(){return this.arrayBuffer}}class ho extends oo{url;blob;size;arrayBuffer=null;constructor({url:t,blob:e=null,size:r=null}){super(!0),this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r||0,this.length=this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob?.size){const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}return this.size}async doInitialFetch(t=!1){if(!this.blob)try{const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}catch(t){throw console.warn(t),t}const e=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer();this.arrayBuffer=new Uint8Array(e);const r=t?null:go(this.arrayBuffer);return{response:new Response(r),abort:null}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?go(i):i}async _getArrayBuffer(){return new Promise(((t,e)=>{const r=new FileReader;r.onloadend=()=>{r.result instanceof ArrayBuffer?t(r.result):e(r.result)},this.blob&&r.readAsArrayBuffer(this.blob)}))}}class uo extends oo{url;file;size;fileHandle;constructor({blob:t,size:e,extra:r,url:i}){super(!0),this.url=i,this.file=null,this.size=t?t.size:e||0,this.length=this.size,this.fileHandle=r.fileHandle}get isValid(){return!!this.file}async getLength(){return void 0===this.size&&await this.initFileObject(),this.size}async initFileObject(){const t={mode:"read"};if("granted"!==await this.fileHandle.queryPermission(t)&&"granted"!==await this.fileHandle.requestPermission(t))throw new C({fileHandle:this.fileHandle});this.file=await this.fileHandle.getFile(),this.size=this.file.size,this.length=this.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){this.file||await this.initFileObject();const i=this.file.slice(t,t+e);return r?i.stream():new Uint8Array(await i.arrayBuffer())}}class po extends oo{url;opts;length;isValid=!1;constructor({url:t,headers:e,...r}){super(!0),this.url=t,this.opts=r,this.headers=e||{},this.length=null}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await io(this.opts);try{this.length=await e.getSize(this.url),this.isValid=null!==this.length}catch(t){console.warn(t),this.length=null,this.isValid=!1}let r=206;this.isValid||(r=404);const i=new AbortController,n=i.signal;let s;return s=t||!this.isValid?new Uint8Array([]):fo(e.get(this.url,{signal:n})),{response:new Response(s,{status:r}),abort:i}}async getRange(t,e,r=!1,i=null){const n=(await io(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return fo(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return ht(t,e)}}}function fo(t){return new ReadableStream({start:async e=>{try{for await(const r of t)e.enqueue(r)}catch(t){console.log(t)}e.close()}})}function go(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class yo extends gs{noCache;streamMap;constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}isSameUrl(t,e,r){if(t===e)return!0;const i=decodeURIComponent(t),n=decodeURIComponent(e);return i===n||!(!r||!n.startsWith(i))}async loadPayload(t,e){let r=await super.loadPayload(t,e);if(r&&t.respHeaders&&("warc/revisit"!==t.mime||t.status>=300&&t.status<400))return r;const i=this.streamMap.get(t.url);if(i)return console.log(`Reuse stream for ${t.url}`),new Ao(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!this.isSameUrl(n.url,t.url,t.method))return console.log(`Wrong url: expected ${t.url}, got ${n.url}`),null;if(n.ts!==t.ts&&1e3*Math.floor(n.ts/1e3)!==t.ts)return console.log(`Wrong timestamp: expected ${t.ts}, got ${n.ts}`),null;if(n.digest!==t.digest&&t.digest&&n.digest){const e=n.digest.split(":"),r=t.digest.split(":");2===e.length&&2===r.length&&r[1]===e[1]?t.digest=e[0]+":"+r[1]:console.log(`Wrong digest: expected ${t.digest}, got ${n.digest}`)}if(n.origURL){if(!r&&t.status>=300&&t.status<400&&n.respHeaders){if(t.respHeaders=n.respHeaders,!this.noCache)try{await this.db.put("resources",t)}catch(t){console.log(t)}return new Uint8Array([])}const i=await this.lookupUrl(n.origURL,n.origTS||0,{...e,noRevisits:!0});if(!i)return null;const s=e.depth||0;if(!r&&(s<2?r=await this.loadPayload(i,{...e,depth:s+1}):console.warn("Avoiding revisit lookup loop for: "+JSON.stringify(n)),!r))return null;if(n.respHeaders&&i.respHeaders?(t.respHeaders=n.respHeaders,i.respHeaders["content-length"]&&(t.respHeaders["content-length"]=i.respHeaders["content-length"])):t.respHeaders=i.respHeaders,t.mime=i.mime,t.digest=i.digest,i.extraOpts&&(t.extraOpts=i.extraOpts),!this.noCache){delete t.payload;try{await this.db.put("resources",t)}catch(t){console.log(t)}i.digest!==n.digest&&n.digest&&r instanceof Uint8Array&&await this.commitPayload(r,n.digest)}return r}const o=n.digest,a=t.source.length>=25e6;if(!this.noCache&&!a&&n.reader&&o&&(n.reader=new _o(this,n.reader,o,t.url,this.streamMap,s||null,t.recordDigest,t.source)),a&&console.log("Not cacheing, too big: "+t.url),r=n.payload||null,!r&&!n.reader)return null;try{r&&!this.noCache&&!a&&o&&await this.commitPayload(r,o)}catch(e){console.warn(`Payload Update Error: ${t.url}`),console.warn(e)}if(!(t.respHeaders&&t.digest||(t.respHeaders=n.respHeaders,t.digest=o,n.extraOpts&&(t.extraOpts=n.extraOpts),this.noCache||a)))try{await this.db.put("resources",t)}catch(e){console.warn(`Resource Update Error: ${t.url}`),console.warn(e)}return r||n.reader||null}async commitPayload(t,e){if(!t||0===t.length)return;const r=this.db.transaction(["payload","digestRef"],"readwrite");try{if(r.objectStore("payload").put({payload:t,digest:e}),this.useRefCounts){const i=await r.objectStore("digestRef").get(e);i&&(i.size=t.length,r.objectStore("digestRef").put(i))}await r.done}catch(t){console.warn("Payload Commit Error: "+t)}}}class mo extends yo{async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new As(e);return{remote:await r.load()}}}class wo extends mo{loader;constructor(t,e,r=!1){super(t,r),this.loader=e}updateHeaders(t){this.loader.headers=t}async loadSource(t){const{start:e,length:r}=t;return await this.loader.getRange(e,r,!0)}}class bo extends mo{remoteUrlPrefix;headers;constructor(t,e,r,i=!1){super(t,i),this.remoteUrlPrefix=e,this.headers=r}updateHeaders(t){this.headers=t}async loadSource(t){const{start:e,length:r}=t,i=new Headers(this.headers),n=new URL(t.path,this.remoteUrlPrefix).href,s=await so({url:n,headers:i});return await s.getRange(e,r,!0)}}class Ao extends wt{chunkstore;offset;size;constructor(t){super(),this.chunkstore=t,this.offset=0,this.size=this.chunkstore.totalLength}setLimitSkip(t=-1,e=0){this.offset=e,t>0&&(this.size=t)}setRangeAll(t){this.size=t}async*[Symbol.asyncIterator](){yield*this.chunkstore.getChunkIter()}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new At(t,this.size,this.offset).getReadableStream()}async readlineRaw(t){throw new Error("Method not implemented.")}}class vo{chunks;size=0;done=!1;totalLength;nextChunk;_nextResolve=()=>{};constructor(t){this.chunks=[],this.size=0,this.done=!1,this.totalLength=t,this.nextChunk=new Promise((t=>this._nextResolve=t))}add(t){this.chunks.push(t),this.size+=t.byteLength,this._nextResolve(!0),this.nextChunk=new Promise((t=>this._nextResolve=t))}concatChunks(){return this._nextResolve(!1),this.done=!0,ht(this.chunks,this.size)}async*getChunkIter(){for(const t of this.chunks)yield t;let t=this.chunks.length;for(;!this.done&&await this.nextChunk;)for(;t<this.chunks.length;t++)yield this.chunks[t]}}class _o extends wt{db;reader;digest;url;commit=!0;fullbuff=null;hasher;expectedHash;source;isRange=!1;totalLength=-1;fixedSize=0;streamMap;constructor(t,e,r,i="",n,s,o,a){super(),this.db=t,this.reader=e,this.digest=r,this.url=i,this.commit=!0,this.fullbuff=null,this.hasher=s,this.expectedHash=o,this.source=a,this.isRange=!1,this.totalLength=-1,this.streamMap=n}setRangeAll(t){this.isRange=!0,this.totalLength=t}setLimitSkip(t=-1,e=0){this.isRange=!0,2!==t||0!==e?((-1!=t||e>0)&&(this.commit=!1),this.reader.setLimitSkip(t,e)):this.fixedSize=2}async*[Symbol.asyncIterator](){let t=null;this.commit&&(t=new vo(this.totalLength),this.isRange&&(console.log(`Store stream for ${this.url}, ${this.totalLength}`),this.streamMap.set(this.url,t)));for await(const e of this.reader)t&&t.add(e),yield e;if(0!==this.reader.limit)console.warn(`Expected payload not consumed, ${this.reader.limit} bytes left`);else{if(!this.isRange&&this.hasher&&this.expectedHash&&this.source){const t=this.hasher.getHash(),{path:e,start:r,length:i}=this.source,n=`${e}:${r}-${i}`;this.db.addVerifyData(n,this.expectedHash,t)}this.commit&&(this.fullbuff=t.concatChunks(),await this.db.commitPayload(this.fullbuff,this.digest))}this.commit&&this.isRange&&(this.streamMap.delete(this.url),console.log(`Delete stream for ${this.url}`))}async _consumeIter(t){for await(const e of t);}async readFully(){return this.fullbuff||await this._consumeIter(this),this.fullbuff}getReadableStream(){const t=super.getReadableStream();if(!this.commit)return t;const e=t.tee();return this._consumeIter(bt.fromReadable(e[1].getReader())),this.fixedSize?this.getFixedSizeReader(e[0].getReader(),this.fixedSize):e[0]}getFixedSizeReader(t,e){return new ReadableStream({async start(r){const{value:i,done:n}=await t.read();n||r.enqueue(i.slice(0,e)),r.close()}})}async readlineRaw(t){throw new Error("Method not implemented.")}}class Eo extends ws{har;pageRefs;constructor(t){super(),this.har="string"==typeof t?JSON.parse(t):t,this.pageRefs={}}async load(t){this.db=t,this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing()}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings?.onLoad)continue;let t;t=e.title&&(e.title.startsWith("http:")||e.title.startsWith("https:"))?e.title:this.pageRefs[e.id];const r=e.title||t,i=e.startedDateTime;this.addPage({url:t,date:i,title:r})}}parseEntries(t){for(const e of t.log.entries){const r=new Date(e.startedDateTime).getTime(),i={};for(const{name:t,value:r}of e.response.headers)i[t]=r;let n=null;const s=new TextEncoder;if(e.response.content?.text)try{n=Uint8Array.from(atob(e.response.content.text),(t=>t.charCodeAt(0)))}catch(t){n=e.response.content.text}else{const t=i["Content-Length"];t&&"0"!==t?(console.log(`Warning: Content-Length ${t} but no content found for ${e.request.url}`),n=s.encode("Sorry, the HAR file did not include the content for this resource.")):n=Uint8Array.from([])}this.addResource({url:e.request.url,ts:r,status:e.response.status,respHeaders:i,payload:n}),e.pageref&&!this.pageRefs[e.pageref]&&(this.pageRefs[e.pageref]=e.request.url)}}}const So="req.http:cookie";class xo extends bs{cdxindexer=null;sourceExtra;shaPrefix;constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.sourceExtra=i,this.shaPrefix=n}filterRecord(t){switch(t.warcType){case"warcinfo":case"revisit":case"request":return null;case"metadata":return this.shouldIndexMetadataRecord(t)?null:"skip"}const e=t.warcTargetURI,r=t.warcDate?new Date(t.warcDate).getTime():Date.now();return this.pageMap[r+"/"+e]?(t._isPage=!0,null):null}index(t,e){return t&&(t._offset=e.offset,t._length=e.recordLength),super.index(t,e)}indexReqResponse(t,e,r){if(t._isPage)return super.indexReqResponse(t,e,r);if("warcinfo"===t.warcType)return void this.parseWarcInfo(t);this.cdxindexer||(this.cdxindexer=new Ut({noSurt:!0}));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i){if(206===i.status){const e=t.httpHeaders?.headers;if(e&&!this.isFullRangeRequest(e))return}if(e&&e.httpHeaders){const t=e.httpHeaders.headers.get("cookie");t&&(i[So]=t)}this.addCdx(i)}}getSource(t){return{...this.sourceExtra,path:t.filename,start:Number(t.offset),length:Number(t.length)}}addCdx(t){const{url:e,mime:r}=t,i=Number(t.status)||200,n=p(t.timestamp).getTime(),s=this.getSource(t);let{digest:o,recordDigest:a}=t;o&&-1===o.indexOf(":")&&(o=this.shaPrefix+o);const c={url:e,ts:n,status:i,digest:o,recordDigest:a,mime:r,loaded:!1,source:s};if(t.method){if("HEAD"===t.method||"OPTIONS"===t.method)return;c.method=t.method}t[So]&&(c[So]=t[So]),t.method&&"GET"!==t.method&&(c.url=at(t.url,t.requestBody||"",t.method)),this.addResource(c)}}class To extends xo{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new bt(this.reader));let n=0;for await(const s of i.iterLines()){let i,o,a;n+=s.length;let c=s.trimEnd();if(!c.startsWith("{")){const t=c.indexOf(" {");if(t<0)continue;[o,a]=c.split(" ",2),c=c.slice(t)}try{i=JSON.parse(c)}catch(t){console.log("JSON Parser error on: "+c);continue}i.timestamp=a,i.url||(i.url=o,console.warn(`URL missing, using urlkey ${o}`)),e&&r&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}return await this.finishIndexing(),e&&e(100,null,r,r),{}}}const Co=4294967295,Io=65535;class Ro{start;length;constructor(t,e){this.start=t,this.length=e}}let ko=!1;class No extends bt{hasher=null;hashInited=!1;hash="";constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){try{this.hasher=await rt(it,32).then((t=>{t.init(256);const e={init:()=>(t.init(256),e),update:r=>(t.update(r),e),digest:e=>t.digest(e),save:()=>t.save(),load:r=>(t.load(r),e),blockSize:64,digestSize:32};return e}))}catch(t){console.warn("Hasher init failed, not checking hashes: "+t.toString())}finally{this.hashInited=!0}}async _loadNext(){const t=await super._loadNext();return t?(this.hashInited||await this.initHasher(),this.hasher&&this.hasher.update(t)):this.hasher&&(this.hash="sha256:"+this.hasher.digest("hex"),this.hasher=null),t}getHash(){return this.hash}}class Oo{loader;entriesUpdated=!1;entries=null;constructor(t,e=null){this.loader=t,this.entries=e,this.entriesUpdated=!1}async load(t=!1){if(!this.entries||t){const e=65558,r=await this.loader.getRangeFromEnd(e,!1),i=Math.max(await this.loader.getLength()-e,0);try{this.entries=this._loadEntries(r,i)}catch(t){if(t instanceof Ro){const e=ht([await this.loader.getRange(t.start,t.length,!1),r],t.length+length);this.entries=this._loadEntries(e,t.start)}}this.entriesUpdated=!0}return this.entries}_loadEntries(t,e){const r=t.byteLength;if(!r)return null;const i=new DataView(t.buffer,t.byteOffset,t.byteLength),n=new TextDecoder("utf8"),s=new TextDecoder("ascii"),o={};let a=0,c=0,l=r;for(let e=r-22,n=Math.max(0,e-Io);e>=n;--e)if(80===t[e]&&75===t[e+1]&&5===t[e+2]&&6===t[e+3]){l=e,c=i.getUint32(e+16,!0),a=i.getUint16(e+8,!0);break}if(c===Co||a===Io){if(117853008!==i.getUint32(l-20,!0))return console.warn("invalid zip64 EOCD locator"),null;const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return console.warn("invalid zip64 EOCD record"),null;a=this.getUint64(i,t+32,!0),c=this.getUint64(i,t+48,!0)}if(c>=e)c-=e;else if(c<e&&c>0)throw new Ro(c,e-c);if(c>=r||c<0)for(c=-1,a=Io;++c<r&&80!==t[c]&&75!==t[c+1]&&1!==t[c+2]&&2!==t[c+3];);for(l-=46;--a>=0&&c<l&&1347092738==i.getUint32(c);){const e=i.getUint16(c+8,!0);let r=i.getUint32(c+20,!0),a=i.getUint32(c+24,!0);const l=i.getUint16(c+28,!0),h=i.getUint16(c+30,!0),u=i.getUint16(c+32,!0),p=8===i.getUint16(c+10,!0);let d=i.getUint32(c+42,!0);const f=(2048&e?n:s).decode(t.subarray(c+46,c+46+l));if(r===Co||a===Co||d===Co){let t=c+46+l;const e=t+h-3;for(;t<e;){const e=i.getUint16(t,!0);let n=i.getUint16(t+2,!0);t+=4,1===e&&(a===Co&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===Co&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===Co&&n>=8&&(d=this.getUint64(i,t,!0),t+=8,n-=8)),t+=n}}f.endsWith("/")||(o[f]={filename:f,deflate:p,uncompressedSize:a,compressedSize:r,localEntryOffset:d},h||(o[f].offset=30+l+d)),c+=46+l+h+u}return o}getCompressedSize(t){if(null===this.entries)return 0;const e=this.entries[t];return e?isNaN(e.compressedSize)?0:e.compressedSize:0}async loadFile(t,{offset:e=0,length:r=-1,signal:i=null,unzip:n=!1,computeHash:s=!1}={}){if(null===this.entries&&await this.load(),!this.entries)throw new Error("entries not loaded");const o=this.entries[t];if(!o)throw new Error("file not found in zip: "+t);if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30,!1),e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=e.getUint16(26,!0),i=e.getUint16(28,!0);o.offset=30+r+i+o.localEntryOffset,this.entriesUpdated=!0}r=r<0?o.compressedSize:Math.min(r,o.compressedSize-e),e+=o.offset;const a=(await this.loader.getRange(e,r,!0,i)).getReader();let c,l=null;return c=n?o.deflate?new bt(new bt(a,"deflate")):new bt(a):new bt(a,o.deflate?"deflate":null),c=(t=>s&&ko?(l=new No(t),l):t)(c),{reader:c,hasher:l}}getUint64(t,e,r){const i=t.getUint32(e,r),n=t.getUint32(e+4,r),s=r?i+2**32*n:2**32*i+n;return Number.isSafeInteger(s)||console.warn(s,"exceeds MAX_SAFE_INTEGER. Precision may be lost"),s}}class Bo extends oo{zipreader;filename;constructor(t,e){super(!0),this.zipreader=t,this.filename=e}get isValid(){return!0}async doInitialFetch(t=!1){await this.zipreader.load(),this.length=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=fo(t)}return{response:new Response(e),abort:null}}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length||0}async getRange(t,e,r=!1,i=null){const{reader:n}=await this.zipreader.loadFile(this.filename,{offset:t,length:e,signal:i,unzip:!0});return r?fo(n):await n.readFully()}}class Po{waczname;hash;path;crawlId;parent;fileType;indexType;entries;nonSurt;loader;zipreader;constructor({waczname:t,hash:e,path:r,parent:i=null,entries:n=null,fileType:s="wacz",indexType:o=0,nonSurt:a=!1,loader:c=null,crawlId:l}){this.waczname=t,this.hash=e,this.path=r,this.loader=c,this.parent=i,this.zipreader=null,this.entries=n,this.indexType=o,this.fileType=s,this.nonSurt=a,this.crawlId=l}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){if(t&&(this.path=t),this.loader)return await this.initFromLoader(this.loader);if(!this.parent)throw new Error("must have either loader or parent");const e=await this.parent.createLoader({url:this.path});return await this.initFromLoader(e)}async initFromLoader(t){return this.zipreader=new Oo(t,this.entries),this.entries||(this.entries=await this.zipreader.load()||{}),this.entries}async loadFile(t,e){return this.zipreader||await this.init(),await this.zipreader.loadFile(t,e)}containsFile(t){return this.entries&&!!this.entries[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,crawlId:this.crawlId,entries:this.entries,indexType:this.indexType,nonSurt:this.nonSurt}}async save(t,e=!1){const r=this.zipreader;(e||r&&r.entriesUpdated)&&(await t.put("waczfiles",this.serialize()),r&&(r.entriesUpdated=!1))}iterContainedFiles(){return this.entries?Object.keys(this.entries):[]}getLoadPath(t){return this.waczname+"#!/"+t}getName(t){return this.waczname+"#!/"+t}async createLoader(t){const{url:e}=t,r=e.lastIndexOf("#!/");if(this.zipreader||await this.init(),r>=0)return new Bo(this.zipreader,e.slice(r+3));throw new Error("invalid wacz url: "+e)}}
46
+ /*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function Do(t){return null==t}var Lo={isNothing:Do,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:Do(t)?[]:[t]},repeat:function(t,e){var r,i="";for(r=0;r<e;r+=1)i+=t;return i},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var r,i,n,s;if(e)for(r=0,i=(s=Object.keys(e)).length;r<i;r+=1)t[n=s[r]]=e[n];return t}};function Uo(t,e){var r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function Mo(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Uo(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}Mo.prototype=Object.create(Error.prototype),Mo.prototype.constructor=Mo,Mo.prototype.toString=function(t){return this.name+": "+Uo(this,t)};var Fo=Mo;function Ho(t,e,r,i,n){var s="",o="",a=Math.floor(n/2)-1;return i-e>a&&(e=i-a+(s=" ... ").length),r-i>a&&(r=i+a-(o=" ...").length),{str:s+t.slice(e,r).replace(/\t/g,"→")+o,pos:i-e+s.length}}function Wo(t,e){return Lo.repeat(" ",e-t.length)+t}var jo=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,i=/\r?\n|\r|\0/g,n=[0],s=[],o=-1;r=i.exec(t.buffer);)s.push(r.index),n.push(r.index+r[0].length),t.position<=r.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var a,c,l="",h=Math.min(t.line+e.linesAfter,s.length).toString().length,u=e.maxLength-(e.indent+h+3);for(a=1;a<=e.linesBefore&&!(o-a<0);a++)c=Ho(t.buffer,n[o-a],s[o-a],t.position-(n[o]-n[o-a]),u),l=Lo.repeat(" ",e.indent)+Wo((t.line-a+1).toString(),h)+" | "+c.str+"\n"+l;for(c=Ho(t.buffer,n[o],s[o],t.position,u),l+=Lo.repeat(" ",e.indent)+Wo((t.line+1).toString(),h)+" | "+c.str+"\n",l+=Lo.repeat("-",e.indent+h+3+c.pos)+"^\n",a=1;a<=e.linesAfter&&!(o+a>=s.length);a++)c=Ho(t.buffer,n[o+a],s[o+a],t.position-(n[o]-n[o+a]),u),l+=Lo.repeat(" ",e.indent)+Wo((t.line+a+1).toString(),h)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Vo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],Go=["scalar","sequence","mapping"],zo=function(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===Vo.indexOf(e))throw new Fo('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')})),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach((function(r){t[r].forEach((function(t){e[String(t)]=r}))})),e}(e.styleAliases||null),-1===Go.indexOf(this.kind))throw new Fo('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function qo(t,e){var r=[];return t[e].forEach((function(t){var e=r.length;r.forEach((function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)})),r[e]=t})),r}function Qo(t){return this.extend(t)}Qo.prototype.extend=function(t){var e=[],r=[];if(t instanceof zo)r.push(t);else if(Array.isArray(t))r=r.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new Fo("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit))}e.forEach((function(t){if(!(t instanceof zo))throw new Fo("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new Fo("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new Fo("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")})),r.forEach((function(t){if(!(t instanceof zo))throw new Fo("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(Qo.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=qo(i,"implicit"),i.compiledExplicit=qo(i,"explicit"),i.compiledTypeMap=function(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(i);return r}(i.compiledImplicit,i.compiledExplicit),i};var Ko=Qo,Yo=new zo("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),Jo=new zo("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),Xo=new zo("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}}),Zo=new Ko({explicit:[Yo,Jo,Xo]}),$o=new zo("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"}),ta=new zo("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function ea(t){return 48<=t&&t<=55}function ra(t){return 48<=t&&t<=57}var ia=new zo("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=t.length,n=0,s=!1;if(!i)return!1;if("-"!==(e=t[n])&&"+"!==e||(e=t[++n]),"0"===e){if(n+1===i)return!0;if("b"===(e=t[++n])){for(n++;n<i;n++)if("_"!==(e=t[n])){if("0"!==e&&"1"!==e)return!1;s=!0}return s&&"_"!==e}if("x"===e){for(n++;n<i;n++)if("_"!==(e=t[n])){if(!(48<=(r=t.charCodeAt(n))&&r<=57||65<=r&&r<=70||97<=r&&r<=102))return!1;s=!0}return s&&"_"!==e}if("o"===e){for(n++;n<i;n++)if("_"!==(e=t[n])){if(!ea(t.charCodeAt(n)))return!1;s=!0}return s&&"_"!==e}}if("_"===e)return!1;for(;n<i;n++)if("_"!==(e=t[n])){if(!ra(t.charCodeAt(n)))return!1;s=!0}return!(!s||"_"===e)},construct:function(t){var e,r=t,i=1;if(-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(e=r[0])&&"+"!==e||("-"===e&&(i=-1),e=(r=r.slice(1))[0]),"0"===r)return 0;if("0"===e){if("b"===r[1])return i*parseInt(r.slice(2),2);if("x"===r[1])return i*parseInt(r.slice(2),16);if("o"===r[1])return i*parseInt(r.slice(2),8)}return i*parseInt(r,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!Lo.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),na=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),sa=/^[-+]?[0-9]+e/,oa=new zo("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!na.test(t)||"_"===t[t.length-1])},construct:function(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||Lo.isNegativeZero(t))},represent:function(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(Lo.isNegativeZero(t))return"-0.0";return r=t.toString(10),sa.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),aa=Zo.extend({implicit:[$o,ta,ia,oa]}),ca=aa,la=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),ha=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$"),ua=new zo("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==la.exec(t)||null!==ha.exec(t))},construct:function(t){var e,r,i,n,s,o,a,c,l=0,h=null;if(null===(e=la.exec(t))&&(e=ha.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(r,i,n,s,o,a,l)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}}),pa=new zo("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),da="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",fa=new zo("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=0,n=t.length,s=da;for(r=0;r<n;r++)if(!((e=s.indexOf(t.charAt(r)))>64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=da,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(i.charAt(e));return 0==(r=n%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===r?(a.push(o>>10&255),a.push(o>>2&255)):12===r&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,r,i="",n=0,s=t.length,o=da;for(e=0;e<s;e++)e%3==0&&e&&(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]),n=(n<<8)+t[e];return 0==(r=s%3)?(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]):2===r?(i+=o[n>>10&63],i+=o[n>>4&63],i+=o[n<<2&63],i+=o[64]):1===r&&(i+=o[n>>2&63],i+=o[n<<4&63],i+=o[64],i+=o[64]),i}}),ga=Object.prototype.hasOwnProperty,ya=Object.prototype.toString,ma=new zo("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=[],a=t;for(e=0,r=a.length;e<r;e+=1){if(i=a[e],s=!1,"[object Object]"!==ya.call(i))return!1;for(n in i)if(ga.call(i,n)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==o.indexOf(n))return!1;o.push(n)}return!0},construct:function(t){return null!==t?t:[]}}),wa=Object.prototype.toString,ba=new zo("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(i=o[e],"[object Object]"!==wa.call(i))return!1;if(1!==(n=Object.keys(i)).length)return!1;s[e]=[n[0],i[n[0]]]}return!0},construct:function(t){if(null===t)return[];var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}}),Aa=Object.prototype.hasOwnProperty,va=new zo("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,r=t;for(e in r)if(Aa.call(r,e)&&null!==r[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),_a=ca.extend({implicit:[ua,pa],explicit:[fa,ma,ba,va]}),Ea=Object.prototype.hasOwnProperty,Sa=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,xa=/[\x85\u2028\u2029]/,Ta=/[,\[\]\{\}]/,Ca=/^(?:!|!!|![a-z\-]+!)$/i,Ia=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function Ra(t){return Object.prototype.toString.call(t)}function ka(t){return 10===t||13===t}function Na(t){return 9===t||32===t}function Oa(t){return 9===t||32===t||10===t||13===t}function Ba(t){return 44===t||91===t||93===t||123===t||125===t}function Pa(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function Da(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function La(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var Ua=new Array(256),Ma=new Array(256),Fa=0;Fa<256;Fa++)Ua[Fa]=Da(Fa)?1:0,Ma[Fa]=Da(Fa);function Ha(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||_a,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Wa(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=jo(r),new Fo(e,r)}function ja(t,e){throw Wa(t,e)}function Va(t,e){t.onWarning&&t.onWarning.call(null,Wa(t,e))}var Ga={YAML:function(t,e,r){var i,n,s;null!==t.version&&ja(t,"duplication of %YAML directive"),1!==r.length&&ja(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&ja(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),s=parseInt(i[2],10),1!==n&&ja(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&Va(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var i,n;2!==r.length&&ja(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],Ca.test(i)||ja(t,"ill-formed tag handle (first argument) of the TAG directive"),Ea.call(t.tagMap,i)&&ja(t,'there is a previously declared suffix for "'+i+'" tag handle'),Ia.test(n)||ja(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){ja(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n}};function za(t,e,r,i){var n,s,o,a;if(e<r){if(a=t.input.slice(e,r),i)for(n=0,s=a.length;n<s;n+=1)9===(o=a.charCodeAt(n))||32<=o&&o<=1114111||ja(t,"expected valid JSON character");else Sa.test(a)&&ja(t,"the stream contains non-printable characters");t.result+=a}}function qa(t,e,r,i){var n,s,o,a;for(Lo.isObject(r)||ja(t,"cannot merge mappings; the provided source object is unacceptable"),o=0,a=(n=Object.keys(r)).length;o<a;o+=1)s=n[o],Ea.call(e,s)||(e[s]=r[s],i[s]=!0)}function Qa(t,e,r,i,n,s,o,a,c){var l,h;if(Array.isArray(n))for(l=0,h=(n=Array.prototype.slice.call(n)).length;l<h;l+=1)Array.isArray(n[l])&&ja(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===Ra(n[l])&&(n[l]="[object Object]");if("object"==typeof n&&"[object Object]"===Ra(n)&&(n="[object Object]"),n=String(n),null===e&&(e={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(s))for(l=0,h=s.length;l<h;l+=1)qa(t,e,s[l],r);else qa(t,e,s,r);else t.json||Ea.call(r,n)||!Ea.call(e,n)||(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,ja(t,"duplicated mapping key")),"__proto__"===n?Object.defineProperty(e,n,{configurable:!0,enumerable:!0,writable:!0,value:s}):e[n]=s,delete r[n];return e}function Ka(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):ja(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Ya(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);0!==n;){for(;Na(n);)9===n&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&35===n)do{n=t.input.charCodeAt(++t.position)}while(10!==n&&13!==n&&0!==n);if(!ka(n))break;for(Ka(t),n=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position)}return-1!==r&&0!==i&&t.lineIndent<r&&Va(t,"deficient indentation"),i}function Ja(t){var e,r=t.position;return!(45!==(e=t.input.charCodeAt(r))&&46!==e||e!==t.input.charCodeAt(r+1)||e!==t.input.charCodeAt(r+2)||(r+=3,0!==(e=t.input.charCodeAt(r))&&!Oa(e)))}function Xa(t,e){1===e?t.result+=" ":e>1&&(t.result+=Lo.repeat("\n",e-1))}function Za(t,e){var r,i,n=t.tag,s=t.anchor,o=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),i=t.input.charCodeAt(t.position);0!==i&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,ja(t,"tab characters must not be used in indentation")),45===i)&&Oa(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,Ya(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,ec(t,e,3,!1,!0),o.push(t.result),Ya(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)ja(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!a&&(t.tag=n,t.anchor=s,t.kind="sequence",t.result=o,!0)}function $a(t){var e,r,i,n,s=!1,o=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&ja(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(s=!0,n=t.input.charCodeAt(++t.position)):33===n?(o=!0,r="!!",n=t.input.charCodeAt(++t.position)):r="!",e=t.position,s){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&62!==n);t.position<t.length?(i=t.input.slice(e,t.position),n=t.input.charCodeAt(++t.position)):ja(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!Oa(n);)33===n&&(o?ja(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),Ca.test(r)||ja(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),n=t.input.charCodeAt(++t.position);i=t.input.slice(e,t.position),Ta.test(i)&&ja(t,"tag suffix cannot contain flow indicator characters")}i&&!Ia.test(i)&&ja(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){ja(t,"tag name is malformed: "+i)}return s?t.tag=i:Ea.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:ja(t,'undeclared tag handle "'+r+'"'),!0}function tc(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&ja(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!Oa(r)&&!Ba(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&ja(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function ec(t,e,r,i,n){var s,o,a,c,l,h,u,p,d,f=1,g=!1,y=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=o=a=4===r||3===r,i&&Ya(t,!0,-1)&&(g=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;$a(t)||tc(t);)Ya(t,!0,-1)?(g=!0,a=s,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)):a=!1;if(a&&(a=g||n),1!==f&&4!==r||(p=1===r||2===r?e:e+1,d=t.position-t.lineStart,1===f?a&&(Za(t,d)||function(t,e,r){var i,n,s,o,a,c,l,h=t.tag,u=t.anchor,p={},d=Object.create(null),f=null,g=null,y=null,m=!1,w=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=p),l=t.input.charCodeAt(t.position);0!==l;){if(m||-1===t.firstTabInLine||(t.position=t.firstTabInLine,ja(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),s=t.line,63!==l&&58!==l||!Oa(i)){if(o=t.line,a=t.lineStart,c=t.position,!ec(t,r,2,!1,!0))break;if(t.line===s){for(l=t.input.charCodeAt(t.position);Na(l);)l=t.input.charCodeAt(++t.position);if(58===l)Oa(l=t.input.charCodeAt(++t.position))||ja(t,"a whitespace character is expected after the key-value separator within a block mapping"),m&&(Qa(t,p,d,f,g,null,o,a,c),f=g=y=null),w=!0,m=!1,n=!1,f=t.tag,g=t.result;else{if(!w)return t.tag=h,t.anchor=u,!0;ja(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!w)return t.tag=h,t.anchor=u,!0;ja(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(m&&(Qa(t,p,d,f,g,null,o,a,c),f=g=y=null),w=!0,m=!0,n=!0):m?(m=!1,n=!0):ja(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,l=i;if((t.line===s||t.lineIndent>e)&&(m&&(o=t.line,a=t.lineStart,c=t.position),ec(t,e,4,!0,n)&&(m?g=t.result:y=t.result),m||(Qa(t,p,d,f,g,y,o,a,c),f=g=y=null),Ya(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==l)ja(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return m&&Qa(t,p,d,f,g,null,o,a,c),w&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=p),w}(t,d,p))||function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f=!0,g=t.tag,y=t.anchor,m=Object.create(null);if(91===(d=t.input.charCodeAt(t.position)))o=93,l=!1,s=[];else{if(123!==d)return!1;o=125,l=!0,s={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),d=t.input.charCodeAt(++t.position);0!==d;){if(Ya(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=y,t.kind=l?"mapping":"sequence",t.result=s,!0;f?44===d&&ja(t,"expected the node content, but found ','"):ja(t,"missed comma between flow collection entries"),p=null,a=c=!1,63===d&&Oa(t.input.charCodeAt(t.position+1))&&(a=c=!0,t.position++,Ya(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,ec(t,e,1,!1,!0),u=t.tag,h=t.result,Ya(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==r||58!==d||(a=!0,d=t.input.charCodeAt(++t.position),Ya(t,!0,e),ec(t,e,1,!1,!0),p=t.result),l?Qa(t,s,m,u,h,p,r,i,n):a?s.push(Qa(t,null,m,u,h,p,r,i,n)):s.push(h),Ya(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(f=!0,d=t.input.charCodeAt(++t.position)):f=!1}ja(t,"unexpected end of the stream within a flow collection")}(t,p)?y=!0:(o&&function(t,e){var r,i,n,s,o,a=1,c=!1,l=!1,h=e,u=0,p=!1;if(124===(s=t.input.charCodeAt(t.position)))i=!1;else{if(62!==s)return!1;i=!0}for(t.kind="scalar",t.result="";0!==s;)if(43===(s=t.input.charCodeAt(++t.position))||45===s)1===a?a=43===s?3:2:ja(t,"repeat of a chomping mode identifier");else{if(!((n=48<=(o=s)&&o<=57?o-48:-1)>=0))break;0===n?ja(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?ja(t,"repeat of an indentation width identifier"):(h=e+n-1,l=!0)}if(Na(s)){do{s=t.input.charCodeAt(++t.position)}while(Na(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!ka(s)&&0!==s)}for(;0!==s;){for(Ka(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!l||t.lineIndent<h)&&32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position);if(!l&&t.lineIndent>h&&(h=t.lineIndent),ka(s))u++;else{if(t.lineIndent<h){3===a?t.result+=Lo.repeat("\n",c?1+u:u):1===a&&c&&(t.result+="\n");break}for(i?Na(s)?(p=!0,t.result+=Lo.repeat("\n",c?1+u:u)):p?(p=!1,t.result+=Lo.repeat("\n",u+1)):0===u?c&&(t.result+=" "):t.result+=Lo.repeat("\n",u):t.result+=Lo.repeat("\n",c?1+u:u),c=!0,l=!0,u=0,r=t.position;!ka(s)&&0!==s;)s=t.input.charCodeAt(++t.position);za(t,r,t.position,!1)}}return!0}(t,p)||function(t,e){var r,i,n;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(za(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else ka(r)?(za(t,i,n,!0),Xa(t,Ya(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Ja(t)?ja(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);ja(t,"unexpected end of the stream within a single quoted scalar")}(t,p)||function(t,e){var r,i,n,s,o,a,c;if(34!==(a=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(a=t.input.charCodeAt(t.position));){if(34===a)return za(t,r,t.position,!0),t.position++,!0;if(92===a){if(za(t,r,t.position,!0),ka(a=t.input.charCodeAt(++t.position)))Ya(t,!1,e);else if(a<256&&Ua[a])t.result+=Ma[a],t.position++;else if((o=120===(c=a)?2:117===c?4:85===c?8:0)>0){for(n=o,s=0;n>0;n--)(o=Pa(a=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+o:ja(t,"expected hexadecimal character");t.result+=La(s),t.position++}else ja(t,"unknown escape sequence");r=i=t.position}else ka(a)?(za(t,r,i,!0),Xa(t,Ya(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Ja(t)?ja(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}ja(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?y=!0:function(t){var e,r,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!Oa(i)&&!Ba(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&ja(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Ea.call(t.anchorMap,r)||ja(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Ya(t,!0,-1),!0}(t)?(y=!0,null===t.tag&&null===t.anchor||ja(t,"alias node should not have any properties")):function(t,e,r){var i,n,s,o,a,c,l,h,u=t.kind,p=t.result;if(Oa(h=t.input.charCodeAt(t.position))||Ba(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(Oa(i=t.input.charCodeAt(t.position+1))||r&&Ba(i)))return!1;for(t.kind="scalar",t.result="",n=s=t.position,o=!1;0!==h;){if(58===h){if(Oa(i=t.input.charCodeAt(t.position+1))||r&&Ba(i))break}else if(35===h){if(Oa(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&Ja(t)||r&&Ba(h))break;if(ka(h)){if(a=t.line,c=t.lineStart,l=t.lineIndent,Ya(t,!1,-1),t.lineIndent>=e){o=!0,h=t.input.charCodeAt(t.position);continue}t.position=s,t.line=a,t.lineStart=c,t.lineIndent=l;break}}o&&(za(t,n,s,!1),Xa(t,t.line-a),n=s=t.position,o=!1),Na(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return za(t,n,s,!1),!!t.result||(t.kind=u,t.result=p,!1)}(t,p,1===r)&&(y=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(y=a&&Za(t,d))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&ja(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),c=0,l=t.implicitTypes.length;c<l;c+=1)if((u=t.implicitTypes[c]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(Ea.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,c=0,l=(h=t.typeMap.multi[t.kind||"fallback"]).length;c<l;c+=1)if(t.tag.slice(0,h[c].tag.length)===h[c].tag){u=h[c];break}u||ja(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&ja(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):ja(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||y}function rc(t){var e,r,i,n,s=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&(Ya(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==n));){for(o=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!Oa(n);)n=t.input.charCodeAt(++t.position);for(i=[],(r=t.input.slice(e,t.position)).length<1&&ja(t,"directive name must not be less than one character in length");0!==n;){for(;Na(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!ka(n));break}if(ka(n))break;for(e=t.position;0!==n&&!Oa(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&Ka(t),Ea.call(Ga,r)?Ga[r](t,r,i):Va(t,'unknown document directive "'+r+'"')}Ya(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,Ya(t,!0,-1)):o&&ja(t,"directives end mark is expected"),ec(t,t.lineIndent-1,4,!1,!0),Ya(t,!0,-1),t.checkLineBreaks&&xa.test(t.input.slice(s,t.position))&&Va(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Ja(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Ya(t,!0,-1)):t.position<t.length-1&&ja(t,"end of the stream or a document separator is expected")}function ic(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var r=new Ha(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,ja(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)rc(r);return r.documents}var nc={loadAll:function(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=ic(t,r);if("function"!=typeof e)return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])},load:function(t,e){var r=ic(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new Fo("expected a single document in the stream, but found more")}}},sc=Object.prototype.toString,oc=Object.prototype.hasOwnProperty,ac=65279,cc={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},lc=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],hc=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function uc(t){var e,r,i;if(e=t.toString(16).toUpperCase(),t<=255)r="x",i=2;else if(t<=65535)r="u",i=4;else{if(!(t<=4294967295))throw new Fo("code point within a string may not be greater than 0xFFFFFFFF");r="U",i=8}return"\\"+r+Lo.repeat("0",i-e.length)+e}function pc(t){this.schema=t.schema||_a,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=Lo.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var r,i,n,s,o,a,c;if(null===e)return{};for(r={},n=0,s=(i=Object.keys(e)).length;n<s;n+=1)o=i[n],a=String(e[o]),"!!"===o.slice(0,2)&&(o="tag:yaml.org,2002:"+o.slice(2)),(c=t.compiledTypeMap.fallback[o])&&oc.call(c.styleAliases,a)&&(a=c.styleAliases[a]),r[o]=a;return r}(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType='"'===t.quotingType?2:1,this.forceQuotes=t.forceQuotes||!1,this.replacer="function"==typeof t.replacer?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function dc(t,e){for(var r,i=Lo.repeat(" ",e),n=0,s=-1,o="",a=t.length;n<a;)-1===(s=t.indexOf("\n",n))?(r=t.slice(n),n=a):(r=t.slice(n,s+1),n=s+1),r.length&&"\n"!==r&&(o+=i),o+=r;return o}function fc(t,e){return"\n"+Lo.repeat(" ",t.indent*e)}function gc(t){return 32===t||9===t}function yc(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==ac||65536<=t&&t<=1114111}function mc(t){return yc(t)&&t!==ac&&13!==t&&10!==t}function wc(t,e,r){var i=mc(t),n=i&&!gc(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||mc(e)&&!gc(e)&&35===t||58===e&&n}function bc(t,e){var r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?1024*(i-55296)+r-56320+65536:i}function Ac(t){return/^\n* /.test(t)}function vc(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==lc.indexOf(e)||hc.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var s=t.indent*Math.max(1,r),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-s),a=i||t.flowLevel>-1&&r>=t.flowLevel;switch(function(t,e,r,i,n,s,o,a){var c,l,h=0,u=null,p=!1,d=!1,f=-1!==i,g=-1,y=yc(l=bc(t,0))&&l!==ac&&!gc(l)&&45!==l&&63!==l&&58!==l&&44!==l&&91!==l&&93!==l&&123!==l&&125!==l&&35!==l&&38!==l&&42!==l&&33!==l&&124!==l&&61!==l&&62!==l&&39!==l&&34!==l&&37!==l&&64!==l&&96!==l&&function(t){return!gc(t)&&58!==t}(bc(t,t.length-1));if(e||o)for(c=0;c<t.length;h>=65536?c+=2:c++){if(!yc(h=bc(t,c)))return 5;y=y&&wc(h,u,a),u=h}else{for(c=0;c<t.length;h>=65536?c+=2:c++){if(10===(h=bc(t,c)))p=!0,f&&(d=d||c-g-1>i&&" "!==t[g+1],g=c);else if(!yc(h))return 5;y=y&&wc(h,u,a),u=h}d=d||f&&c-g-1>i&&" "!==t[g+1]}return p||d?r>9&&Ac(t)?5:o?2===s?5:2:d?4:3:!y||o||n(t)?2===s?5:2:1}(e,a,t.indent,o,(function(e){return function(t,e){var r,i;for(r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}(t,e)}),t.quotingType,t.forceQuotes&&!i,n)){case 1:return e;case 2:return"'"+e.replace(/'/g,"''")+"'";case 3:return"|"+_c(e,t.indent)+Ec(dc(e,s));case 4:return">"+_c(e,t.indent)+Ec(dc(function(t,e){for(var r,i,n,s=/(\n+)([^\n]*)/g,o=(n=-1!==(n=t.indexOf("\n"))?n:t.length,s.lastIndex=n,Sc(t.slice(0,n),e)),a="\n"===t[0]||" "===t[0];i=s.exec(t);){var c=i[1],l=i[2];r=" "===l[0],o+=c+(a||r||""===l?"":"\n")+Sc(l,e),a=r}return o}(e,o),s));case 5:return'"'+function(t){for(var e,r="",i=0,n=0;n<t.length;i>=65536?n+=2:n++)i=bc(t,n),!(e=cc[i])&&yc(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||uc(i);return r}(e)+'"';default:throw new Fo("impossible error: invalid scalar style")}}()}function _c(t,e){var r=Ac(t)?String(e):"",i="\n"===t[t.length-1];return r+(!i||"\n"!==t[t.length-2]&&"\n"!==t?i?"":"-":"+")+"\n"}function Ec(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Sc(t,e){if(""===t||" "===t[0])return t;for(var r,i,n=/ [^ ]/g,s=0,o=0,a=0,c="";r=n.exec(t);)(a=r.index)-s>e&&(i=o>s?o:a,c+="\n"+t.slice(s,i),s=i+1),o=a;return c+="\n",t.length-s>e&&o>s?c+=t.slice(s,o)+"\n"+t.slice(o+1):c+=t.slice(s),c.slice(1)}function xc(t,e,r,i){var n,s,o,a="",c=t.tag;for(n=0,s=r.length;n<s;n+=1)o=r[n],t.replacer&&(o=t.replacer.call(r,String(n),o)),(Cc(t,e+1,o,!0,!0,!1,!0)||void 0===o&&Cc(t,e+1,null,!0,!0,!1,!0))&&(i&&""===a||(a+=fc(t,e)),t.dump&&10===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=c,t.dump=a||"[]"}function Tc(t,e,r){var i,n,s,o,a,c;for(s=0,o=(n=r?t.explicitTypes:t.implicitTypes).length;s<o;s+=1)if(((a=n[s]).instanceOf||a.predicate)&&(!a.instanceOf||"object"==typeof e&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r?a.multi&&a.representName?t.tag=a.representName(e):t.tag=a.tag:t.tag="?",a.represent){if(c=t.styleMap[a.tag]||a.defaultStyle,"[object Function]"===sc.call(a.represent))i=a.represent(e,c);else{if(!oc.call(a.represent,c))throw new Fo("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');i=a.represent[c](e,c)}t.dump=i}return!0}return!1}function Cc(t,e,r,i,n,s,o){t.tag=null,t.dump=r,Tc(t,r,!1)||Tc(t,r,!0);var a,c=sc.call(t.dump),l=i;i&&(i=t.flowLevel<0||t.flowLevel>e);var h,u,p="[object Object]"===c||"[object Array]"===c;if(p&&(u=-1!==(h=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(n=!1),u&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(p&&u&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===c)i&&0!==Object.keys(t.dump).length?(function(t,e,r,i){var n,s,o,a,c,l,h="",u=t.tag,p=Object.keys(r);if(!0===t.sortKeys)p.sort();else if("function"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new Fo("sortKeys must be a boolean or a function");for(n=0,s=p.length;n<s;n+=1)l="",i&&""===h||(l+=fc(t,e)),a=r[o=p[n]],t.replacer&&(a=t.replacer.call(r,o,a)),Cc(t,e+1,o,!0,!0,!0)&&((c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&10===t.dump.charCodeAt(0)?l+="?":l+="? "),l+=t.dump,c&&(l+=fc(t,e)),Cc(t,e+1,a,!0,c)&&(t.dump&&10===t.dump.charCodeAt(0)?l+=":":l+=": ",h+=l+=t.dump));t.tag=u,t.dump=h||"{}"}(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(function(t,e,r){var i,n,s,o,a,c="",l=t.tag,h=Object.keys(r);for(i=0,n=h.length;i<n;i+=1)a="",""!==c&&(a+=", "),t.condenseFlow&&(a+='"'),o=r[s=h[i]],t.replacer&&(o=t.replacer.call(r,s,o)),Cc(t,e,s,!1,!1)&&(t.dump.length>1024&&(a+="? "),a+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Cc(t,e,o,!1,!1)&&(c+=a+=t.dump));t.tag=l,t.dump="{"+c+"}"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===c)i&&0!==t.dump.length?(t.noArrayIndent&&!o&&e>0?xc(t,e-1,t.dump,n):xc(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(function(t,e,r){var i,n,s,o="",a=t.tag;for(i=0,n=r.length;i<n;i+=1)s=r[i],t.replacer&&(s=t.replacer.call(r,String(i),s)),(Cc(t,e,s,!1,!1)||void 0===s&&Cc(t,e,null,!1,!1))&&(""!==o&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(t.skipInvalid)return!1;throw new Fo("unacceptable kind of an object to dump "+c)}"?"!==t.tag&&vc(t,t.dump,e,s,l)}null!==t.tag&&"?"!==t.tag&&(a=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),a="!"===t.tag[0]?"!"+a:"tag:yaml.org,2002:"===a.slice(0,18)?"!!"+a.slice(18):"!<"+a+">",t.dump=a+" "+t.dump)}return!0}function Ic(t,e){var r,i,n=[],s=[];for(Rc(t,n,s),r=0,i=s.length;r<i;r+=1)e.duplicates.push(n[s[r]]);e.usedDuplicates=new Array(i)}function Rc(t,e,r){var i,n,s;if(null!==t&&"object"==typeof t)if(-1!==(n=e.indexOf(t)))-1===r.indexOf(n)&&r.push(n);else if(e.push(t),Array.isArray(t))for(n=0,s=t.length;n<s;n+=1)Rc(t[n],e,r);else for(n=0,s=(i=Object.keys(t)).length;n<s;n+=1)Rc(t[i[n]],e,r)}function kc(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}const Nc={Type:zo,Schema:Ko,FAILSAFE_SCHEMA:Zo,JSON_SCHEMA:aa,CORE_SCHEMA:ca,DEFAULT_SCHEMA:_a,load:nc.load,loadAll:nc.loadAll,dump:function(t,e){var r=new pc(e=e||{});r.noRefs||Ic(t,r);var i=t;return r.replacer&&(i=r.replacer.call({"":i},"",i)),Cc(r,0,i,!0,!0)?r.dump+"\n":""},YAMLException:Fo,types:{binary:fa,float:oa,map:Xo,null:$o,pairs:ba,set:va,timestamp:ua,bool:ta,int:ia,merge:pa,omap:ma,seq:Jo,str:Yo},safeLoad:kc("safeLoad","load"),safeLoadAll:kc("safeLoadAll","loadAll"),safeDump:kc("safeDump","dump")};var Oc=r(9742),Bc=(r(8660),r(4585));function Pc(t,e){let r=0;if(1===t.length)return t[0];for(let i=t.length-1;i>=0;i--)r+=t[t.length-1-i]*Math.pow(2,e*i);return r}function Dc(t,e,r=-1){const i=r;let n=t,s=0,o=Math.pow(2,e);for(let r=1;r<8;r++){if(t<o){let t;if(i<0)t=new ArrayBuffer(r),s=r;else{if(i<r)return new ArrayBuffer(0);t=new ArrayBuffer(i),s=i}const o=new Uint8Array(t);for(let t=r-1;t>=0;t--){const r=Math.pow(2,t*e);o[s-t-1]=Math.floor(n/r),n-=o[s-t-1]*r}return t}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function Lc(...t){let e=0,r=0;for(const r of t)e+=r.length;const i=new ArrayBuffer(e),n=new Uint8Array(i);for(const e of t)n.set(e,r),r+=e.length;return n}function Uc(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],r=0===t[0]&&!(128&t[1]);(e||r)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),r=new Uint8Array(e);for(let t=0;t<this.valueHex.byteLength;t++)r[t]=0;r[0]=128&t[0];const i=Pc(r,8),n=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(n);for(let e=0;e<this.valueHex.byteLength;e++)s[e]=t[e];return s[0]&=127,Pc(s,8)-i}function Mc(t,e){const r=t.toString(10);if(e<r.length)return"";const i=e-r.length,n=new Array(i);for(let t=0;t<i;t++)n[t]="0";return n.join("").concat(r)}
47
47
  /*!
48
48
  * Copyright (c) 2014, GMO GlobalSign
49
49
  * Copyright (c) 2015-2022, Peculiar Ventures
@@ -77,7 +77,7 @@ PERFORMANCE OF THIS SOFTWARE.
77
77
  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
78
78
  *
79
79
  */
80
- function Mc(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Fc(t){let e=0,r=0;for(let r=0;r<t.length;r++)e+=t[r].byteLength;const i=new Uint8Array(e);for(let e=0;e<t.length;e++){const n=t[e];i.set(new Uint8Array(n),r),r+=n.byteLength}return i.buffer}function Hc(t,e,r,i){return e instanceof Uint8Array?e.byteLength?r<0?(t.error="Wrong parameter: inputOffset less than zero",!1):i<0?(t.error="Wrong parameter: inputLength less than zero",!1):!(e.byteLength-r-i<0&&(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",1)):(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}Math.log(2);class Wc{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Fc(this.items)}}const jc=[new Uint8Array([1])],Vc="0123456789",Gc="name",zc="valueHexView",qc="",Qc=new ArrayBuffer(0),Kc=new Uint8Array(0),Yc="EndOfContent",Jc="OCTET STRING",Xc="BIT STRING";function Zc(t){var e;return(e=class extends t{constructor(...t){var e;super(...t);const r=t[0]||{};this.isHexOnly=null!==(e=r.isHexOnly)&&void 0!==e&&e,this.valueHexView=r.valueHex?Oc.vJ.toUint8Array(r.valueHex):Kc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(t){this.valueHexView=new Uint8Array(t)}fromBER(t,e,r){const i=t instanceof ArrayBuffer?new Uint8Array(t):t;if(!Hc(this,i,e,r))return-1;const n=e+r;return this.valueHexView=i.subarray(e,n),this.valueHexView.length?(this.blockLength=r,n):(this.warnings.push("Zero buffer length"),e)}toBER(t=!1){return this.isHexOnly?t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Qc)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Oc.ep.ToHex(this.valueHexView)}}}).NAME="hexBlock",e}class $c{constructor({blockLength:t=0,error:e="",warnings:r=[],valueBeforeDecode:i=Kc}={}){this.blockLength=t,this.error=e,this.warnings=r,this.valueBeforeDecodeView=Oc.vJ.toUint8Array(i)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Oc.ep.ToHex(this.valueBeforeDecodeView)}}}$c.NAME="baseBlock";class tl extends $c{fromBER(t,e,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}tl.NAME="valueBlock";class el extends(Zc($c)){constructor({idBlock:t={}}={}){var e,r,i,n;super(),t?(this.isHexOnly=null!==(e=t.isHexOnly)&&void 0!==e&&e,this.valueHexView=t.valueHex?Oc.vJ.toUint8Array(t.valueHex):Kc,this.tagClass=null!==(r=t.tagClass)&&void 0!==r?r:-1,this.tagNumber=null!==(i=t.tagNumber)&&void 0!==i?i:-1,this.isConstructed=null!==(n=t.isConstructed)&&void 0!==n&&n):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Qc}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){const r=new Uint8Array(1);if(!t){let t=this.tagNumber;t&=31,e|=t,r[0]=e}return r.buffer}if(!this.isHexOnly){const r=Pc(this.tagNumber,7),i=new Uint8Array(r),n=r.byteLength,s=new Uint8Array(n+1);if(s[0]=31|e,!t){for(let t=0;t<n-1;t++)s[t+1]=128|i[t];s[n]=i[n-1]}return s.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=31|e,!t){const t=this.valueHexView;for(let e=0;e<t.length-1;e++)r[e+1]=128|t[e];r[this.valueHexView.byteLength]=t[t.length-1]}return r.buffer}fromBER(t,e,r){const i=Oc.vJ.toUint8Array(t);if(!Hc(this,i,e,r))return-1;const n=i.subarray(e,e+r);if(0===n.length)return this.error="Zero buffer length",-1;switch(192&n[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=!(32&~n[0]),this.isHexOnly=!1;const s=31&n[0];if(31!==s)this.tagNumber=s,this.blockLength=1;else{let t=1,e=this.valueHexView=new Uint8Array(255),r=255;for(;128&n[t];){if(e[t-1]=127&n[t],t++,t>=n.length)return this.error="End of input reached before message was fully decoded",-1;if(t===r){r+=255;const t=new Uint8Array(r);for(let r=0;r<e.length;r++)t[r]=e[r];e=this.valueHexView=new Uint8Array(r)}}this.blockLength=t+1,e[t-1]=127&n[t];const i=new Uint8Array(t);for(let r=0;r<t;r++)i[r]=e[r];e=this.valueHexView=new Uint8Array(t),e.set(i),this.blockLength<=9?this.tagNumber=Bc(e,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}el.NAME="identificationBlock";class rl extends $c{constructor({lenBlock:t={}}={}){var e,r,i;super(),this.isIndefiniteForm=null!==(e=t.isIndefiniteForm)&&void 0!==e&&e,this.longFormUsed=null!==(r=t.longFormUsed)&&void 0!==r&&r,this.length=null!==(i=t.length)&&void 0!==i?i:0}fromBER(t,e,r){const i=Oc.vJ.toUint8Array(t);if(!Hc(this,i,e,r))return-1;const n=i.subarray(e,e+r);if(0===n.length)return this.error="Zero buffer length",-1;if(255===n[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===n[0],this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(128&n[0]),!1===this.longFormUsed)return this.length=n[0],this.blockLength=1,e+this.blockLength;const s=127&n[0];if(s>8)return this.error="Too big integer",-1;if(s+1>n.length)return this.error="End of input reached before message was fully decoded",-1;const o=e+1,a=i.subarray(o,o+s);return 0===a[s-1]&&this.warnings.push("Needlessly long encoded length"),this.length=Bc(a,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,e+this.blockLength}toBER(t=!1){let e,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===t&&(r=new Uint8Array(e),r[0]=128),e;if(this.longFormUsed){const i=Pc(this.length,8);if(i.byteLength>127)return this.error="Too big length",Qc;if(e=new ArrayBuffer(i.byteLength+1),t)return e;const n=new Uint8Array(i);r=new Uint8Array(e),r[0]=128|i.byteLength;for(let t=0;t<i.byteLength;t++)r[t+1]=n[t];return e}return e=new ArrayBuffer(1),!1===t&&(r=new Uint8Array(e),r[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}rl.NAME="lengthBlock";const il={};class nl extends $c{constructor({name:t="",optional:e=!1,primitiveSchema:r,...i}={},n){super(i),this.name=t,this.optional=e,r&&(this.primitiveSchema=r),this.idBlock=new el(i),this.lenBlock=new rl(i),this.valueBlock=n?new n(i):new tl(i)}fromBER(t,e,r){const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(t,e){const r=e||new Wc;e||sl(this);const i=this.idBlock.toBER(t);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,r),r.write(new ArrayBuffer(2));else{const e=this.valueBlock.toBER(t);this.lenBlock.length=e.byteLength;const i=this.lenBlock.toBER(t);r.write(i),r.write(e)}return e?Qc:r.final()}toJSON(){const t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return"ascii"===t?this.onAsciiEncoding():Oc.ep.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Oc.ep.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){return this===t||t instanceof this.constructor&&function(t,e){if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let t=0;t<r.length;t++)if(r[t]!==i[t])return!1;return!0}(this.toBER(),t.toBER())}}function sl(t){if(t instanceof il.Constructed)for(const e of t.valueBlock.value)sl(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}nl.NAME="BaseBlock";class ol extends nl{constructor({value:t="",...e}={},r){super(e,r),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,r){const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}ol.NAME="BaseStringBlock";class al extends(Zc(tl)){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}}var cl,ll,hl,ul,pl,dl,fl,gl,yl,ml,wl,bl,Al,vl,_l,El,Sl,xl,Tl,Cl,Il,Rl,kl,Nl,Ol,Bl,Pl,Dl,Ll,Ul,Ml,Fl,Hl,Wl,jl;al.NAME="PrimitiveValueBlock";class Vl extends nl{constructor(t={}){super(t,al),this.idBlock.isConstructed=!1}}function Gl(t,e=0,r=t.length){const i=e;let n=new nl({},tl);const s=new $c;if(!Hc(s,t,e,r))return n.error=s.error,{offset:-1,result:n};if(!t.subarray(e,e+r).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(t,e,r);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),-1===o)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,r-=n.idBlock.blockLength,o=n.lenBlock.fromBER(t,e,r),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),-1===o)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,r-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let a=nl;if(1===n.idBlock.tagClass){if(n.idBlock.tagNumber>=37&&!1===n.idBlock.isHexOnly)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};a=il.EndOfContent;break;case 1:a=il.Boolean;break;case 2:a=il.Integer;break;case 3:a=il.BitString;break;case 4:a=il.OctetString;break;case 5:a=il.Null;break;case 6:a=il.ObjectIdentifier;break;case 10:a=il.Enumerated;break;case 12:a=il.Utf8String;break;case 13:a=il.RelativeObjectIdentifier;break;case 14:a=il.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:a=il.Sequence;break;case 17:a=il.Set;break;case 18:a=il.NumericString;break;case 19:a=il.PrintableString;break;case 20:a=il.TeletexString;break;case 21:a=il.VideotexString;break;case 22:a=il.IA5String;break;case 23:a=il.UTCTime;break;case 24:a=il.GeneralizedTime;break;case 25:a=il.GraphicString;break;case 26:a=il.VisibleString;break;case 27:a=il.GeneralString;break;case 28:a=il.UniversalString;break;case 29:a=il.CharacterString;break;case 30:a=il.BmpString;break;case 31:a=il.DATE;break;case 32:a=il.TimeOfDay;break;case 33:a=il.DateTime;break;case 34:a=il.Duration;break;default:{const t=n.idBlock.isConstructed?new il.Constructed:new il.Primitive;t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,n=t}}}else a=n.idBlock.isConstructed?il.Constructed:il.Primitive;return n=function(t,e){if(t instanceof e)return t;const r=new e;return r.idBlock=t.idBlock,r.lenBlock=t.lenBlock,r.warnings=t.warnings,r.valueBeforeDecodeView=t.valueBeforeDecodeView,r}(n,a),o=n.fromBER(t,e,n.lenBlock.isIndefiniteForm?r:n.lenBlock.length),n.valueBeforeDecodeView=t.subarray(i,i+n.blockLength),{offset:o,result:n}}function zl(t){if(!t.byteLength){const t=new nl({},tl);return t.error="Input buffer has zero length",{offset:-1,result:t}}return Gl(Oc.vJ.toUint8Array(t).slice(),0,t.byteLength)}function ql(t,e){return t?1:e}cl=Vl,il.Primitive=cl,Vl.NAME="PRIMITIVE";class Ql extends tl{constructor({value:t=[],isIndefiniteForm:e=!1,...r}={}){super(r),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,r){const i=Oc.vJ.toUint8Array(t);if(!Hc(this,i,e,r))return-1;if(this.valueBeforeDecodeView=i.subarray(e,e+r),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),e;let n=e;for(;ql(this.isIndefiniteForm,r)>0;){const t=Gl(i,n,r);if(-1===t.offset)return this.error=t.result.error,this.warnings.concat(t.result.warnings),-1;if(n=t.offset,this.blockLength+=t.result.blockLength,r-=t.result.blockLength,this.value.push(t.result),this.isIndefiniteForm&&t.result.constructor.NAME===Yc)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Yc?this.value.pop():this.warnings.push("No EndOfContent block encoded")),n}toBER(t,e){const r=e||new Wc;for(let e=0;e<this.value.length;e++)this.value[e].toBER(t,r);return e?Qc:r.final()}toJSON(){const t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const e of this.value)t.value.push(e.toJSON());return t}}Ql.NAME="ConstructedValueBlock";class Kl extends nl{constructor(t={}){super(t,Ql),this.idBlock.isConstructed=!0}fromBER(t,e,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const t=[];for(const e of this.valueBlock.value)t.push(e.toString("ascii").split("\n").map((t=>` ${t}`)).join("\n"));const e=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :\n${t.join("\n")}`:`${e} :`}}ll=Kl,il.Constructed=ll,Kl.NAME="CONSTRUCTED";class Yl extends tl{fromBER(t,e,r){return e}toBER(t){return Qc}}Yl.override="EndOfContentValueBlock";class Jl extends nl{constructor(t={}){super(t,Yl),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}hl=Jl,il.EndOfContent=hl,Jl.NAME=Yc;class Xl extends nl{constructor(t={}){super(t,tl),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,e+r>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+r}toBER(t,e){const r=new ArrayBuffer(2);if(!t){const t=new Uint8Array(r);t[0]=5,t[1]=0}return e&&e.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}ul=Xl,il.Null=ul,Xl.NAME="NULL";class Zl extends(Zc(tl)){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Oc.vJ.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(const t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,r){const i=Oc.vJ.toUint8Array(t);return Hc(this,i,e,r)?(this.valueHexView=i.subarray(e,e+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Lc.call(this),this.blockLength=r,e+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}Zl.NAME="BooleanValueBlock";class $l extends nl{constructor(t={}){super(t,Zl),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}pl=$l,il.Boolean=pl,$l.NAME="BOOLEAN";class th extends(Zc(Ql)){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=Ql.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.NAME;if(e===Yc){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==Jc)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(t,e,r),this.blockLength=r;return i}toBER(t,e){return this.isConstructed?Ql.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}th.NAME="OctetStringValueBlock";class eh extends nl{constructor({idBlock:t={},lenBlock:e={},...r}={}){var i,n;null!==(i=r.isConstructed)&&void 0!==i||(r.isConstructed=!!(null===(n=r.value)||void 0===n?void 0:n.length)),super({idBlock:{isConstructed:r.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!r.isIndefiniteForm},...r},th),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===r)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){const i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+r);try{if(i.byteLength){const t=Gl(i,0,i.byteLength);-1!==t.offset&&t.offset===r&&(this.valueBlock.value=[t.result])}}catch(t){}}return super.fromBER(t,e,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Kl.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Oc.ep.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const t=[];for(const e of this.valueBlock.value)e instanceof eh&&t.push(e.valueBlock.valueHexView);return Oc.vJ.concat(t)}}dl=eh,il.OctetString=dl,eh.NAME=Jc;class rh extends(Zc(Ql)){constructor({unusedBits:t=0,isConstructed:e=!1,...r}={}){super(r),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,r){if(!r)return e;let i=-1;if(this.isConstructed){if(i=Ql.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(const t of this.value){const e=t.constructor.NAME;if(e===Yc){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==Xc)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const r=t.valueBlock;if(this.unusedBits>0&&r.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=r.unusedBits}return i}const n=Oc.vJ.toUint8Array(t);if(!Hc(this,n,e,r))return-1;const s=n.subarray(e,e+r);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const e=s.subarray(1);try{if(e.byteLength){const t=Gl(e,0,e.byteLength);-1!==t.offset&&t.offset===r-1&&(this.value=[t.result])}}catch(t){}}return this.valueHexView=s.subarray(1),this.blockLength=s.length,e+r}toBER(t,e){if(this.isConstructed)return Ql.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Qc;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}rh.NAME="BitStringValueBlock";class ih extends nl{constructor({idBlock:t={},lenBlock:e={},...r}={}){var i,n;null!==(i=r.isConstructed)&&void 0!==i||(r.isConstructed=!!(null===(n=r.value)||void 0===n?void 0:n.length)),super({idBlock:{isConstructed:r.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!r.isIndefiniteForm},...r},rh),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Kl.prototype.onAsciiEncoding.call(this);{const t=[],e=this.valueBlock.valueHexView;for(const r of e)t.push(r.toString(2).padStart(8,"0"));const r=t.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}}function nh(t,e){const r=new Uint8Array([0]),i=new Uint8Array(t),n=new Uint8Array(e);let s=i.slice(0);const o=s.length-1,a=n.slice(0),c=a.length-1;let l=0,h=0;for(let t=c<o?o:c;t>=0;t--,h++)l=1==h<a.length?s[o-h]+a[c-h]+r[0]:s[o-h]+r[0],r[0]=l/10,1==h>=s.length?s=Dc(new Uint8Array([l%10]),s):s[o-h]=l%10;return r[0]>0&&(s=Dc(r,s)),s}function sh(t){if(t>=jc.length)for(let e=jc.length;e<=t;e++){const t=new Uint8Array([0]);let r=jc[e-1].slice(0);for(let e=r.length-1;e>=0;e--){const i=new Uint8Array([(r[e]<<1)+t[0]]);t[0]=i[0]/10,r[e]=i[0]%10}t[0]>0&&(r=Dc(t,r)),jc.push(r)}return jc[t]}function oh(t,e){let r=0;const i=new Uint8Array(t),n=new Uint8Array(e),s=i.slice(0),o=s.length-1,a=n.slice(0),c=a.length-1;let l,h=0;for(let t=c;t>=0;t--,h++)l=s[o-h]-a[c-h]-r,1==l<0?(r=1,s[o-h]=l+10):(r=0,s[o-h]=l);if(r>0)for(let t=o-c+1;t>=0;t--,h++){if(l=s[o-h]-r,!(l<0)){r=0,s[o-h]=l;break}r=1,s[o-h]=l+10}return s.slice()}fl=ih,il.BitString=fl,ih.NAME=Xc;class ah extends(Zc(tl)){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),void 0!==t&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Lc.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(function(t){const e=t<0?-1*t:t;let r=128;for(let i=1;i<8;i++){if(e<=r){if(t<0){const t=Pc(r-e,8,i);return new Uint8Array(t)[0]|=128,t}let n=Pc(e,8,i),s=new Uint8Array(n);if(128&s[0]){const t=n.slice(0),e=new Uint8Array(t);n=new ArrayBuffer(n.byteLength+1),s=new Uint8Array(n);for(let r=0;r<t.byteLength;r++)s[r+1]=e[r];s[0]=0}return n}r*=Math.pow(2,8)}return new ArrayBuffer(0)}(t))}get valueDec(){return this._valueDec}fromDER(t,e,r,i=0){const n=this.fromBER(t,e,r);if(-1===n)return n;const s=this.valueHexView;return 0===s[0]&&128&s[1]?this.valueHexView=s.subarray(1):0!==i&&s.length<i&&(i-s.length>1&&(i=s.length+1),this.valueHexView=s.subarray(i-s.length)),n}toDER(t=!1){const e=this.valueHexView;switch(!0){case!!(128&e[0]):{const t=new Uint8Array(this.valueHexView.length+1);t[0]=0,t.set(e,1),this.valueHexView=t}break;case 0===e[0]&&!(128&e[1]):this.valueHexView=this.valueHexView.subarray(1)}return this.toBER(t)}fromBER(t,e,r){const i=super.fromBER(t,e,r);return-1===i||this.setValueHex(),i}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const t=8*this.valueHexView.length-1;let e,r=new Uint8Array(8*this.valueHexView.length/3),i=0;const n=this.valueHexView;let s="",o=!1;for(let o=n.byteLength-1;o>=0;o--){e=n[o];for(let n=0;n<8;n++)1&~e||(i===t?(r=oh(sh(i),r),s="-"):r=nh(r,sh(i))),i++,e>>=1}for(let t=0;t<r.length;t++)r[t]&&(o=!0),o&&(s+=Vc.charAt(r[t]));return!1===o&&(s+=Vc.charAt(0)),s}}gl=ah,ah.NAME="IntegerValueBlock",Object.defineProperty(gl.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class ch extends nl{constructor(t={}){super(t,ah),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Mc(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Mc();const e=BigInt(t),r=new Wc,i=e.toString(16).replace(/^-/,""),n=new Uint8Array(Oc.ep.FromHex(i));if(e<0){const t=new Uint8Array(n.length+(128&n[0]?1:0));t[0]|=128;const i=BigInt(`0x${Oc.ep.ToHex(t)}`)+e,s=Oc.vJ.toUint8Array(Oc.ep.FromHex(i.toString(16)));s[0]|=128,r.write(s)}else 128&n[0]&&r.write(new Uint8Array([0])),r.write(n);return new ch({valueHex:r.final()})}convertToDER(){const t=new ch({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new ch({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}yl=ch,il.Integer=yl,ch.NAME="INTEGER";class lh extends ch{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}ml=lh,il.Enumerated=ml,lh.NAME="ENUMERATED";class hh extends(Zc(tl)){constructor({valueDec:t=-1,isFirstSid:e=!1,...r}={}){super(r),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,r){if(!r)return e;const i=Oc.vJ.toUint8Array(t);if(!Hc(this,i,e,r))return-1;const n=i.subarray(e,e+r);this.valueHexView=new Uint8Array(r);for(let t=0;t<r&&(this.valueHexView[t]=127&n[t],this.blockLength++,128&n[t]);t++);const s=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)s[t]=this.valueHexView[t];return this.valueHexView=s,128&n[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Bc(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Mc();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;const r=new Uint8Array(e.length/7);for(let t=0;t<r.length;t++)r[t]=parseInt(e.slice(7*t,7*t+7),2)+(t+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,r=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)r[t]=128|e[t];return r[this.blockLength-1]=e[this.blockLength-1],r.buffer}const e=Pc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",Qc;const r=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),i=e.byteLength-1;for(let e=0;e<i;e++)r[e]=128|t[e];r[i]=t[i]}return r}toString(){let t="";if(this.isHexOnly)t=Oc.ep.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}hh.NAME="sidBlock";class uh extends tl{constructor({value:t="",...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,r){let i=e;for(;r>0;){const e=new hh;if(i=e.fromBER(t,i,r),-1===i)return this.blockLength=0,this.error=e.error,i;0===this.value.length&&(e.isFirstSid=!0),this.blockLength+=e.blockLength,r-=e.blockLength,this.value.push(e)}return i}toBER(t){const e=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(t);if(0===i.byteLength)return this.error=this.value[r].error,Qc;e.push(i)}return Fc(e)}fromString(t){this.value=[];let e=0,r=0,i="",n=!1;do{if(r=t.indexOf(".",e),i=-1===r?t.substring(e):t.substring(e,r),e=r+1,n){const t=this.value[0];let e=0;switch(t.valueDec){case 0:break;case 1:e=40;break;case 2:e=80;break;default:return void(this.value=[])}const r=parseInt(i,10);if(isNaN(r))return;t.valueDec=r+e,n=!1}else{const t=new hh;if(i>Number.MAX_SAFE_INTEGER){Mc();const e=BigInt(i);t.valueBigInt=e}else if(t.valueDec=parseInt(i,10),isNaN(t.valueDec))return;this.value.length||(t.isFirstSid=!0,n=!0),this.value.push(t)}}while(-1!==r)}toString(){let t="",e=!1;for(let r=0;r<this.value.length;r++){e=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(t=`${t}.`),e?(i=`{${i}}`,this.value[r].isFirstSid?t=`2.{${i} - 80}`:t+=i):t+=i}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}uh.NAME="ObjectIdentifierValueBlock";class ph extends nl{constructor(t={}){super(t,uh),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}wl=ph,il.ObjectIdentifier=wl,ph.NAME="OBJECT IDENTIFIER";class dh extends(Zc($c)){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,r){if(0===r)return e;const i=Oc.vJ.toUint8Array(t);if(!Hc(this,i,e,r))return-1;const n=i.subarray(e,e+r);this.valueHexView=new Uint8Array(r);for(let t=0;t<r&&(this.valueHexView[t]=127&n[t],this.blockLength++,128&n[t]);t++);const s=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)s[t]=this.valueHexView[t];return this.valueHexView=s,128&n[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Bc(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,r=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)r[t]=128|e[t];return r[this.blockLength-1]=e[this.blockLength-1],r.buffer}const e=Pc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",Qc;const r=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),i=e.byteLength-1;for(let e=0;e<i;e++)r[e]=128|t[e];r[i]=t[i]}return r.buffer}toString(){let t="";return t=this.isHexOnly?Oc.ep.ToHex(this.valueHexView):this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}dh.NAME="relativeSidBlock";class fh extends tl{constructor({value:t="",...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,r){let i=e;for(;r>0;){const e=new dh;if(i=e.fromBER(t,i,r),-1===i)return this.blockLength=0,this.error=e.error,i;this.blockLength+=e.blockLength,r-=e.blockLength,this.value.push(e)}return i}toBER(t,e){const r=[];for(let e=0;e<this.value.length;e++){const i=this.value[e].toBER(t);if(0===i.byteLength)return this.error=this.value[e].error,Qc;r.push(i)}return Fc(r)}fromString(t){this.value=[];let e=0,r=0,i="";do{r=t.indexOf(".",e),i=-1===r?t.substring(e):t.substring(e,r),e=r+1;const n=new dh;if(n.valueDec=parseInt(i,10),isNaN(n.valueDec))return!0;this.value.push(n)}while(-1!==r);return!0}toString(){let t="",e=!1;for(let r=0;r<this.value.length;r++){e=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(t=`${t}.`),e?(i=`{${i}}`,t+=i):t+=i}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}fh.NAME="RelativeObjectIdentifierValueBlock";class gh extends nl{constructor(t={}){super(t,fh),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}bl=gh,il.RelativeObjectIdentifier=bl,gh.NAME="RelativeObjectIdentifier";class yh extends Kl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}Al=yh,il.Sequence=Al,yh.NAME="SEQUENCE";class mh extends Kl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}vl=mh,il.Set=vl,mh.NAME="SET";class wh extends(Zc(tl)){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=qc}toJSON(){return{...super.toJSON(),value:this.value}}}wh.NAME="StringValueBlock";class bh extends wh{}bh.NAME="SimpleStringValueBlock";class Ah extends ol{constructor({...t}={}){super(t,bh)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Oc.vJ.toUint8Array(t))}fromString(t){const e=t.length,r=this.valueBlock.valueHexView=new Uint8Array(e);for(let i=0;i<e;i++)r[i]=t.charCodeAt(i);this.valueBlock.value=t}}Ah.NAME="SIMPLE STRING";class vh extends Ah{fromBuffer(t){this.valueBlock.valueHexView=Oc.vJ.toUint8Array(t);try{this.valueBlock.value=Oc.ep.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Oc.ep.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Oc.ep.FromUtf8String(t)),this.valueBlock.value=t}}vh.NAME="Utf8StringValueBlock";class _h extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}_l=_h,il.Utf8String=_l,_h.NAME="UTF8String";class Eh extends Ah{fromBuffer(t){this.valueBlock.value=Oc.ep.ToUtf16String(t),this.valueBlock.valueHexView=Oc.vJ.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Oc.ep.FromUtf16String(t))}}Eh.NAME="BmpStringValueBlock";class Sh extends Eh{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}El=Sh,il.BmpString=El,Sh.NAME="BMPString";class xh extends Ah{fromBuffer(t){const e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),r=new Uint8Array(e);for(let t=0;t<r.length;t+=4)r[t]=r[t+3],r[t+1]=r[t+2],r[t+2]=0,r[t+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){const e=t.length,r=this.valueBlock.valueHexView=new Uint8Array(4*e);for(let i=0;i<e;i++){const e=Pc(t.charCodeAt(i),8),n=new Uint8Array(e);if(n.length>4)continue;const s=4-n.length;for(let t=n.length-1;t>=0;t--)r[4*i+t+s]=n[t]}this.valueBlock.value=t}}xh.NAME="UniversalStringValueBlock";class Th extends xh{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Sl=Th,il.UniversalString=Sl,Th.NAME="UniversalString";class Ch extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}xl=Ch,il.NumericString=xl,Ch.NAME="NumericString";class Ih extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Tl=Ih,il.PrintableString=Tl,Ih.NAME="PrintableString";class Rh extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}Cl=Rh,il.TeletexString=Cl,Rh.NAME="TeletexString";class kh extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}Il=kh,il.VideotexString=Il,kh.NAME="VideotexString";class Nh extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}Rl=Nh,il.IA5String=Rl,Nh.NAME="IA5String";class Oh extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}kl=Oh,il.GraphicString=kl,Oh.NAME="GraphicString";class Bh extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Nl=Bh,il.VisibleString=Nl,Bh.NAME="VisibleString";class Ph extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Ol=Ph,il.GeneralString=Ol,Ph.NAME="GeneralString";class Dh extends Ah{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}Bl=Dh,il.CharacterString=Bl,Dh.NAME="CharacterString";class Lh extends Bh{constructor({value:t,valueDate:e,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let e=0;e<t.length;e++)this.valueBlock.valueHexView[e]=t.charCodeAt(e)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Oc.vJ.toUint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),r=new Uint8Array(e);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){const e=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(t);if(null===e)return void(this.error="Wrong input string for conversion");const r=parseInt(e[1],10);this.year=r>=50?1900+r:2e3+r,this.month=parseInt(e[2],10),this.day=parseInt(e[3],10),this.hour=parseInt(e[4],10),this.minute=parseInt(e[5],10),this.second=parseInt(e[6],10)}toString(t="iso"){if("iso"===t){const t=new Array(7);return t[0]=Uc(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Uc(this.month,2),t[2]=Uc(this.day,2),t[3]=Uc(this.hour,2),t[4]=Uc(this.minute,2),t[5]=Uc(this.second,2),t[6]="Z",t.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Pl=Lh,il.UTCTime=Pl,Lh.NAME="UTCTime";class Uh extends Lh{constructor(t={}){var e;super(t),null!==(e=this.millisecond)&&void 0!==e||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e,r=!1,i="",n="",s=0,o=0,a=0;if("Z"===t[t.length-1])i=t.substring(0,t.length-1),r=!0;else{const e=new Number(t[t.length-1]);if(isNaN(e.valueOf()))throw new Error("Wrong input string for conversion");i=t}if(r){if(-1!==i.indexOf("+"))throw new Error("Wrong input string for conversion");if(-1!==i.indexOf("-"))throw new Error("Wrong input string for conversion")}else{let t=1,e=i.indexOf("+"),r="";if(-1===e&&(e=i.indexOf("-"),t=-1),-1!==e){if(r=i.substring(e+1),i=i.substring(0,e),2!==r.length&&4!==r.length)throw new Error("Wrong input string for conversion");let n=parseInt(r.substring(0,2),10);if(isNaN(n.valueOf()))throw new Error("Wrong input string for conversion");if(o=t*n,4===r.length){if(n=parseInt(r.substring(2,4),10),isNaN(n.valueOf()))throw new Error("Wrong input string for conversion");a=t*n}}}let c=i.indexOf(".");if(-1===c&&(c=i.indexOf(",")),-1!==c){const t=new Number(`0${i.substring(c)}`);if(isNaN(t.valueOf()))throw new Error("Wrong input string for conversion");s=t.valueOf(),n=i.substring(0,c)}else n=i;switch(!0){case 8===n.length:if(e=/(\d{4})(\d{2})(\d{2})/gi,-1!==c)throw new Error("Wrong input string for conversion");break;case 10===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*s;this.minute=Math.floor(t),t=60*(t-this.minute),this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 12===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*s;this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 14===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){const t=1e3*s;this.millisecond=Math.floor(t)}break;default:throw new Error("Wrong input string for conversion")}const l=e.exec(n);if(null===l)throw new Error("Wrong input string for conversion");for(let t=1;t<l.length;t++)switch(t){case 1:this.year=parseInt(l[t],10);break;case 2:this.month=parseInt(l[t],10);break;case 3:this.day=parseInt(l[t],10);break;case 4:this.hour=parseInt(l[t],10)+o;break;case 5:this.minute=parseInt(l[t],10)+a;break;case 6:this.second=parseInt(l[t],10);break;default:throw new Error("Wrong input string for conversion")}if(!1===r){const t=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth(),this.day=t.getUTCDay(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}}toString(t="iso"){if("iso"===t){const t=[];return t.push(Uc(this.year,4)),t.push(Uc(this.month,2)),t.push(Uc(this.day,2)),t.push(Uc(this.hour,2)),t.push(Uc(this.minute,2)),t.push(Uc(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(Uc(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Dl=Uh,il.GeneralizedTime=Dl,Uh.NAME="GeneralizedTime";class Mh extends _h{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}Ll=Mh,il.DATE=Ll,Mh.NAME="DATE";class Fh extends _h{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Ul=Fh,il.TimeOfDay=Ul,Fh.NAME="TimeOfDay";class Hh extends _h{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Ml=Hh,il.DateTime=Ml,Hh.NAME="DateTime";class Wh extends _h{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}Fl=Wh,il.Duration=Fl,Wh.NAME="Duration";class jh extends _h{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Hl=jh,il.TIME=Hl,jh.NAME="TIME";class Vh{constructor({name:t="",optional:e=!1}={}){this.name=t,this.optional=e}}class Gh extends Vh{constructor({value:t=[],...e}={}){super(e),this.value=t}}class zh extends Vh{constructor({value:t=new Vh,local:e=!1,...r}={}){super(r),this.value=t,this.local=e}}class qh{constructor({data:t=Kc}={}){this.dataView=Oc.vJ.toUint8Array(t)}get data(){return this.dataView.slice().buffer}set data(t){this.dataView=Oc.vJ.toUint8Array(t)}fromBER(t,e,r){const i=e+r;return this.dataView=Oc.vJ.toUint8Array(t).subarray(e,i),i}toBER(t){return this.dataView.slice().buffer}}function Qh(t,e,r){if(r instanceof Gh){for(let i=0;i<r.value.length;i++)if(Qh(t,e,r.value[i]).verified)return{verified:!0,result:t};{const t={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(Gc)&&(t.name=r.name),t}}if(r instanceof Vh)return r.hasOwnProperty(Gc)&&(t[r.name]=e),{verified:!0,result:t};if(t instanceof Object==0)return{verified:!1,result:{error:"Wrong root object"}};if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(r instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("idBlock"in r==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("fromBER"in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("toBER"in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=r.idBlock.toBER(!1);if(0===i.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===r.idBlock.fromBER(i,0,i.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===r.idBlock.hasOwnProperty("tagClass"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(!1===r.idBlock.hasOwnProperty("tagNumber"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(!1===r.idBlock.hasOwnProperty("isConstructed"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!("isHexOnly"in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(r.idBlock.isHexOnly){if(zc in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=r.idBlock.valueHexView,n=e.idBlock.valueHexView;if(i.length!==n.length)return{verified:!1,result:t};for(let e=0;e<i.length;e++)if(i[e]!==n[1])return{verified:!1,result:t}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&(t[r.name]=e)),r instanceof il.Constructed){let i=0,n={verified:!1,result:{error:"Unknown error"}},s=r.valueBlock.value.length;if(s>0&&r.valueBlock.value[0]instanceof zh&&(s=e.valueBlock.value.length),0===s)return{verified:!0,result:t};if(0===e.valueBlock.value.length&&0!==r.valueBlock.value.length){let e=!0;for(let t=0;t<r.valueBlock.value.length;t++)e=e&&(r.valueBlock.value[t].optional||!1);return e?{verified:!0,result:t}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&delete t[r.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let o=0;o<s;o++)if(o-i>=e.valueBlock.value.length){if(!1===r.valueBlock.value[o].optional){const e={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&(delete t[r.name],e.name=r.name)),e}}else if(r.valueBlock.value[0]instanceof zh){if(n=Qh(t,e.valueBlock.value[o],r.valueBlock.value[0].value),!1===n.verified){if(!r.valueBlock.value[0].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&delete t[r.name]),n;i++}if(Gc in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){let i={};i="local"in r.valueBlock.value[0]&&r.valueBlock.value[0].local?e:t,void 0===i[r.valueBlock.value[0].name]&&(i[r.valueBlock.value[0].name]=[]),i[r.valueBlock.value[0].name].push(e.valueBlock.value[o])}}else if(n=Qh(t,e.valueBlock.value[o-i],r.valueBlock.value[o]),!1===n.verified){if(!r.valueBlock.value[o].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&delete t[r.name]),n;i++}if(!1===n.verified){const e={verified:!1,result:t};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&(delete t[r.name],e.name=r.name)),e}return{verified:!0,result:t}}if(r.primitiveSchema&&zc in e.valueBlock){const i=Gl(e.valueBlock.valueHexView);if(-1===i.offset){const e={verified:!1,result:i.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,qc),r.name&&(delete t[r.name],e.name=r.name)),e}return Qh(t,i.result,r.primitiveSchema)}return{verified:!0,result:t}}function Kh(t,e){if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const r=Gl(Oc.vJ.toUint8Array(t));return-1===r.offset?{verified:!1,result:r.result}:Qh(r.result,r.result,e)}!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(Wl||(Wl={})),function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"}(jl||(jl={}));class Yh{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!Oc.vJ.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=Oc.vJ.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof ih))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=t.valueBlock.unusedBits,this.value=t.valueBlock.valueHex,this}toASN(){return new ih({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new ih({name:t})}toNumber(){let t="";const e=new Uint8Array(this.value);for(const r of e)t+=r.toString(2).padStart(8,"0");return t=t.split("").reverse().join(""),this.unusedBits&&(t=t.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(t,2)}fromNumber(t){let e=t.toString(2);const r=e.length+7>>3;this.unusedBits=(r<<3)-e.length;const i=new Uint8Array(r);e=e.padStart(r<<3,"0").split("").reverse().join("");let n=0;for(;n<r;)i[n]=parseInt(e.slice(n<<3,8+(n<<3)),2),n++;this.value=i.buffer}}class Jh{constructor(t){"number"==typeof t?this.buffer=new ArrayBuffer(t):Oc.vJ.isBufferSource(t)?this.buffer=Oc.vJ.toArrayBuffer(t):Array.isArray(t)?this.buffer=new Uint8Array(t):this.buffer=new ArrayBuffer(0)}get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}fromASN(t){if(!(t instanceof eh))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new eh({valueHex:this.buffer})}toSchema(t){return new eh({name:t})}}const Xh={fromASN:t=>t instanceof Xl?null:t.valueBeforeDecodeView,toASN:t=>{if(null===t)return new Xl;const e=zl(t);if(e.result.error)throw new Error(e.result.error);return e.result}},Zh={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new ch({value:+t})},$h={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new lh({value:t})},tu={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new ch({valueHex:t})},eu={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new ih({valueHex:t})},ru={fromASN:t=>t.valueBlock.toString(),toASN:t=>new ph({value:t})},iu={fromASN:t=>t.valueBlock.value,toASN:t=>new $l({value:t})},nu={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new eh({valueHex:t})},su={fromASN:t=>new Jh(t.getValue()),toASN:t=>t.toASN()};function ou(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const au=ou(_h),cu=ou(Sh),lu=ou(Th),hu=ou(Ch),uu=ou(Ih),pu=ou(Rh),du=ou(kh),fu=ou(Nh),gu=ou(Oh),yu=ou(Bh),mu=ou(Ph),wu=ou(Dh),bu={fromASN:t=>t.toDate(),toASN:t=>new Lh({valueDate:t})},Au={fromASN:t=>t.toDate(),toASN:t=>new Uh({valueDate:t})},vu={fromASN:()=>null,toASN:()=>new Xl};function _u(t){switch(t){case jl.Any:return Xh;case jl.BitString:return eu;case jl.BmpString:return cu;case jl.Boolean:return iu;case jl.CharacterString:return wu;case jl.Enumerated:return $h;case jl.GeneralString:return mu;case jl.GeneralizedTime:return Au;case jl.GraphicString:return gu;case jl.IA5String:return fu;case jl.Integer:return Zh;case jl.Null:return vu;case jl.NumericString:return hu;case jl.ObjectIdentifier:return ru;case jl.OctetString:return nu;case jl.PrintableString:return uu;case jl.TeletexString:return pu;case jl.UTCTime:return bu;case jl.UniversalString:return lu;case jl.Utf8String:return au;case jl.VideotexString:return du;case jl.VisibleString:return yu;default:return null}}function Eu(t){return"function"==typeof t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Eu(t.prototype):!!(t&&"object"==typeof t&&"toASN"in t&&"fromASN"in t)}function Su(t){var e;if(t){const r=Object.getPrototypeOf(t);return(null===(e=null==r?void 0:r.prototype)||void 0===e?void 0:e.constructor)===Array||Su(r)}return!1}function xu(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let e=0;e<t.byteLength;e++)if(r[e]!==i[e])return!1;return!0}const Tu=new class{constructor(){this.items=new WeakMap}has(t){return this.items.has(t)}get(t,e=!1){const r=this.items.get(t);if(!r)throw new Error(`Cannot get schema for '${t.prototype.constructor.name}' target`);if(e&&!r.schema)throw new Error(`Schema '${t.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(t){const e=this.get(t);e.schema||(e.schema=this.create(t,!0))}createDefault(t){const e={type:Wl.Sequence,items:{}},r=this.findParentSchema(t);return r&&(Object.assign(e,r),e.items=Object.assign({},e.items,r.items)),e}create(e,r){const i=this.items.get(e)||this.createDefault(e),n=[];for(const e in i.items){const s=i.items[e],o=r?e:"";let a;if("number"==typeof s.type){const e=jl[s.type],r=t[e];if(!r)throw new Error(`Cannot get ASN1 class by name '${e}'`);a=new r({name:o})}else Eu(s.type)?a=(new s.type).toSchema(o):s.optional?this.get(s.type).type===Wl.Choice?a=new Vh({name:o}):(a=this.create(s.type,!1),a.name=o):a=new Vh({name:o});const c=!!s.optional||void 0!==s.defaultValue;if(s.repeated&&(a.name="",a=new("set"===s.repeated?mh:yh)({name:"",value:[new zh({name:o,value:a})]})),null!==s.context&&void 0!==s.context)if(s.implicit)if("number"==typeof s.type||Eu(s.type)){const t=s.repeated?Kl:Vl;n.push(new t({name:o,optional:c,idBlock:{tagClass:3,tagNumber:s.context}}))}else{this.cache(s.type);const t=!!s.repeated;let e=t?a:this.get(s.type,!0).schema;e="valueBlock"in e?e.valueBlock.value:e.value,n.push(new Kl({name:t?"":o,optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:e}))}else n.push(new Kl({optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else a.optional=c,n.push(a)}switch(i.type){case Wl.Sequence:return new yh({value:n,name:""});case Wl.Set:return new mh({value:n,name:""});case Wl.Choice:return new Gh({value:n,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(t,e){return this.items.set(t,e),this}findParentSchema(t){const e=Object.getPrototypeOf(t);return e?this.items.get(e)||this.findParentSchema(e):null}},Cu=t=>e=>{let r;Tu.has(e)?r=Tu.get(e):(r=Tu.createDefault(e),Tu.set(e,r)),Object.assign(r,t)},Iu=t=>(e,r)=>{let i;Tu.has(e.constructor)?i=Tu.get(e.constructor):(i=Tu.createDefault(e.constructor),Tu.set(e.constructor,i));const n=Object.assign({},t);if("number"==typeof n.type&&!n.converter){const i=_u(t.type);if(!i)throw new Error(`Cannot get default converter for property '${r}' of ${e.constructor.name}`);n.converter=i}i.items[r]=n};class Ru extends Error{constructor(){super(...arguments),this.schemas=[]}}class ku{static serialize(t){return t instanceof nl?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&"object"==typeof t&&Eu(t))return t.toASN();if(!t||"object"!=typeof t)throw new TypeError("Parameter 1 should be type of Object.");const e=t.constructor,r=Tu.get(e);Tu.cache(e);let i,n=[];if(r.itemType){if(!Array.isArray(t))throw new TypeError("Parameter 1 should be type of Array.");if("number"==typeof r.itemType){const i=_u(r.itemType);if(!i)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);n=t.map((t=>i.toASN(t)))}else n=t.map((t=>this.toAsnItem({type:r.itemType},"[]",e,t)))}else for(const i in r.items){const s=r.items[i],o=t[i];if(void 0===o||s.defaultValue===o||"object"==typeof s.defaultValue&&"object"==typeof o&&xu(this.serialize(s.defaultValue),this.serialize(o)))continue;const a=ku.toAsnItem(s,i,e,o);if("number"==typeof s.context)if(s.implicit)if(s.repeated||"number"!=typeof s.type&&!Eu(s.type))n.push(new Kl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof Xl?a.valueBeforeDecodeView:a.valueBlock.toBER(),n.push(new Vl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},...t}))}else n.push(new Kl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else s.repeated?n=n.concat(a):n.push(a)}switch(r.type){case Wl.Sequence:i=new yh({value:n});break;case Wl.Set:i=new mh({value:n});break;case Wl.Choice:if(!n[0])throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`);i=n[0]}return i}static toAsnItem(t,e,r,i){let n;if("number"==typeof t.type){const s=t.converter;if(!s)throw new Error(`Property '${e}' doesn't have converter for type ${jl[t.type]} in schema '${r.name}'`);if(t.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(i,(t=>s.toASN(t)));n=new("sequence"===t.repeated?yh:mh)({value:e})}else n=s.toASN(i)}else if(t.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(i,(t=>this.toASN(t)));n=new("sequence"===t.repeated?yh:mh)({value:e})}else n=this.toASN(i);return n}}class Nu extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class Ou{static serialize(t){return ku.serialize(t)}static parse(e,r){return class{static parse(t,e){const r=zl(t);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,e)}static fromASN(e,r){var i;try{if(Eu(r))return(new r).fromASN(e);const n=Tu.get(r);Tu.cache(r);let s=n.schema;if(e.constructor===Kl&&n.type!==Wl.Choice){s=new Kl({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const t in n.items)delete e[t]}const o=Qh({},e,s);if(!o.verified)throw new Ru(`Data does not match to ${r.name} ASN1 schema. ${o.result.error}`);const a=new r;if(Su(r)){if(!("value"in e.valueBlock)||!Array.isArray(e.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const t=n.itemType;if("number"==typeof t){const i=_u(t);if(!i)throw new Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);return r.from(e.valueBlock.value,(t=>i.fromASN(t)))}return r.from(e.valueBlock.value,(e=>this.fromASN(e,t)))}for(const e in n.items){const r=o.result[e];if(!r)continue;const s=n.items[e],c=s.type;if("number"==typeof c||Eu(c)){const n=null!==(i=s.converter)&&void 0!==i?i:Eu(c)?new c:null;if(!n)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const t=new("sequence"===s.repeated?yh:mh);t.valueBlock=r.valueBlock;const i=zl(t.toBER(!1));if(-1===i.offset)throw new Error(`Cannot parse the child item. ${i.result.error}`);if(!("value"in i.result.valueBlock)||!Array.isArray(i.result.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const o=i.result.valueBlock.value;a[e]=Array.from(o,(t=>n.fromASN(t)))}else a[e]=Array.from(r,(t=>n.fromASN(t)));else{let i=r;if(s.implicit){let e;if(Eu(c))e=(new c).toSchema("");else{const r=jl[c],i=t[r];if(!i)throw new Error(`Cannot get '${r}' class from asn1js module`);e=new i}e.valueBlock=i.valueBlock,i=zl(e.toBER(!1)).result}a[e]=n.fromASN(i)}}else if(s.repeated){if(!Array.isArray(r))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");a[e]=Array.from(r,(t=>this.fromASN(t,c)))}else a[e]=this.fromASN(r,c)}return a}catch(t){throw t instanceof Ru&&t.schemas.push(r.name),t}}}.parse(e,r)}static toString(t){const e=zl(Oc.vJ.isBufferSource(t)?Oc.vJ.toArrayBuffer(t):Ou.serialize(t));if(-1===e.offset)throw new Error(`Cannot decode ASN.1 data. ${e.result.error}`);return e.result.toString()}}function Bu(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}Object.create,Object.create;var Pu,Du,Lu,Uu=r(6512);class Mu{static decodeIP(t){if(64===t.length&&0===parseInt(t,16))return"::/0";if(16!==t.length)return t;const e=parseInt(t.slice(8),16).toString(2).split("").reduce(((t,e)=>t+ +e),0);let r=t.slice(0,8).replace(/(.{2})/g,(t=>`${parseInt(t,16)}.`));return r=r.slice(0,-1),`${r}/${e}`}static toString(t){if(4===t.byteLength||16===t.byteLength){const e=new Uint8Array(t);return Uu.fromByteArray(Array.from(e)).toString()}return this.decodeIP(Oc.ep.ToHex(t))}static fromString(t){const e=Uu.parse(t);return new Uint8Array(e.toByteArray()).buffer}}let Fu=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};Bu([Iu({type:jl.TeletexString})],Fu.prototype,"teletexString",void 0),Bu([Iu({type:jl.PrintableString})],Fu.prototype,"printableString",void 0),Bu([Iu({type:jl.UniversalString})],Fu.prototype,"universalString",void 0),Bu([Iu({type:jl.Utf8String})],Fu.prototype,"utf8String",void 0),Bu([Iu({type:jl.BmpString})],Fu.prototype,"bmpString",void 0),Fu=Bu([Cu({type:Wl.Choice})],Fu);let Hu=class extends Fu{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?Oc.ep.ToHex(this.anyValue):super.toString())}};Bu([Iu({type:jl.IA5String})],Hu.prototype,"ia5String",void 0),Bu([Iu({type:jl.Any})],Hu.prototype,"anyValue",void 0),Hu=Bu([Cu({type:Wl.Choice})],Hu);class Wu{constructor(t={}){this.type="",this.value=new Hu,Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Wu.prototype,"type",void 0),Bu([Iu({type:Hu})],Wu.prototype,"value",void 0);let ju=Pu=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Pu.prototype)}};ju=Pu=Bu([Cu({type:Wl.Set,itemType:Wu})],ju);let Vu=Du=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Du.prototype)}};Vu=Du=Bu([Cu({type:Wl.Sequence,itemType:ju})],Vu);let Gu=Lu=class extends Vu{constructor(t){super(t),Object.setPrototypeOf(this,Lu.prototype)}};Gu=Lu=Bu([Cu({type:Wl.Sequence})],Gu);const zu={fromASN:t=>Mu.toString(nu.fromASN(t)),toASN:t=>nu.toASN(Mu.fromString(t))};class qu{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],qu.prototype,"typeId",void 0),Bu([Iu({type:jl.Any,context:0})],qu.prototype,"value",void 0);class Qu{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:Fu,optional:!0,context:0,implicit:!0})],Qu.prototype,"nameAssigner",void 0),Bu([Iu({type:Fu,context:1,implicit:!0})],Qu.prototype,"partyName",void 0);let Ku=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:qu,context:0,implicit:!0})],Ku.prototype,"otherName",void 0),Bu([Iu({type:jl.IA5String,context:1,implicit:!0})],Ku.prototype,"rfc822Name",void 0),Bu([Iu({type:jl.IA5String,context:2,implicit:!0})],Ku.prototype,"dNSName",void 0),Bu([Iu({type:jl.Any,context:3,implicit:!0})],Ku.prototype,"x400Address",void 0),Bu([Iu({type:Gu,context:4,implicit:!1})],Ku.prototype,"directoryName",void 0),Bu([Iu({type:Qu,context:5})],Ku.prototype,"ediPartyName",void 0),Bu([Iu({type:jl.IA5String,context:6,implicit:!0})],Ku.prototype,"uniformResourceIdentifier",void 0),Bu([Iu({type:jl.OctetString,context:7,implicit:!0,converter:zu})],Ku.prototype,"iPAddress",void 0),Bu([Iu({type:jl.ObjectIdentifier,context:8,implicit:!0})],Ku.prototype,"registeredID",void 0),Ku=Bu([Cu({type:Wl.Choice})],Ku);const Yu="1.3.6.1.5.5.7.3";var Ju;class Xu{constructor(t={}){this.accessMethod="",this.accessLocation=new Ku,Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Xu.prototype,"accessMethod",void 0),Bu([Iu({type:Ku})],Xu.prototype,"accessLocation",void 0);let Zu=Ju=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Ju.prototype)}};Zu=Ju=Bu([Cu({type:Wl.Sequence,itemType:Xu})],Zu);const $u="2.5.29.35";class tp extends Jh{}class ep{constructor(t={}){t&&Object.assign(this,t)}}Bu([Iu({type:tp,context:0,optional:!0,implicit:!0})],ep.prototype,"keyIdentifier",void 0),Bu([Iu({type:Ku,context:1,optional:!0,implicit:!0,repeated:"sequence"})],ep.prototype,"authorityCertIssuer",void 0),Bu([Iu({type:jl.Integer,context:2,optional:!0,implicit:!0,converter:tu})],ep.prototype,"authorityCertSerialNumber",void 0);const rp="2.5.29.19";class ip{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var np;Bu([Iu({type:jl.Boolean,defaultValue:!1})],ip.prototype,"cA",void 0),Bu([Iu({type:jl.Integer,optional:!0})],ip.prototype,"pathLenConstraint",void 0);let sp=np=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,np.prototype)}};var op;sp=np=Bu([Cu({type:Wl.Sequence,itemType:Ku})],sp);let ap=op=class extends sp{constructor(t){super(t),Object.setPrototypeOf(this,op.prototype)}};var cp;ap=op=Bu([Cu({type:Wl.Sequence})],ap);const lp="2.5.29.32";let hp=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};Bu([Iu({type:jl.IA5String})],hp.prototype,"ia5String",void 0),Bu([Iu({type:jl.VisibleString})],hp.prototype,"visibleString",void 0),Bu([Iu({type:jl.BmpString})],hp.prototype,"bmpString",void 0),Bu([Iu({type:jl.Utf8String})],hp.prototype,"utf8String",void 0),hp=Bu([Cu({type:Wl.Choice})],hp);class up{constructor(t={}){this.organization=new hp,this.noticeNumbers=[],Object.assign(this,t)}}Bu([Iu({type:hp})],up.prototype,"organization",void 0),Bu([Iu({type:jl.Integer,repeated:"sequence"})],up.prototype,"noticeNumbers",void 0);class pp{constructor(t={}){Object.assign(this,t)}}Bu([Iu({type:up,optional:!0})],pp.prototype,"noticeRef",void 0),Bu([Iu({type:hp,optional:!0})],pp.prototype,"explicitText",void 0);let dp=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:jl.IA5String})],dp.prototype,"cPSuri",void 0),Bu([Iu({type:pp})],dp.prototype,"userNotice",void 0),dp=Bu([Cu({type:Wl.Choice})],dp);class fp{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],fp.prototype,"policyQualifierId",void 0),Bu([Iu({type:jl.Any})],fp.prototype,"qualifier",void 0);class gp{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],gp.prototype,"policyIdentifier",void 0),Bu([Iu({type:fp,repeated:"sequence",optional:!0})],gp.prototype,"policyQualifiers",void 0);let yp=cp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,cp.prototype)}};yp=cp=Bu([Cu({type:Wl.Sequence,itemType:gp})],yp);let mp=class{constructor(t=0){this.value=t}};Bu([Iu({type:jl.Integer})],mp.prototype,"value",void 0),mp=Bu([Cu({type:Wl.Choice})],mp);let wp=class extends mp{};var bp,Ap;wp=Bu([Cu({type:Wl.Choice})],wp),function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"}(Ap||(Ap={}));class vp extends Yh{toJSON(){const t=[],e=this.toNumber();return e&Ap.aACompromise&&t.push("aACompromise"),e&Ap.affiliationChanged&&t.push("affiliationChanged"),e&Ap.cACompromise&&t.push("cACompromise"),e&Ap.certificateHold&&t.push("certificateHold"),e&Ap.cessationOfOperation&&t.push("cessationOfOperation"),e&Ap.keyCompromise&&t.push("keyCompromise"),e&Ap.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&Ap.superseded&&t.push("superseded"),e&Ap.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let _p=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:Ku,context:0,repeated:"sequence",implicit:!0})],_p.prototype,"fullName",void 0),Bu([Iu({type:ju,context:1,implicit:!0})],_p.prototype,"nameRelativeToCRLIssuer",void 0),_p=Bu([Cu({type:Wl.Choice})],_p);class Ep{constructor(t={}){Object.assign(this,t)}}Bu([Iu({type:_p,context:0,optional:!0})],Ep.prototype,"distributionPoint",void 0),Bu([Iu({type:vp,context:1,optional:!0,implicit:!0})],Ep.prototype,"reasons",void 0),Bu([Iu({type:Ku,context:2,optional:!0,repeated:"sequence",implicit:!0})],Ep.prototype,"cRLIssuer",void 0);let Sp=bp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,bp.prototype)}};var xp;Sp=bp=Bu([Cu({type:Wl.Sequence,itemType:Ep})],Sp);let Tp=xp=class extends Sp{constructor(t){super(t),Object.setPrototypeOf(this,xp.prototype)}};Tp=xp=Bu([Cu({type:Wl.Sequence,itemType:Ep})],Tp);class Cp{constructor(t={}){this.onlyContainsUserCerts=Cp.ONLY,this.onlyContainsCACerts=Cp.ONLY,this.indirectCRL=Cp.ONLY,this.onlyContainsAttributeCerts=Cp.ONLY,Object.assign(this,t)}}var Ip;Cp.ONLY=!1,Bu([Iu({type:_p,context:0,optional:!0})],Cp.prototype,"distributionPoint",void 0),Bu([Iu({type:jl.Boolean,context:1,defaultValue:Cp.ONLY,implicit:!0})],Cp.prototype,"onlyContainsUserCerts",void 0),Bu([Iu({type:jl.Boolean,context:2,defaultValue:Cp.ONLY,implicit:!0})],Cp.prototype,"onlyContainsCACerts",void 0),Bu([Iu({type:vp,context:3,optional:!0,implicit:!0})],Cp.prototype,"onlySomeReasons",void 0),Bu([Iu({type:jl.Boolean,context:4,defaultValue:Cp.ONLY,implicit:!0})],Cp.prototype,"indirectCRL",void 0),Bu([Iu({type:jl.Boolean,context:5,defaultValue:Cp.ONLY,implicit:!0})],Cp.prototype,"onlyContainsAttributeCerts",void 0),function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Ip||(Ip={}));let Rp=class{constructor(t=Ip.unspecified){this.reason=Ip.unspecified,this.reason=t}toJSON(){return Ip[this.reason]}toString(){return this.toJSON()}};var kp;Bu([Iu({type:jl.Enumerated})],Rp.prototype,"reason",void 0),Rp=Bu([Cu({type:Wl.Choice})],Rp);const Np="2.5.29.37";let Op=kp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,kp.prototype)}};Op=kp=Bu([Cu({type:Wl.Sequence,itemType:jl.ObjectIdentifier})],Op);const Bp=`${Yu}.1`,Pp=`${Yu}.2`,Dp=`${Yu}.3`,Lp=`${Yu}.4`,Up=`${Yu}.8`,Mp=`${Yu}.9`;let Fp=class{constructor(t=new ArrayBuffer(0)){this.value=t}};Bu([Iu({type:jl.Integer,converter:tu})],Fp.prototype,"value",void 0),Fp=Bu([Cu({type:Wl.Choice})],Fp);let Hp=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var Wp;Bu([Iu({type:jl.GeneralizedTime})],Hp.prototype,"value",void 0),Hp=Bu([Cu({type:Wl.Choice})],Hp);let jp=Wp=class extends sp{constructor(t){super(t),Object.setPrototypeOf(this,Wp.prototype)}};jp=Wp=Bu([Cu({type:Wl.Sequence})],jp);const Vp="2.5.29.15";var Gp,zp;!function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(Gp||(Gp={}));class qp extends Yh{toJSON(){const t=this.toNumber(),e=[];return t&Gp.cRLSign&&e.push("crlSign"),t&Gp.dataEncipherment&&e.push("dataEncipherment"),t&Gp.decipherOnly&&e.push("decipherOnly"),t&Gp.digitalSignature&&e.push("digitalSignature"),t&Gp.encipherOnly&&e.push("encipherOnly"),t&Gp.keyAgreement&&e.push("keyAgreement"),t&Gp.keyCertSign&&e.push("keyCertSign"),t&Gp.keyEncipherment&&e.push("keyEncipherment"),t&Gp.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Qp{constructor(t={}){this.base=new Ku,this.minimum=0,Object.assign(this,t)}}Bu([Iu({type:Ku})],Qp.prototype,"base",void 0),Bu([Iu({type:jl.Integer,context:0,defaultValue:0,implicit:!0})],Qp.prototype,"minimum",void 0),Bu([Iu({type:jl.Integer,context:1,optional:!0,implicit:!0})],Qp.prototype,"maximum",void 0);let Kp=zp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,zp.prototype)}};Kp=zp=Bu([Cu({type:Wl.Sequence,itemType:Qp})],Kp);class Yp{constructor(t={}){Object.assign(this,t)}}Bu([Iu({type:Kp,context:0,optional:!0,implicit:!0})],Yp.prototype,"permittedSubtrees",void 0),Bu([Iu({type:Kp,context:1,optional:!0,implicit:!0})],Yp.prototype,"excludedSubtrees",void 0);class Jp{constructor(t={}){Object.assign(this,t)}}var Xp;Bu([Iu({type:jl.Integer,context:0,implicit:!0,optional:!0,converter:tu})],Jp.prototype,"requireExplicitPolicy",void 0),Bu([Iu({type:jl.Integer,context:1,implicit:!0,optional:!0,converter:tu})],Jp.prototype,"inhibitPolicyMapping",void 0);class Zp{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Zp.prototype,"issuerDomainPolicy",void 0),Bu([Iu({type:jl.ObjectIdentifier})],Zp.prototype,"subjectDomainPolicy",void 0);let $p=Xp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Xp.prototype)}};var td;$p=Xp=Bu([Cu({type:Wl.Sequence,itemType:Zp})],$p);const ed="2.5.29.17";let rd=td=class extends sp{constructor(t){super(t),Object.setPrototypeOf(this,td.prototype)}};rd=td=Bu([Cu({type:Wl.Sequence})],rd);class id{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var nd;Bu([Iu({type:jl.ObjectIdentifier})],id.prototype,"type",void 0),Bu([Iu({type:jl.Any,repeated:"set"})],id.prototype,"values",void 0);let sd=nd=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,nd.prototype)}};sd=nd=Bu([Cu({type:Wl.Sequence,itemType:id})],sd);const od="2.5.29.14";class ad extends tp{}class cd{constructor(t={}){Object.assign(this,t)}}var ld,hd;Bu([Iu({type:jl.GeneralizedTime,context:0,implicit:!0,optional:!0})],cd.prototype,"notBefore",void 0),Bu([Iu({type:jl.GeneralizedTime,context:1,implicit:!0,optional:!0})],cd.prototype,"notAfter",void 0),function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(ld||(ld={}));class ud extends Yh{toJSON(){const t=[],e=this.toNumber();return e&ld.pKIXCertificate&&t.push("pKIXCertificate"),e&ld.newExtensions&&t.push("newExtensions"),e&ld.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class pd{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new ud,Object.assign(this,t)}}Bu([Iu({type:jl.GeneralString})],pd.prototype,"entrustVers",void 0),Bu([Iu({type:ud})],pd.prototype,"entrustInfoFlags",void 0);let dd=hd=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,hd.prototype)}};dd=hd=Bu([Cu({type:Wl.Sequence,itemType:Xu})],dd);class fd{constructor(t={}){this.algorithm="",Object.assign(this,t)}isEqual(t){return t instanceof fd&&t.algorithm==this.algorithm&&(t.parameters&&this.parameters&&Oc.Xy(t.parameters,this.parameters)||t.parameters===this.parameters)}}Bu([Iu({type:jl.ObjectIdentifier})],fd.prototype,"algorithm",void 0),Bu([Iu({type:jl.Any,optional:!0})],fd.prototype,"parameters",void 0);class gd{constructor(t={}){this.algorithm=new fd,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:fd})],gd.prototype,"algorithm",void 0),Bu([Iu({type:jl.BitString})],gd.prototype,"subjectPublicKey",void 0);let yd=class{constructor(t){if(t)if("string"==typeof t||"number"==typeof t||t instanceof Date){const e=new Date(t);e.getUTCFullYear()>2049?this.generalTime=e:this.utcTime=e}else Object.assign(this,t)}getTime(){const t=this.utcTime||this.generalTime;if(!t)throw new Error("Cannot get time from CHOICE object");return t}};Bu([Iu({type:jl.UTCTime})],yd.prototype,"utcTime",void 0),Bu([Iu({type:jl.GeneralizedTime})],yd.prototype,"generalTime",void 0),yd=Bu([Cu({type:Wl.Choice})],yd);class md{constructor(t){this.notBefore=new yd(new Date),this.notAfter=new yd(new Date),t&&(this.notBefore=new yd(t.notBefore),this.notAfter=new yd(t.notAfter))}}var wd;Bu([Iu({type:yd})],md.prototype,"notBefore",void 0),Bu([Iu({type:yd})],md.prototype,"notAfter",void 0);class bd{constructor(t={}){this.extnID="",this.critical=bd.CRITICAL,this.extnValue=new Jh,Object.assign(this,t)}}bd.CRITICAL=!1,Bu([Iu({type:jl.ObjectIdentifier})],bd.prototype,"extnID",void 0),Bu([Iu({type:jl.Boolean,defaultValue:bd.CRITICAL})],bd.prototype,"critical",void 0),Bu([Iu({type:Jh})],bd.prototype,"extnValue",void 0);let Ad=wd=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,wd.prototype)}};var vd,_d;Ad=wd=Bu([Cu({type:Wl.Sequence,itemType:bd})],Ad),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(vd||(vd={}));class Ed{constructor(t={}){this.version=vd.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new fd,this.issuer=new Gu,this.validity=new md,this.subject=new Gu,this.subjectPublicKeyInfo=new gd,Object.assign(this,t)}}Bu([Iu({type:jl.Integer,context:0,defaultValue:vd.v1})],Ed.prototype,"version",void 0),Bu([Iu({type:jl.Integer,converter:tu})],Ed.prototype,"serialNumber",void 0),Bu([Iu({type:fd})],Ed.prototype,"signature",void 0),Bu([Iu({type:Gu})],Ed.prototype,"issuer",void 0),Bu([Iu({type:md})],Ed.prototype,"validity",void 0),Bu([Iu({type:Gu})],Ed.prototype,"subject",void 0),Bu([Iu({type:gd})],Ed.prototype,"subjectPublicKeyInfo",void 0),Bu([Iu({type:jl.BitString,context:1,implicit:!0,optional:!0})],Ed.prototype,"issuerUniqueID",void 0),Bu([Iu({type:jl.BitString,context:2,implicit:!0,optional:!0})],Ed.prototype,"subjectUniqueID",void 0),Bu([Iu({type:Ad,context:3,optional:!0})],Ed.prototype,"extensions",void 0);class Sd{constructor(t={}){this.tbsCertificate=new Ed,this.signatureAlgorithm=new fd,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:Ed})],Sd.prototype,"tbsCertificate",void 0),Bu([Iu({type:fd})],Sd.prototype,"signatureAlgorithm",void 0),Bu([Iu({type:jl.BitString})],Sd.prototype,"signatureValue",void 0);class xd{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new yd,Object.assign(this,t)}}Bu([Iu({type:jl.Integer,converter:tu})],xd.prototype,"userCertificate",void 0),Bu([Iu({type:yd})],xd.prototype,"revocationDate",void 0),Bu([Iu({type:bd,optional:!0,repeated:"sequence"})],xd.prototype,"crlEntryExtensions",void 0);class Td{constructor(t={}){this.signature=new fd,this.issuer=new Gu,this.thisUpdate=new yd,Object.assign(this,t)}}Bu([Iu({type:jl.Integer,optional:!0})],Td.prototype,"version",void 0),Bu([Iu({type:fd})],Td.prototype,"signature",void 0),Bu([Iu({type:Gu})],Td.prototype,"issuer",void 0),Bu([Iu({type:yd})],Td.prototype,"thisUpdate",void 0),Bu([Iu({type:yd,optional:!0})],Td.prototype,"nextUpdate",void 0),Bu([Iu({type:xd,repeated:"sequence",optional:!0})],Td.prototype,"revokedCertificates",void 0),Bu([Iu({type:bd,optional:!0,context:0,repeated:"sequence"})],Td.prototype,"crlExtensions",void 0);class Cd{constructor(t={}){this.tbsCertList=new Td,this.signatureAlgorithm=new fd,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:Td})],Cd.prototype,"tbsCertList",void 0),Bu([Iu({type:fd})],Cd.prototype,"signatureAlgorithm",void 0),Bu([Iu({type:jl.BitString})],Cd.prototype,"signature",void 0);class Id{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Id.prototype,"attrType",void 0),Bu([Iu({type:jl.Any,repeated:"set"})],Id.prototype,"attrValues",void 0);class Rd{constructor(t={}){this.acIssuer=new Ku,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}Bu([Iu({type:Ku})],Rd.prototype,"acIssuer",void 0),Bu([Iu({type:jl.Integer})],Rd.prototype,"acSerial",void 0),Bu([Iu({type:id,repeated:"sequence"})],Rd.prototype,"attrs",void 0);let kd=_d=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,_d.prototype)}};kd=_d=Bu([Cu({type:Wl.Sequence,itemType:jl.ObjectIdentifier})],kd);class Nd{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}Bu([Iu({type:jl.Integer,optional:!0})],Nd.prototype,"pathLenConstraint",void 0),Bu([Iu({type:kd,implicit:!0,context:0,optional:!0})],Nd.prototype,"permittedAttrs",void 0),Bu([Iu({type:kd,implicit:!0,context:1,optional:!0})],Nd.prototype,"excludedAttrs",void 0),Bu([Iu({type:jl.Boolean,defaultValue:!0})],Nd.prototype,"permitUnSpecified",void 0);class Od{constructor(t={}){this.issuer=new sp,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var Bd;Bu([Iu({type:sp})],Od.prototype,"issuer",void 0),Bu([Iu({type:jl.Integer,converter:tu})],Od.prototype,"serial",void 0),Bu([Iu({type:jl.BitString,optional:!0})],Od.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(Bd||(Bd={}));class Pd{constructor(t={}){this.digestedObjectType=Bd.publicKey,this.digestAlgorithm=new fd,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.Enumerated})],Pd.prototype,"digestedObjectType",void 0),Bu([Iu({type:jl.ObjectIdentifier,optional:!0})],Pd.prototype,"otherObjectTypeID",void 0),Bu([Iu({type:fd})],Pd.prototype,"digestAlgorithm",void 0),Bu([Iu({type:jl.BitString})],Pd.prototype,"objectDigest",void 0);class Dd{constructor(t={}){Object.assign(this,t)}}Bu([Iu({type:sp,optional:!0})],Dd.prototype,"issuerName",void 0),Bu([Iu({type:Od,context:0,implicit:!0,optional:!0})],Dd.prototype,"baseCertificateID",void 0),Bu([Iu({type:Pd,context:1,implicit:!0,optional:!0})],Dd.prototype,"objectDigestInfo",void 0);let Ld=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:Ku,repeated:"sequence"})],Ld.prototype,"v1Form",void 0),Bu([Iu({type:Dd,context:0,implicit:!0})],Ld.prototype,"v2Form",void 0),Ld=Bu([Cu({type:Wl.Choice})],Ld);class Ud{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}Bu([Iu({type:jl.GeneralizedTime})],Ud.prototype,"notBeforeTime",void 0),Bu([Iu({type:jl.GeneralizedTime})],Ud.prototype,"notAfterTime",void 0);class Md{constructor(t={}){Object.assign(this,t)}}var Fd,Hd,Wd;Bu([Iu({type:Od,implicit:!0,context:0,optional:!0})],Md.prototype,"baseCertificateID",void 0),Bu([Iu({type:sp,implicit:!0,context:1,optional:!0})],Md.prototype,"entityName",void 0),Bu([Iu({type:Pd,implicit:!0,context:2,optional:!0})],Md.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(Fd||(Fd={}));class jd{constructor(t={}){this.version=Fd.v2,this.holder=new Md,this.issuer=new Ld,this.signature=new fd,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new Ud,this.attributes=[],Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],jd.prototype,"version",void 0),Bu([Iu({type:Md})],jd.prototype,"holder",void 0),Bu([Iu({type:Ld})],jd.prototype,"issuer",void 0),Bu([Iu({type:fd})],jd.prototype,"signature",void 0),Bu([Iu({type:jl.Integer,converter:tu})],jd.prototype,"serialNumber",void 0),Bu([Iu({type:Ud})],jd.prototype,"attrCertValidityPeriod",void 0),Bu([Iu({type:id,repeated:"sequence"})],jd.prototype,"attributes",void 0),Bu([Iu({type:jl.BitString,optional:!0})],jd.prototype,"issuerUniqueID",void 0),Bu([Iu({type:Ad,optional:!0})],jd.prototype,"extensions",void 0);class Vd{constructor(t={}){this.acinfo=new jd,this.signatureAlgorithm=new fd,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jd})],Vd.prototype,"acinfo",void 0),Bu([Iu({type:fd})],Vd.prototype,"signatureAlgorithm",void 0),Bu([Iu({type:jl.BitString})],Vd.prototype,"signatureValue",void 0),function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"}(Hd||(Hd={}));class Gd extends Yh{}class zd{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier,implicit:!0,context:0})],zd.prototype,"type",void 0),Bu([Iu({type:jl.Any,implicit:!0,context:1})],zd.prototype,"value",void 0);class qd{constructor(t={}){this.policyId="",this.classList=new Gd(Hd.unclassified),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],qd.prototype,"policyId",void 0),Bu([Iu({type:Gd,defaultValue:new Gd(Hd.unclassified)})],qd.prototype,"classList",void 0),Bu([Iu({type:zd,repeated:"set"})],qd.prototype,"securityCategories",void 0);class Qd{constructor(t={}){Object.assign(this,t)}}Bu([Iu({type:Jh})],Qd.prototype,"cotets",void 0),Bu([Iu({type:jl.ObjectIdentifier})],Qd.prototype,"oid",void 0),Bu([Iu({type:jl.Utf8String})],Qd.prototype,"string",void 0);class Kd{constructor(t={}){this.values=[],Object.assign(this,t)}}Bu([Iu({type:sp,implicit:!0,context:0,optional:!0})],Kd.prototype,"policyAuthority",void 0),Bu([Iu({type:Qd,repeated:"sequence"})],Kd.prototype,"values",void 0);class Yd{constructor(t={}){this.targetCertificate=new Od,Object.assign(this,t)}}Bu([Iu({type:Od})],Yd.prototype,"targetCertificate",void 0),Bu([Iu({type:Ku,optional:!0})],Yd.prototype,"targetName",void 0),Bu([Iu({type:Pd,optional:!0})],Yd.prototype,"certDigestInfo",void 0);let Jd=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:Ku,context:0,implicit:!0})],Jd.prototype,"targetName",void 0),Bu([Iu({type:Ku,context:1,implicit:!0})],Jd.prototype,"targetGroup",void 0),Bu([Iu({type:Yd,context:2,implicit:!0})],Jd.prototype,"targetCert",void 0),Jd=Bu([Cu({type:Wl.Choice})],Jd);let Xd=Wd=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Wd.prototype)}};var Zd;Xd=Wd=Bu([Cu({type:Wl.Sequence,itemType:Jd})],Xd);let $d=Zd=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Zd.prototype)}};$d=Zd=Bu([Cu({type:Wl.Sequence,itemType:Xd})],$d);class tf{constructor(t={}){Object.assign(this,t)}}Bu([Iu({type:sp,implicit:!0,context:0,optional:!0})],tf.prototype,"roleAuthority",void 0),Bu([Iu({type:Ku,implicit:!0,context:1})],tf.prototype,"roleName",void 0);class ef{constructor(t={}){this.service=new Ku,this.ident=new Ku,Object.assign(this,t)}}var rf;Bu([Iu({type:Ku})],ef.prototype,"service",void 0),Bu([Iu({type:Ku})],ef.prototype,"ident",void 0),Bu([Iu({type:Jh,optional:!0})],ef.prototype,"authInfo",void 0);class nf{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],nf.prototype,"otherCertFormat",void 0),Bu([Iu({type:jl.Any})],nf.prototype,"otherCert",void 0);let sf=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:Sd})],sf.prototype,"certificate",void 0),Bu([Iu({type:Vd,context:2,implicit:!0})],sf.prototype,"v2AttrCert",void 0),Bu([Iu({type:nf,context:3,implicit:!0})],sf.prototype,"other",void 0),sf=Bu([Cu({type:Wl.Choice})],sf);let of=rf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,rf.prototype)}};of=rf=Bu([Cu({type:Wl.Set,itemType:sf})],of);class af{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],af.prototype,"contentType",void 0),Bu([Iu({type:jl.Any,context:0})],af.prototype,"content",void 0);let cf=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:Jh})],cf.prototype,"single",void 0),Bu([Iu({type:jl.Any})],cf.prototype,"any",void 0),cf=Bu([Cu({type:Wl.Choice})],cf);class lf{constructor(t={}){this.eContentType="",Object.assign(this,t)}}var hf;Bu([Iu({type:jl.ObjectIdentifier})],lf.prototype,"eContentType",void 0),Bu([Iu({type:cf,context:0,optional:!0})],lf.prototype,"eContent",void 0),function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"}(hf||(hf={}));let uf=class extends fd{};uf=Bu([Cu({type:Wl.Sequence})],uf);let pf=class extends fd{};pf=Bu([Cu({type:Wl.Sequence})],pf);let df=class extends fd{};df=Bu([Cu({type:Wl.Sequence})],df);let ff=class extends fd{};ff=Bu([Cu({type:Wl.Sequence})],ff);let gf=class extends fd{};gf=Bu([Cu({type:Wl.Sequence})],gf);let yf=class extends fd{};yf=Bu([Cu({type:Wl.Sequence})],yf);let mf=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:Jh,context:0,implicit:!0,optional:!0})],mf.prototype,"value",void 0),Bu([Iu({type:Jh,converter:su,context:0,implicit:!0,optional:!0,repeated:"sequence"})],mf.prototype,"constructedValue",void 0),mf=Bu([Cu({type:Wl.Choice})],mf);class wf{constructor(t={}){this.contentType="",this.contentEncryptionAlgorithm=new ff,Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],wf.prototype,"contentType",void 0),Bu([Iu({type:ff})],wf.prototype,"contentEncryptionAlgorithm",void 0),Bu([Iu({type:mf,optional:!0})],wf.prototype,"encryptedContent",void 0);class bf{constructor(t={}){this.issuer=new Gu,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:Gu})],bf.prototype,"issuer",void 0),Bu([Iu({type:jl.Integer,converter:tu})],bf.prototype,"serialNumber",void 0);class Af{constructor(t={}){this.keyAttrId="",Object.assign(this,t)}}var vf;Bu([Iu({type:jl.ObjectIdentifier})],Af.prototype,"keyAttrId",void 0),Bu([Iu({type:jl.Any,optional:!0})],Af.prototype,"keyAttr",void 0);class _f{constructor(t={}){this.subjectKeyIdentifier=new ad,Object.assign(this,t)}}Bu([Iu({type:ad})],_f.prototype,"subjectKeyIdentifier",void 0),Bu([Iu({type:jl.GeneralizedTime,optional:!0})],_f.prototype,"date",void 0),Bu([Iu({type:Af,optional:!0})],_f.prototype,"other",void 0);let Ef=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:_f,context:0,implicit:!0,optional:!0})],Ef.prototype,"rKeyId",void 0),Bu([Iu({type:bf,optional:!0})],Ef.prototype,"issuerAndSerialNumber",void 0),Ef=Bu([Cu({type:Wl.Choice})],Ef);class Sf{constructor(t={}){this.rid=new Ef,this.encryptedKey=new Jh,Object.assign(this,t)}}Bu([Iu({type:Ef})],Sf.prototype,"rid",void 0),Bu([Iu({type:Jh})],Sf.prototype,"encryptedKey",void 0);let xf=vf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,vf.prototype)}};xf=vf=Bu([Cu({type:Wl.Sequence,itemType:Sf})],xf);class Tf{constructor(t={}){this.algorithm=new fd,this.publicKey=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:fd})],Tf.prototype,"algorithm",void 0),Bu([Iu({type:jl.BitString})],Tf.prototype,"publicKey",void 0);let Cf=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:ad,context:0,implicit:!0,optional:!0})],Cf.prototype,"subjectKeyIdentifier",void 0),Bu([Iu({type:Tf,context:1,implicit:!0,optional:!0})],Cf.prototype,"originatorKey",void 0),Bu([Iu({type:bf,optional:!0})],Cf.prototype,"issuerAndSerialNumber",void 0),Cf=Bu([Cu({type:Wl.Choice})],Cf);class If{constructor(t={}){this.version=hf.v3,this.originator=new Cf,this.keyEncryptionAlgorithm=new df,this.recipientEncryptedKeys=new xf,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],If.prototype,"version",void 0),Bu([Iu({type:Cf,context:0})],If.prototype,"originator",void 0),Bu([Iu({type:Jh,context:1,optional:!0})],If.prototype,"ukm",void 0),Bu([Iu({type:df})],If.prototype,"keyEncryptionAlgorithm",void 0),Bu([Iu({type:xf})],If.prototype,"recipientEncryptedKeys",void 0);let Rf=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:ad,context:0,implicit:!0})],Rf.prototype,"subjectKeyIdentifier",void 0),Bu([Iu({type:bf})],Rf.prototype,"issuerAndSerialNumber",void 0),Rf=Bu([Cu({type:Wl.Choice})],Rf);class kf{constructor(t={}){this.version=hf.v0,this.rid=new Rf,this.keyEncryptionAlgorithm=new df,this.encryptedKey=new Jh,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],kf.prototype,"version",void 0),Bu([Iu({type:Rf})],kf.prototype,"rid",void 0),Bu([Iu({type:df})],kf.prototype,"keyEncryptionAlgorithm",void 0),Bu([Iu({type:Jh})],kf.prototype,"encryptedKey",void 0);class Nf{constructor(t={}){this.keyIdentifier=new Jh,Object.assign(this,t)}}Bu([Iu({type:Jh})],Nf.prototype,"keyIdentifier",void 0),Bu([Iu({type:jl.GeneralizedTime,optional:!0})],Nf.prototype,"date",void 0),Bu([Iu({type:Af,optional:!0})],Nf.prototype,"other",void 0);class Of{constructor(t={}){this.version=hf.v4,this.kekid=new Nf,this.keyEncryptionAlgorithm=new df,this.encryptedKey=new Jh,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],Of.prototype,"version",void 0),Bu([Iu({type:Nf})],Of.prototype,"kekid",void 0),Bu([Iu({type:df})],Of.prototype,"keyEncryptionAlgorithm",void 0),Bu([Iu({type:Jh})],Of.prototype,"encryptedKey",void 0);class Bf{constructor(t={}){this.version=hf.v0,this.keyEncryptionAlgorithm=new df,this.encryptedKey=new Jh,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],Bf.prototype,"version",void 0),Bu([Iu({type:yf,context:0,optional:!0})],Bf.prototype,"keyDerivationAlgorithm",void 0),Bu([Iu({type:df})],Bf.prototype,"keyEncryptionAlgorithm",void 0),Bu([Iu({type:Jh})],Bf.prototype,"encryptedKey",void 0);class Pf{constructor(t={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Pf.prototype,"oriType",void 0),Bu([Iu({type:jl.Any})],Pf.prototype,"oriValue",void 0);let Df=class{constructor(t={}){Object.assign(this,t)}};var Lf;Bu([Iu({type:kf,optional:!0})],Df.prototype,"ktri",void 0),Bu([Iu({type:If,context:1,implicit:!0,optional:!0})],Df.prototype,"kari",void 0),Bu([Iu({type:Of,context:2,implicit:!0,optional:!0})],Df.prototype,"kekri",void 0),Bu([Iu({type:Bf,context:3,implicit:!0,optional:!0})],Df.prototype,"pwri",void 0),Bu([Iu({type:Pf,context:4,implicit:!0,optional:!0})],Df.prototype,"ori",void 0),Df=Bu([Cu({type:Wl.Choice})],Df);let Uf=Lf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Lf.prototype)}};var Mf;Uf=Lf=Bu([Cu({type:Wl.Set,itemType:Df})],Uf);class Ff{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Ff.prototype,"otherRevInfoFormat",void 0),Bu([Iu({type:jl.Any})],Ff.prototype,"otherRevInfo",void 0);let Hf=class{constructor(t={}){this.other=new Ff,Object.assign(this,t)}};Bu([Iu({type:Ff,context:1,implicit:!0})],Hf.prototype,"other",void 0),Hf=Bu([Cu({type:Wl.Choice})],Hf);let Wf=Mf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Mf.prototype)}};Wf=Mf=Bu([Cu({type:Wl.Set,itemType:Hf})],Wf);class jf{constructor(t={}){Object.assign(this,t)}}var Vf;Bu([Iu({type:of,context:0,implicit:!0,optional:!0})],jf.prototype,"certs",void 0),Bu([Iu({type:Wf,context:1,implicit:!0,optional:!0})],jf.prototype,"crls",void 0);let Gf=Vf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Vf.prototype)}};Gf=Vf=Bu([Cu({type:Wl.Set,itemType:Id})],Gf);class zf{constructor(t={}){this.version=hf.v0,this.recipientInfos=new Uf,this.encryptedContentInfo=new wf,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],zf.prototype,"version",void 0),Bu([Iu({type:jf,context:0,implicit:!0,optional:!0})],zf.prototype,"originatorInfo",void 0),Bu([Iu({type:Uf})],zf.prototype,"recipientInfos",void 0),Bu([Iu({type:wf})],zf.prototype,"encryptedContentInfo",void 0),Bu([Iu({type:Gf,context:1,implicit:!0,optional:!0})],zf.prototype,"unprotectedAttrs",void 0);let qf=class{constructor(t={}){Object.assign(this,t)}};var Qf;Bu([Iu({type:ad,context:0,implicit:!0})],qf.prototype,"subjectKeyIdentifier",void 0),Bu([Iu({type:bf})],qf.prototype,"issuerAndSerialNumber",void 0),qf=Bu([Cu({type:Wl.Choice})],qf);class Kf{constructor(t={}){this.version=hf.v0,this.sid=new qf,this.digestAlgorithm=new uf,this.signatureAlgorithm=new pf,this.signature=new Jh,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],Kf.prototype,"version",void 0),Bu([Iu({type:qf})],Kf.prototype,"sid",void 0),Bu([Iu({type:uf})],Kf.prototype,"digestAlgorithm",void 0),Bu([Iu({type:Id,repeated:"set",context:0,implicit:!0,optional:!0})],Kf.prototype,"signedAttrs",void 0),Bu([Iu({type:pf})],Kf.prototype,"signatureAlgorithm",void 0),Bu([Iu({type:Jh})],Kf.prototype,"signature",void 0),Bu([Iu({type:Id,repeated:"set",context:1,implicit:!0,optional:!0})],Kf.prototype,"unsignedAttrs",void 0);let Yf=Qf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Qf.prototype)}};var Jf;Yf=Qf=Bu([Cu({type:Wl.Set,itemType:Kf})],Yf);let Xf=Jf=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Jf.prototype)}};Xf=Jf=Bu([Cu({type:Wl.Set,itemType:uf})],Xf);class Zf{constructor(t={}){this.version=hf.v0,this.digestAlgorithms=new Xf,this.encapContentInfo=new lf,this.signerInfos=new Yf,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],Zf.prototype,"version",void 0),Bu([Iu({type:Xf})],Zf.prototype,"digestAlgorithms",void 0),Bu([Iu({type:lf})],Zf.prototype,"encapContentInfo",void 0),Bu([Iu({type:of,context:0,implicit:!0,optional:!0})],Zf.prototype,"certificates",void 0),Bu([Iu({type:Hf,context:1,implicit:!0,optional:!0})],Zf.prototype,"crls",void 0),Bu([Iu({type:Yf})],Zf.prototype,"signerInfos",void 0);const $f="1.2.840.10045.2.1",tg="1.2.840.10045.4.1",eg="1.2.840.10045.4.3.1",rg="1.2.840.10045.4.3.2",ig="1.2.840.10045.4.3.3",ng="1.2.840.10045.4.3.4",sg="1.2.840.10045.3.1.7",og="1.3.132.0.34",ag="1.3.132.0.35";function cg(t){return new fd({algorithm:t})}const lg=cg(tg),hg=(cg(eg),cg(rg)),ug=cg(ig),pg=cg(ng);let dg=class{constructor(t={}){Object.assign(this,t)}};Bu([Iu({type:jl.ObjectIdentifier})],dg.prototype,"namedCurve",void 0),dg=Bu([Cu({type:Wl.Choice})],dg);class fg{constructor(t={}){this.version=1,this.privateKey=new Jh,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],fg.prototype,"version",void 0),Bu([Iu({type:Jh})],fg.prototype,"privateKey",void 0),Bu([Iu({type:dg,context:0,optional:!0})],fg.prototype,"parameters",void 0),Bu([Iu({type:jl.BitString,context:1,optional:!0})],fg.prototype,"publicKey",void 0);class gg{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.Integer,converter:tu})],gg.prototype,"r",void 0),Bu([Iu({type:jl.Integer,converter:tu})],gg.prototype,"s",void 0);const yg="1.2.840.113549.1.1",mg=`${yg}.1`,wg=`${yg}.7`,bg=`${yg}.9`,Ag=`${yg}.10`,vg=`${yg}.2`,_g=`${yg}.4`,Eg=`${yg}.5`,Sg=`${yg}.14`,xg=`${yg}.11`,Tg=`${yg}.12`,Cg=`${yg}.13`,Ig=`${yg}.15`,Rg=`${yg}.16`,kg="1.3.14.3.2.26",Ng="2.16.840.1.101.3.4.2.4",Og="2.16.840.1.101.3.4.2.1",Bg="2.16.840.1.101.3.4.2.2",Pg="2.16.840.1.101.3.4.2.3",Dg=`${yg}.8`;function Lg(t){return new fd({algorithm:t,parameters:null})}Lg("1.2.840.113549.2.2"),Lg("1.2.840.113549.2.5");const Ug=Lg(kg),Mg=(Lg(Ng),Lg(Og),Lg(Bg),Lg(Pg),Lg("2.16.840.1.101.3.4.2.5"),Lg("2.16.840.1.101.3.4.2.6"),new fd({algorithm:Dg,parameters:Ou.serialize(Ug)})),Fg=new fd({algorithm:bg,parameters:Ou.serialize(nu.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Lg(mg),Lg(vg),Lg(_g),Lg(Eg),Lg(Ig),Lg(Rg),Lg(Tg),Lg(Cg),Lg(Ig),Lg(Rg);class Hg{constructor(t={}){this.hashAlgorithm=new fd(Ug),this.maskGenAlgorithm=new fd({algorithm:Dg,parameters:Ou.serialize(Ug)}),this.pSourceAlgorithm=new fd(Fg),Object.assign(this,t)}}Bu([Iu({type:fd,context:0,defaultValue:Ug})],Hg.prototype,"hashAlgorithm",void 0),Bu([Iu({type:fd,context:1,defaultValue:Mg})],Hg.prototype,"maskGenAlgorithm",void 0),Bu([Iu({type:fd,context:2,defaultValue:Fg})],Hg.prototype,"pSourceAlgorithm",void 0),new fd({algorithm:wg,parameters:Ou.serialize(new Hg)});class Wg{constructor(t={}){this.hashAlgorithm=new fd(Ug),this.maskGenAlgorithm=new fd({algorithm:Dg,parameters:Ou.serialize(Ug)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}Bu([Iu({type:fd,context:0,defaultValue:Ug})],Wg.prototype,"hashAlgorithm",void 0),Bu([Iu({type:fd,context:1,defaultValue:Mg})],Wg.prototype,"maskGenAlgorithm",void 0),Bu([Iu({type:jl.Integer,context:2,defaultValue:20})],Wg.prototype,"saltLength",void 0),Bu([Iu({type:jl.Integer,context:3,defaultValue:1})],Wg.prototype,"trailerField",void 0),new fd({algorithm:Ag,parameters:Ou.serialize(new Wg)});class jg{constructor(t={}){this.digestAlgorithm=new fd,this.digest=new Jh,Object.assign(this,t)}}var Vg;Bu([Iu({type:fd})],jg.prototype,"digestAlgorithm",void 0),Bu([Iu({type:Jh})],jg.prototype,"digest",void 0);class Gg{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.Integer,converter:tu})],Gg.prototype,"prime",void 0),Bu([Iu({type:jl.Integer,converter:tu})],Gg.prototype,"exponent",void 0),Bu([Iu({type:jl.Integer,converter:tu})],Gg.prototype,"coefficient",void 0);let zg=Vg=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Vg.prototype)}};zg=Vg=Bu([Cu({type:Wl.Sequence,itemType:Gg})],zg);class qg{constructor(t={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],qg.prototype,"version",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"modulus",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"publicExponent",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"privateExponent",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"prime1",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"prime2",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"exponent1",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"exponent2",void 0),Bu([Iu({type:jl.Integer,converter:tu})],qg.prototype,"coefficient",void 0),Bu([Iu({type:zg,optional:!0})],qg.prototype,"otherPrimeInfos",void 0);class Qg{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}function Kg(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}var Yg;Bu([Iu({type:jl.Integer,converter:tu})],Qg.prototype,"modulus",void 0),Bu([Iu({type:jl.Integer,converter:tu})],Qg.prototype,"publicExponent",void 0),Object.create,Object.create,function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"}(Yg||(Yg={}));const Jg=Yg;
80
+ function Fc(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Hc(t){let e=0,r=0;for(let r=0;r<t.length;r++)e+=t[r].byteLength;const i=new Uint8Array(e);for(let e=0;e<t.length;e++){const n=t[e];i.set(new Uint8Array(n),r),r+=n.byteLength}return i.buffer}function Wc(t,e,r,i){return e instanceof Uint8Array?e.byteLength?r<0?(t.error="Wrong parameter: inputOffset less than zero",!1):i<0?(t.error="Wrong parameter: inputLength less than zero",!1):!(e.byteLength-r-i<0&&(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",1)):(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}Math.log(2);class jc{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Hc(this.items)}}const Vc=[new Uint8Array([1])],Gc="0123456789",zc="name",qc="valueHexView",Qc="",Kc=new ArrayBuffer(0),Yc=new Uint8Array(0),Jc="EndOfContent",Xc="OCTET STRING",Zc="BIT STRING";function $c(t){var e;return(e=class extends t{constructor(...t){var e;super(...t);const r=t[0]||{};this.isHexOnly=null!==(e=r.isHexOnly)&&void 0!==e&&e,this.valueHexView=r.valueHex?Bc.vJ.toUint8Array(r.valueHex):Yc}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(t){this.valueHexView=new Uint8Array(t)}fromBER(t,e,r){const i=t instanceof ArrayBuffer?new Uint8Array(t):t;if(!Wc(this,i,e,r))return-1;const n=e+r;return this.valueHexView=i.subarray(e,n),this.valueHexView.length?(this.blockLength=r,n):(this.warnings.push("Zero buffer length"),e)}toBER(t=!1){return this.isHexOnly?t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",Kc)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Bc.ep.ToHex(this.valueHexView)}}}).NAME="hexBlock",e}class tl{constructor({blockLength:t=0,error:e="",warnings:r=[],valueBeforeDecode:i=Yc}={}){this.blockLength=t,this.error=e,this.warnings=r,this.valueBeforeDecodeView=Bc.vJ.toUint8Array(i)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Bc.ep.ToHex(this.valueBeforeDecodeView)}}}tl.NAME="baseBlock";class el extends tl{fromBER(t,e,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}el.NAME="valueBlock";class rl extends($c(tl)){constructor({idBlock:t={}}={}){var e,r,i,n;super(),t?(this.isHexOnly=null!==(e=t.isHexOnly)&&void 0!==e&&e,this.valueHexView=t.valueHex?Bc.vJ.toUint8Array(t.valueHex):Yc,this.tagClass=null!==(r=t.tagClass)&&void 0!==r?r:-1,this.tagNumber=null!==(i=t.tagNumber)&&void 0!==i?i:-1,this.isConstructed=null!==(n=t.isConstructed)&&void 0!==n&&n):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",Kc}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){const r=new Uint8Array(1);if(!t){let t=this.tagNumber;t&=31,e|=t,r[0]=e}return r.buffer}if(!this.isHexOnly){const r=Dc(this.tagNumber,7),i=new Uint8Array(r),n=r.byteLength,s=new Uint8Array(n+1);if(s[0]=31|e,!t){for(let t=0;t<n-1;t++)s[t+1]=128|i[t];s[n]=i[n-1]}return s.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=31|e,!t){const t=this.valueHexView;for(let e=0;e<t.length-1;e++)r[e+1]=128|t[e];r[this.valueHexView.byteLength]=t[t.length-1]}return r.buffer}fromBER(t,e,r){const i=Bc.vJ.toUint8Array(t);if(!Wc(this,i,e,r))return-1;const n=i.subarray(e,e+r);if(0===n.length)return this.error="Zero buffer length",-1;switch(192&n[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=!(32&~n[0]),this.isHexOnly=!1;const s=31&n[0];if(31!==s)this.tagNumber=s,this.blockLength=1;else{let t=1,e=this.valueHexView=new Uint8Array(255),r=255;for(;128&n[t];){if(e[t-1]=127&n[t],t++,t>=n.length)return this.error="End of input reached before message was fully decoded",-1;if(t===r){r+=255;const t=new Uint8Array(r);for(let r=0;r<e.length;r++)t[r]=e[r];e=this.valueHexView=new Uint8Array(r)}}this.blockLength=t+1,e[t-1]=127&n[t];const i=new Uint8Array(t);for(let r=0;r<t;r++)i[r]=e[r];e=this.valueHexView=new Uint8Array(t),e.set(i),this.blockLength<=9?this.tagNumber=Pc(e,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}rl.NAME="identificationBlock";class il extends tl{constructor({lenBlock:t={}}={}){var e,r,i;super(),this.isIndefiniteForm=null!==(e=t.isIndefiniteForm)&&void 0!==e&&e,this.longFormUsed=null!==(r=t.longFormUsed)&&void 0!==r&&r,this.length=null!==(i=t.length)&&void 0!==i?i:0}fromBER(t,e,r){const i=Bc.vJ.toUint8Array(t);if(!Wc(this,i,e,r))return-1;const n=i.subarray(e,e+r);if(0===n.length)return this.error="Zero buffer length",-1;if(255===n[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===n[0],this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(128&n[0]),!1===this.longFormUsed)return this.length=n[0],this.blockLength=1,e+this.blockLength;const s=127&n[0];if(s>8)return this.error="Too big integer",-1;if(s+1>n.length)return this.error="End of input reached before message was fully decoded",-1;const o=e+1,a=i.subarray(o,o+s);return 0===a[s-1]&&this.warnings.push("Needlessly long encoded length"),this.length=Pc(a,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,e+this.blockLength}toBER(t=!1){let e,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===t&&(r=new Uint8Array(e),r[0]=128),e;if(this.longFormUsed){const i=Dc(this.length,8);if(i.byteLength>127)return this.error="Too big length",Kc;if(e=new ArrayBuffer(i.byteLength+1),t)return e;const n=new Uint8Array(i);r=new Uint8Array(e),r[0]=128|i.byteLength;for(let t=0;t<i.byteLength;t++)r[t+1]=n[t];return e}return e=new ArrayBuffer(1),!1===t&&(r=new Uint8Array(e),r[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}il.NAME="lengthBlock";const nl={};class sl extends tl{constructor({name:t="",optional:e=!1,primitiveSchema:r,...i}={},n){super(i),this.name=t,this.optional=e,r&&(this.primitiveSchema=r),this.idBlock=new rl(i),this.lenBlock=new il(i),this.valueBlock=n?new n(i):new el(i)}fromBER(t,e,r){const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(t,e){const r=e||new jc;e||ol(this);const i=this.idBlock.toBER(t);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,r),r.write(new ArrayBuffer(2));else{const e=this.valueBlock.toBER(t);this.lenBlock.length=e.byteLength;const i=this.lenBlock.toBER(t);r.write(i),r.write(e)}return e?Kc:r.final()}toJSON(){const t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return"ascii"===t?this.onAsciiEncoding():Bc.ep.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Bc.ep.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){return this===t||t instanceof this.constructor&&function(t,e){if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let t=0;t<r.length;t++)if(r[t]!==i[t])return!1;return!0}(this.toBER(),t.toBER())}}function ol(t){if(t instanceof nl.Constructed)for(const e of t.valueBlock.value)ol(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}sl.NAME="BaseBlock";class al extends sl{constructor({value:t="",...e}={},r){super(e,r),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,r){const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}al.NAME="BaseStringBlock";class cl extends($c(el)){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}}var ll,hl,ul,pl,dl,fl,gl,yl,ml,wl,bl,Al,vl,_l,El,Sl,xl,Tl,Cl,Il,Rl,kl,Nl,Ol,Bl,Pl,Dl,Ll,Ul,Ml,Fl,Hl,Wl,jl,Vl;cl.NAME="PrimitiveValueBlock";class Gl extends sl{constructor(t={}){super(t,cl),this.idBlock.isConstructed=!1}}function zl(t,e=0,r=t.length){const i=e;let n=new sl({},el);const s=new tl;if(!Wc(s,t,e,r))return n.error=s.error,{offset:-1,result:n};if(!t.subarray(e,e+r).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(t,e,r);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),-1===o)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,r-=n.idBlock.blockLength,o=n.lenBlock.fromBER(t,e,r),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),-1===o)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,r-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let a=sl;if(1===n.idBlock.tagClass){if(n.idBlock.tagNumber>=37&&!1===n.idBlock.isHexOnly)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};a=nl.EndOfContent;break;case 1:a=nl.Boolean;break;case 2:a=nl.Integer;break;case 3:a=nl.BitString;break;case 4:a=nl.OctetString;break;case 5:a=nl.Null;break;case 6:a=nl.ObjectIdentifier;break;case 10:a=nl.Enumerated;break;case 12:a=nl.Utf8String;break;case 13:a=nl.RelativeObjectIdentifier;break;case 14:a=nl.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:a=nl.Sequence;break;case 17:a=nl.Set;break;case 18:a=nl.NumericString;break;case 19:a=nl.PrintableString;break;case 20:a=nl.TeletexString;break;case 21:a=nl.VideotexString;break;case 22:a=nl.IA5String;break;case 23:a=nl.UTCTime;break;case 24:a=nl.GeneralizedTime;break;case 25:a=nl.GraphicString;break;case 26:a=nl.VisibleString;break;case 27:a=nl.GeneralString;break;case 28:a=nl.UniversalString;break;case 29:a=nl.CharacterString;break;case 30:a=nl.BmpString;break;case 31:a=nl.DATE;break;case 32:a=nl.TimeOfDay;break;case 33:a=nl.DateTime;break;case 34:a=nl.Duration;break;default:{const t=n.idBlock.isConstructed?new nl.Constructed:new nl.Primitive;t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,n=t}}}else a=n.idBlock.isConstructed?nl.Constructed:nl.Primitive;return n=function(t,e){if(t instanceof e)return t;const r=new e;return r.idBlock=t.idBlock,r.lenBlock=t.lenBlock,r.warnings=t.warnings,r.valueBeforeDecodeView=t.valueBeforeDecodeView,r}(n,a),o=n.fromBER(t,e,n.lenBlock.isIndefiniteForm?r:n.lenBlock.length),n.valueBeforeDecodeView=t.subarray(i,i+n.blockLength),{offset:o,result:n}}function ql(t){if(!t.byteLength){const t=new sl({},el);return t.error="Input buffer has zero length",{offset:-1,result:t}}return zl(Bc.vJ.toUint8Array(t).slice(),0,t.byteLength)}function Ql(t,e){return t?1:e}ll=Gl,nl.Primitive=ll,Gl.NAME="PRIMITIVE";class Kl extends el{constructor({value:t=[],isIndefiniteForm:e=!1,...r}={}){super(r),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,r){const i=Bc.vJ.toUint8Array(t);if(!Wc(this,i,e,r))return-1;if(this.valueBeforeDecodeView=i.subarray(e,e+r),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),e;let n=e;for(;Ql(this.isIndefiniteForm,r)>0;){const t=zl(i,n,r);if(-1===t.offset)return this.error=t.result.error,this.warnings.concat(t.result.warnings),-1;if(n=t.offset,this.blockLength+=t.result.blockLength,r-=t.result.blockLength,this.value.push(t.result),this.isIndefiniteForm&&t.result.constructor.NAME===Jc)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Jc?this.value.pop():this.warnings.push("No EndOfContent block encoded")),n}toBER(t,e){const r=e||new jc;for(let e=0;e<this.value.length;e++)this.value[e].toBER(t,r);return e?Kc:r.final()}toJSON(){const t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const e of this.value)t.value.push(e.toJSON());return t}}Kl.NAME="ConstructedValueBlock";class Yl extends sl{constructor(t={}){super(t,Kl),this.idBlock.isConstructed=!0}fromBER(t,e,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const t=[];for(const e of this.valueBlock.value)t.push(e.toString("ascii").split("\n").map((t=>` ${t}`)).join("\n"));const e=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :\n${t.join("\n")}`:`${e} :`}}hl=Yl,nl.Constructed=hl,Yl.NAME="CONSTRUCTED";class Jl extends el{fromBER(t,e,r){return e}toBER(t){return Kc}}Jl.override="EndOfContentValueBlock";class Xl extends sl{constructor(t={}){super(t,Jl),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}ul=Xl,nl.EndOfContent=ul,Xl.NAME=Jc;class Zl extends sl{constructor(t={}){super(t,el),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,e+r>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+r}toBER(t,e){const r=new ArrayBuffer(2);if(!t){const t=new Uint8Array(r);t[0]=5,t[1]=0}return e&&e.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}pl=Zl,nl.Null=pl,Zl.NAME="NULL";class $l extends($c(el)){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Bc.vJ.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(const t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,r){const i=Bc.vJ.toUint8Array(t);return Wc(this,i,e,r)?(this.valueHexView=i.subarray(e,e+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Uc.call(this),this.blockLength=r,e+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}$l.NAME="BooleanValueBlock";class th extends sl{constructor(t={}){super(t,$l),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}dl=th,nl.Boolean=dl,th.NAME="BOOLEAN";class eh extends($c(Kl)){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=Kl.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.NAME;if(e===Jc){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==Xc)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(t,e,r),this.blockLength=r;return i}toBER(t,e){return this.isConstructed?Kl.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}eh.NAME="OctetStringValueBlock";class rh extends sl{constructor({idBlock:t={},lenBlock:e={},...r}={}){var i,n;null!==(i=r.isConstructed)&&void 0!==i||(r.isConstructed=!!(null===(n=r.value)||void 0===n?void 0:n.length)),super({idBlock:{isConstructed:r.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!r.isIndefiniteForm},...r},eh),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===r)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){const i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+r);try{if(i.byteLength){const t=zl(i,0,i.byteLength);-1!==t.offset&&t.offset===r&&(this.valueBlock.value=[t.result])}}catch(t){}}return super.fromBER(t,e,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?Yl.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Bc.ep.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const t=[];for(const e of this.valueBlock.value)e instanceof rh&&t.push(e.valueBlock.valueHexView);return Bc.vJ.concat(t)}}fl=rh,nl.OctetString=fl,rh.NAME=Xc;class ih extends($c(Kl)){constructor({unusedBits:t=0,isConstructed:e=!1,...r}={}){super(r),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,r){if(!r)return e;let i=-1;if(this.isConstructed){if(i=Kl.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(const t of this.value){const e=t.constructor.NAME;if(e===Jc){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==Zc)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const r=t.valueBlock;if(this.unusedBits>0&&r.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=r.unusedBits}return i}const n=Bc.vJ.toUint8Array(t);if(!Wc(this,n,e,r))return-1;const s=n.subarray(e,e+r);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const e=s.subarray(1);try{if(e.byteLength){const t=zl(e,0,e.byteLength);-1!==t.offset&&t.offset===r-1&&(this.value=[t.result])}}catch(t){}}return this.valueHexView=s.subarray(1),this.blockLength=s.length,e+r}toBER(t,e){if(this.isConstructed)return Kl.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return Kc;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}ih.NAME="BitStringValueBlock";class nh extends sl{constructor({idBlock:t={},lenBlock:e={},...r}={}){var i,n;null!==(i=r.isConstructed)&&void 0!==i||(r.isConstructed=!!(null===(n=r.value)||void 0===n?void 0:n.length)),super({idBlock:{isConstructed:r.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!r.isIndefiniteForm},...r},ih),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return Yl.prototype.onAsciiEncoding.call(this);{const t=[],e=this.valueBlock.valueHexView;for(const r of e)t.push(r.toString(2).padStart(8,"0"));const r=t.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}}function sh(t,e){const r=new Uint8Array([0]),i=new Uint8Array(t),n=new Uint8Array(e);let s=i.slice(0);const o=s.length-1,a=n.slice(0),c=a.length-1;let l=0,h=0;for(let t=c<o?o:c;t>=0;t--,h++)l=1==h<a.length?s[o-h]+a[c-h]+r[0]:s[o-h]+r[0],r[0]=l/10,1==h>=s.length?s=Lc(new Uint8Array([l%10]),s):s[o-h]=l%10;return r[0]>0&&(s=Lc(r,s)),s}function oh(t){if(t>=Vc.length)for(let e=Vc.length;e<=t;e++){const t=new Uint8Array([0]);let r=Vc[e-1].slice(0);for(let e=r.length-1;e>=0;e--){const i=new Uint8Array([(r[e]<<1)+t[0]]);t[0]=i[0]/10,r[e]=i[0]%10}t[0]>0&&(r=Lc(t,r)),Vc.push(r)}return Vc[t]}function ah(t,e){let r=0;const i=new Uint8Array(t),n=new Uint8Array(e),s=i.slice(0),o=s.length-1,a=n.slice(0),c=a.length-1;let l,h=0;for(let t=c;t>=0;t--,h++)l=s[o-h]-a[c-h]-r,1==l<0?(r=1,s[o-h]=l+10):(r=0,s[o-h]=l);if(r>0)for(let t=o-c+1;t>=0;t--,h++){if(l=s[o-h]-r,!(l<0)){r=0,s[o-h]=l;break}r=1,s[o-h]=l+10}return s.slice()}gl=nh,nl.BitString=gl,nh.NAME=Zc;class ch extends($c(el)){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),void 0!==t&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Uc.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(function(t){const e=t<0?-1*t:t;let r=128;for(let i=1;i<8;i++){if(e<=r){if(t<0){const t=Dc(r-e,8,i);return new Uint8Array(t)[0]|=128,t}let n=Dc(e,8,i),s=new Uint8Array(n);if(128&s[0]){const t=n.slice(0),e=new Uint8Array(t);n=new ArrayBuffer(n.byteLength+1),s=new Uint8Array(n);for(let r=0;r<t.byteLength;r++)s[r+1]=e[r];s[0]=0}return n}r*=Math.pow(2,8)}return new ArrayBuffer(0)}(t))}get valueDec(){return this._valueDec}fromDER(t,e,r,i=0){const n=this.fromBER(t,e,r);if(-1===n)return n;const s=this.valueHexView;return 0===s[0]&&128&s[1]?this.valueHexView=s.subarray(1):0!==i&&s.length<i&&(i-s.length>1&&(i=s.length+1),this.valueHexView=s.subarray(i-s.length)),n}toDER(t=!1){const e=this.valueHexView;switch(!0){case!!(128&e[0]):{const t=new Uint8Array(this.valueHexView.length+1);t[0]=0,t.set(e,1),this.valueHexView=t}break;case 0===e[0]&&!(128&e[1]):this.valueHexView=this.valueHexView.subarray(1)}return this.toBER(t)}fromBER(t,e,r){const i=super.fromBER(t,e,r);return-1===i||this.setValueHex(),i}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const t=8*this.valueHexView.length-1;let e,r=new Uint8Array(8*this.valueHexView.length/3),i=0;const n=this.valueHexView;let s="",o=!1;for(let o=n.byteLength-1;o>=0;o--){e=n[o];for(let n=0;n<8;n++)1&~e||(i===t?(r=ah(oh(i),r),s="-"):r=sh(r,oh(i))),i++,e>>=1}for(let t=0;t<r.length;t++)r[t]&&(o=!0),o&&(s+=Gc.charAt(r[t]));return!1===o&&(s+=Gc.charAt(0)),s}}yl=ch,ch.NAME="IntegerValueBlock",Object.defineProperty(yl.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class lh extends sl{constructor(t={}){super(t,ch),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return Fc(),BigInt(this.valueBlock.toString())}static fromBigInt(t){Fc();const e=BigInt(t),r=new jc,i=e.toString(16).replace(/^-/,""),n=new Uint8Array(Bc.ep.FromHex(i));if(e<0){const t=new Uint8Array(n.length+(128&n[0]?1:0));t[0]|=128;const i=BigInt(`0x${Bc.ep.ToHex(t)}`)+e,s=Bc.vJ.toUint8Array(Bc.ep.FromHex(i.toString(16)));s[0]|=128,r.write(s)}else 128&n[0]&&r.write(new Uint8Array([0])),r.write(n);return new lh({valueHex:r.final()})}convertToDER(){const t=new lh({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new lh({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}ml=lh,nl.Integer=ml,lh.NAME="INTEGER";class hh extends lh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}wl=hh,nl.Enumerated=wl,hh.NAME="ENUMERATED";class uh extends($c(el)){constructor({valueDec:t=-1,isFirstSid:e=!1,...r}={}){super(r),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,r){if(!r)return e;const i=Bc.vJ.toUint8Array(t);if(!Wc(this,i,e,r))return-1;const n=i.subarray(e,e+r);this.valueHexView=new Uint8Array(r);for(let t=0;t<r&&(this.valueHexView[t]=127&n[t],this.blockLength++,128&n[t]);t++);const s=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)s[t]=this.valueHexView[t];return this.valueHexView=s,128&n[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Pc(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){Fc();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;const r=new Uint8Array(e.length/7);for(let t=0;t<r.length;t++)r[t]=parseInt(e.slice(7*t,7*t+7),2)+(t+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,r=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)r[t]=128|e[t];return r[this.blockLength-1]=e[this.blockLength-1],r.buffer}const e=Dc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",Kc;const r=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),i=e.byteLength-1;for(let e=0;e<i;e++)r[e]=128|t[e];r[i]=t[i]}return r}toString(){let t="";if(this.isHexOnly)t=Bc.ep.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}uh.NAME="sidBlock";class ph extends el{constructor({value:t="",...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,r){let i=e;for(;r>0;){const e=new uh;if(i=e.fromBER(t,i,r),-1===i)return this.blockLength=0,this.error=e.error,i;0===this.value.length&&(e.isFirstSid=!0),this.blockLength+=e.blockLength,r-=e.blockLength,this.value.push(e)}return i}toBER(t){const e=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(t);if(0===i.byteLength)return this.error=this.value[r].error,Kc;e.push(i)}return Hc(e)}fromString(t){this.value=[];let e=0,r=0,i="",n=!1;do{if(r=t.indexOf(".",e),i=-1===r?t.substring(e):t.substring(e,r),e=r+1,n){const t=this.value[0];let e=0;switch(t.valueDec){case 0:break;case 1:e=40;break;case 2:e=80;break;default:return void(this.value=[])}const r=parseInt(i,10);if(isNaN(r))return;t.valueDec=r+e,n=!1}else{const t=new uh;if(i>Number.MAX_SAFE_INTEGER){Fc();const e=BigInt(i);t.valueBigInt=e}else if(t.valueDec=parseInt(i,10),isNaN(t.valueDec))return;this.value.length||(t.isFirstSid=!0,n=!0),this.value.push(t)}}while(-1!==r)}toString(){let t="",e=!1;for(let r=0;r<this.value.length;r++){e=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(t=`${t}.`),e?(i=`{${i}}`,this.value[r].isFirstSid?t=`2.{${i} - 80}`:t+=i):t+=i}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}ph.NAME="ObjectIdentifierValueBlock";class dh extends sl{constructor(t={}){super(t,ph),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}bl=dh,nl.ObjectIdentifier=bl,dh.NAME="OBJECT IDENTIFIER";class fh extends($c(tl)){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,r){if(0===r)return e;const i=Bc.vJ.toUint8Array(t);if(!Wc(this,i,e,r))return-1;const n=i.subarray(e,e+r);this.valueHexView=new Uint8Array(r);for(let t=0;t<r&&(this.valueHexView[t]=127&n[t],this.blockLength++,128&n[t]);t++);const s=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)s[t]=this.valueHexView[t];return this.valueHexView=s,128&n[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Pc(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,r=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)r[t]=128|e[t];return r[this.blockLength-1]=e[this.blockLength-1],r.buffer}const e=Dc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",Kc;const r=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),i=e.byteLength-1;for(let e=0;e<i;e++)r[e]=128|t[e];r[i]=t[i]}return r.buffer}toString(){let t="";return t=this.isHexOnly?Bc.ep.ToHex(this.valueHexView):this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}fh.NAME="relativeSidBlock";class gh extends el{constructor({value:t="",...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,r){let i=e;for(;r>0;){const e=new fh;if(i=e.fromBER(t,i,r),-1===i)return this.blockLength=0,this.error=e.error,i;this.blockLength+=e.blockLength,r-=e.blockLength,this.value.push(e)}return i}toBER(t,e){const r=[];for(let e=0;e<this.value.length;e++){const i=this.value[e].toBER(t);if(0===i.byteLength)return this.error=this.value[e].error,Kc;r.push(i)}return Hc(r)}fromString(t){this.value=[];let e=0,r=0,i="";do{r=t.indexOf(".",e),i=-1===r?t.substring(e):t.substring(e,r),e=r+1;const n=new fh;if(n.valueDec=parseInt(i,10),isNaN(n.valueDec))return!0;this.value.push(n)}while(-1!==r);return!0}toString(){let t="",e=!1;for(let r=0;r<this.value.length;r++){e=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(t=`${t}.`),e?(i=`{${i}}`,t+=i):t+=i}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}gh.NAME="RelativeObjectIdentifierValueBlock";class yh extends sl{constructor(t={}){super(t,gh),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}Al=yh,nl.RelativeObjectIdentifier=Al,yh.NAME="RelativeObjectIdentifier";class mh extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}vl=mh,nl.Sequence=vl,mh.NAME="SEQUENCE";class wh extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}_l=wh,nl.Set=_l,wh.NAME="SET";class bh extends($c(el)){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Qc}toJSON(){return{...super.toJSON(),value:this.value}}}bh.NAME="StringValueBlock";class Ah extends bh{}Ah.NAME="SimpleStringValueBlock";class vh extends al{constructor({...t}={}){super(t,Ah)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Bc.vJ.toUint8Array(t))}fromString(t){const e=t.length,r=this.valueBlock.valueHexView=new Uint8Array(e);for(let i=0;i<e;i++)r[i]=t.charCodeAt(i);this.valueBlock.value=t}}vh.NAME="SIMPLE STRING";class _h extends vh{fromBuffer(t){this.valueBlock.valueHexView=Bc.vJ.toUint8Array(t);try{this.valueBlock.value=Bc.ep.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Bc.ep.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Bc.ep.FromUtf8String(t)),this.valueBlock.value=t}}_h.NAME="Utf8StringValueBlock";class Eh extends _h{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}El=Eh,nl.Utf8String=El,Eh.NAME="UTF8String";class Sh extends vh{fromBuffer(t){this.valueBlock.value=Bc.ep.ToUtf16String(t),this.valueBlock.valueHexView=Bc.vJ.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Bc.ep.FromUtf16String(t))}}Sh.NAME="BmpStringValueBlock";class xh extends Sh{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Sl=xh,nl.BmpString=Sl,xh.NAME="BMPString";class Th extends vh{fromBuffer(t){const e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),r=new Uint8Array(e);for(let t=0;t<r.length;t+=4)r[t]=r[t+3],r[t+1]=r[t+2],r[t+2]=0,r[t+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){const e=t.length,r=this.valueBlock.valueHexView=new Uint8Array(4*e);for(let i=0;i<e;i++){const e=Dc(t.charCodeAt(i),8),n=new Uint8Array(e);if(n.length>4)continue;const s=4-n.length;for(let t=n.length-1;t>=0;t--)r[4*i+t+s]=n[t]}this.valueBlock.value=t}}Th.NAME="UniversalStringValueBlock";class Ch extends Th{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}xl=Ch,nl.UniversalString=xl,Ch.NAME="UniversalString";class Ih extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Tl=Ih,nl.NumericString=Tl,Ih.NAME="NumericString";class Rh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Cl=Rh,nl.PrintableString=Cl,Rh.NAME="PrintableString";class kh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}Il=kh,nl.TeletexString=Il,kh.NAME="TeletexString";class Nh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}Rl=Nh,nl.VideotexString=Rl,Nh.NAME="VideotexString";class Oh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}kl=Oh,nl.IA5String=kl,Oh.NAME="IA5String";class Bh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}Nl=Bh,nl.GraphicString=Nl,Bh.NAME="GraphicString";class Ph extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Ol=Ph,nl.VisibleString=Ol,Ph.NAME="VisibleString";class Dh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Bl=Dh,nl.GeneralString=Bl,Dh.NAME="GeneralString";class Lh extends vh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}Pl=Lh,nl.CharacterString=Pl,Lh.NAME="CharacterString";class Uh extends Ph{constructor({value:t,valueDate:e,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let e=0;e<t.length;e++)this.valueBlock.valueHexView[e]=t.charCodeAt(e)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Bc.vJ.toUint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),r=new Uint8Array(e);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){const e=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(t);if(null===e)return void(this.error="Wrong input string for conversion");const r=parseInt(e[1],10);this.year=r>=50?1900+r:2e3+r,this.month=parseInt(e[2],10),this.day=parseInt(e[3],10),this.hour=parseInt(e[4],10),this.minute=parseInt(e[5],10),this.second=parseInt(e[6],10)}toString(t="iso"){if("iso"===t){const t=new Array(7);return t[0]=Mc(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Mc(this.month,2),t[2]=Mc(this.day,2),t[3]=Mc(this.hour,2),t[4]=Mc(this.minute,2),t[5]=Mc(this.second,2),t[6]="Z",t.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Dl=Uh,nl.UTCTime=Dl,Uh.NAME="UTCTime";class Mh extends Uh{constructor(t={}){var e;super(t),null!==(e=this.millisecond)&&void 0!==e||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e,r=!1,i="",n="",s=0,o=0,a=0;if("Z"===t[t.length-1])i=t.substring(0,t.length-1),r=!0;else{const e=new Number(t[t.length-1]);if(isNaN(e.valueOf()))throw new Error("Wrong input string for conversion");i=t}if(r){if(-1!==i.indexOf("+"))throw new Error("Wrong input string for conversion");if(-1!==i.indexOf("-"))throw new Error("Wrong input string for conversion")}else{let t=1,e=i.indexOf("+"),r="";if(-1===e&&(e=i.indexOf("-"),t=-1),-1!==e){if(r=i.substring(e+1),i=i.substring(0,e),2!==r.length&&4!==r.length)throw new Error("Wrong input string for conversion");let n=parseInt(r.substring(0,2),10);if(isNaN(n.valueOf()))throw new Error("Wrong input string for conversion");if(o=t*n,4===r.length){if(n=parseInt(r.substring(2,4),10),isNaN(n.valueOf()))throw new Error("Wrong input string for conversion");a=t*n}}}let c=i.indexOf(".");if(-1===c&&(c=i.indexOf(",")),-1!==c){const t=new Number(`0${i.substring(c)}`);if(isNaN(t.valueOf()))throw new Error("Wrong input string for conversion");s=t.valueOf(),n=i.substring(0,c)}else n=i;switch(!0){case 8===n.length:if(e=/(\d{4})(\d{2})(\d{2})/gi,-1!==c)throw new Error("Wrong input string for conversion");break;case 10===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*s;this.minute=Math.floor(t),t=60*(t-this.minute),this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 12===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*s;this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 14===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){const t=1e3*s;this.millisecond=Math.floor(t)}break;default:throw new Error("Wrong input string for conversion")}const l=e.exec(n);if(null===l)throw new Error("Wrong input string for conversion");for(let t=1;t<l.length;t++)switch(t){case 1:this.year=parseInt(l[t],10);break;case 2:this.month=parseInt(l[t],10);break;case 3:this.day=parseInt(l[t],10);break;case 4:this.hour=parseInt(l[t],10)+o;break;case 5:this.minute=parseInt(l[t],10)+a;break;case 6:this.second=parseInt(l[t],10);break;default:throw new Error("Wrong input string for conversion")}if(!1===r){const t=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth(),this.day=t.getUTCDay(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}}toString(t="iso"){if("iso"===t){const t=[];return t.push(Mc(this.year,4)),t.push(Mc(this.month,2)),t.push(Mc(this.day,2)),t.push(Mc(this.hour,2)),t.push(Mc(this.minute,2)),t.push(Mc(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(Mc(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Ll=Mh,nl.GeneralizedTime=Ll,Mh.NAME="GeneralizedTime";class Fh extends Eh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}Ul=Fh,nl.DATE=Ul,Fh.NAME="DATE";class Hh extends Eh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Ml=Hh,nl.TimeOfDay=Ml,Hh.NAME="TimeOfDay";class Wh extends Eh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Fl=Wh,nl.DateTime=Fl,Wh.NAME="DateTime";class jh extends Eh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}Hl=jh,nl.Duration=Hl,jh.NAME="Duration";class Vh extends Eh{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}Wl=Vh,nl.TIME=Wl,Vh.NAME="TIME";class Gh{constructor({name:t="",optional:e=!1}={}){this.name=t,this.optional=e}}class zh extends Gh{constructor({value:t=[],...e}={}){super(e),this.value=t}}class qh extends Gh{constructor({value:t=new Gh,local:e=!1,...r}={}){super(r),this.value=t,this.local=e}}class Qh{constructor({data:t=Yc}={}){this.dataView=Bc.vJ.toUint8Array(t)}get data(){return this.dataView.slice().buffer}set data(t){this.dataView=Bc.vJ.toUint8Array(t)}fromBER(t,e,r){const i=e+r;return this.dataView=Bc.vJ.toUint8Array(t).subarray(e,i),i}toBER(t){return this.dataView.slice().buffer}}function Kh(t,e,r){if(r instanceof zh){for(let i=0;i<r.value.length;i++)if(Kh(t,e,r.value[i]).verified)return{verified:!0,result:t};{const t={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(zc)&&(t.name=r.name),t}}if(r instanceof Gh)return r.hasOwnProperty(zc)&&(t[r.name]=e),{verified:!0,result:t};if(t instanceof Object==0)return{verified:!1,result:{error:"Wrong root object"}};if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(r instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("idBlock"in r==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("fromBER"in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if("toBER"in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=r.idBlock.toBER(!1);if(0===i.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===r.idBlock.fromBER(i,0,i.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===r.idBlock.hasOwnProperty("tagClass"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(!1===r.idBlock.hasOwnProperty("tagNumber"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(!1===r.idBlock.hasOwnProperty("isConstructed"))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!("isHexOnly"in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(r.idBlock.isHexOnly){if(qc in r.idBlock==0)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=r.idBlock.valueHexView,n=e.idBlock.valueHexView;if(i.length!==n.length)return{verified:!1,result:t};for(let e=0;e<i.length;e++)if(i[e]!==n[1])return{verified:!1,result:t}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&(t[r.name]=e)),r instanceof nl.Constructed){let i=0,n={verified:!1,result:{error:"Unknown error"}},s=r.valueBlock.value.length;if(s>0&&r.valueBlock.value[0]instanceof qh&&(s=e.valueBlock.value.length),0===s)return{verified:!0,result:t};if(0===e.valueBlock.value.length&&0!==r.valueBlock.value.length){let e=!0;for(let t=0;t<r.valueBlock.value.length;t++)e=e&&(r.valueBlock.value[t].optional||!1);return e?{verified:!0,result:t}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&delete t[r.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let o=0;o<s;o++)if(o-i>=e.valueBlock.value.length){if(!1===r.valueBlock.value[o].optional){const e={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&(delete t[r.name],e.name=r.name)),e}}else if(r.valueBlock.value[0]instanceof qh){if(n=Kh(t,e.valueBlock.value[o],r.valueBlock.value[0].value),!1===n.verified){if(!r.valueBlock.value[0].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&delete t[r.name]),n;i++}if(zc in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){let i={};i="local"in r.valueBlock.value[0]&&r.valueBlock.value[0].local?e:t,void 0===i[r.valueBlock.value[0].name]&&(i[r.valueBlock.value[0].name]=[]),i[r.valueBlock.value[0].name].push(e.valueBlock.value[o])}}else if(n=Kh(t,e.valueBlock.value[o-i],r.valueBlock.value[o]),!1===n.verified){if(!r.valueBlock.value[o].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&delete t[r.name]),n;i++}if(!1===n.verified){const e={verified:!1,result:t};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&(delete t[r.name],e.name=r.name)),e}return{verified:!0,result:t}}if(r.primitiveSchema&&qc in e.valueBlock){const i=zl(e.valueBlock.valueHexView);if(-1===i.offset){const e={verified:!1,result:i.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,Qc),r.name&&(delete t[r.name],e.name=r.name)),e}return Kh(t,i.result,r.primitiveSchema)}return{verified:!0,result:t}}function Yh(t,e){if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const r=zl(Bc.vJ.toUint8Array(t));return-1===r.offset?{verified:!1,result:r.result}:Kh(r.result,r.result,e)}!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(jl||(jl={})),function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"}(Vl||(Vl={}));class Jh{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!Bc.vJ.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=Bc.vJ.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof nh))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=t.valueBlock.unusedBits,this.value=t.valueBlock.valueHex,this}toASN(){return new nh({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new nh({name:t})}toNumber(){let t="";const e=new Uint8Array(this.value);for(const r of e)t+=r.toString(2).padStart(8,"0");return t=t.split("").reverse().join(""),this.unusedBits&&(t=t.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(t,2)}fromNumber(t){let e=t.toString(2);const r=e.length+7>>3;this.unusedBits=(r<<3)-e.length;const i=new Uint8Array(r);e=e.padStart(r<<3,"0").split("").reverse().join("");let n=0;for(;n<r;)i[n]=parseInt(e.slice(n<<3,8+(n<<3)),2),n++;this.value=i.buffer}}class Xh{constructor(t){"number"==typeof t?this.buffer=new ArrayBuffer(t):Bc.vJ.isBufferSource(t)?this.buffer=Bc.vJ.toArrayBuffer(t):Array.isArray(t)?this.buffer=new Uint8Array(t):this.buffer=new ArrayBuffer(0)}get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}fromASN(t){if(!(t instanceof rh))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new rh({valueHex:this.buffer})}toSchema(t){return new rh({name:t})}}const Zh={fromASN:t=>t instanceof Zl?null:t.valueBeforeDecodeView,toASN:t=>{if(null===t)return new Zl;const e=ql(t);if(e.result.error)throw new Error(e.result.error);return e.result}},$h={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new lh({value:+t})},tu={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new hh({value:t})},eu={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new lh({valueHex:t})},ru={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new nh({valueHex:t})},iu={fromASN:t=>t.valueBlock.toString(),toASN:t=>new dh({value:t})},nu={fromASN:t=>t.valueBlock.value,toASN:t=>new th({value:t})},su={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new rh({valueHex:t})},ou={fromASN:t=>new Xh(t.getValue()),toASN:t=>t.toASN()};function au(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const cu=au(Eh),lu=au(xh),hu=au(Ch),uu=au(Ih),pu=au(Rh),du=au(kh),fu=au(Nh),gu=au(Oh),yu=au(Bh),mu=au(Ph),wu=au(Dh),bu=au(Lh),Au={fromASN:t=>t.toDate(),toASN:t=>new Uh({valueDate:t})},vu={fromASN:t=>t.toDate(),toASN:t=>new Mh({valueDate:t})},_u={fromASN:()=>null,toASN:()=>new Zl};function Eu(t){switch(t){case Vl.Any:return Zh;case Vl.BitString:return ru;case Vl.BmpString:return lu;case Vl.Boolean:return nu;case Vl.CharacterString:return bu;case Vl.Enumerated:return tu;case Vl.GeneralString:return wu;case Vl.GeneralizedTime:return vu;case Vl.GraphicString:return yu;case Vl.IA5String:return gu;case Vl.Integer:return $h;case Vl.Null:return _u;case Vl.NumericString:return uu;case Vl.ObjectIdentifier:return iu;case Vl.OctetString:return su;case Vl.PrintableString:return pu;case Vl.TeletexString:return du;case Vl.UTCTime:return Au;case Vl.UniversalString:return hu;case Vl.Utf8String:return cu;case Vl.VideotexString:return fu;case Vl.VisibleString:return mu;default:return null}}function Su(t){return"function"==typeof t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Su(t.prototype):!!(t&&"object"==typeof t&&"toASN"in t&&"fromASN"in t)}function xu(t){var e;if(t){const r=Object.getPrototypeOf(t);return(null===(e=null==r?void 0:r.prototype)||void 0===e?void 0:e.constructor)===Array||xu(r)}return!1}function Tu(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let e=0;e<t.byteLength;e++)if(r[e]!==i[e])return!1;return!0}const Cu=new class{constructor(){this.items=new WeakMap}has(t){return this.items.has(t)}get(t,e=!1){const r=this.items.get(t);if(!r)throw new Error(`Cannot get schema for '${t.prototype.constructor.name}' target`);if(e&&!r.schema)throw new Error(`Schema '${t.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(t){const e=this.get(t);e.schema||(e.schema=this.create(t,!0))}createDefault(t){const e={type:jl.Sequence,items:{}},r=this.findParentSchema(t);return r&&(Object.assign(e,r),e.items=Object.assign({},e.items,r.items)),e}create(e,r){const i=this.items.get(e)||this.createDefault(e),n=[];for(const e in i.items){const s=i.items[e],o=r?e:"";let a;if("number"==typeof s.type){const e=Vl[s.type],r=t[e];if(!r)throw new Error(`Cannot get ASN1 class by name '${e}'`);a=new r({name:o})}else Su(s.type)?a=(new s.type).toSchema(o):s.optional?this.get(s.type).type===jl.Choice?a=new Gh({name:o}):(a=this.create(s.type,!1),a.name=o):a=new Gh({name:o});const c=!!s.optional||void 0!==s.defaultValue;if(s.repeated&&(a.name="",a=new("set"===s.repeated?wh:mh)({name:"",value:[new qh({name:o,value:a})]})),null!==s.context&&void 0!==s.context)if(s.implicit)if("number"==typeof s.type||Su(s.type)){const t=s.repeated?Yl:Gl;n.push(new t({name:o,optional:c,idBlock:{tagClass:3,tagNumber:s.context}}))}else{this.cache(s.type);const t=!!s.repeated;let e=t?a:this.get(s.type,!0).schema;e="valueBlock"in e?e.valueBlock.value:e.value,n.push(new Yl({name:t?"":o,optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:e}))}else n.push(new Yl({optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else a.optional=c,n.push(a)}switch(i.type){case jl.Sequence:return new mh({value:n,name:""});case jl.Set:return new wh({value:n,name:""});case jl.Choice:return new zh({value:n,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(t,e){return this.items.set(t,e),this}findParentSchema(t){const e=Object.getPrototypeOf(t);return e?this.items.get(e)||this.findParentSchema(e):null}},Iu=t=>e=>{let r;Cu.has(e)?r=Cu.get(e):(r=Cu.createDefault(e),Cu.set(e,r)),Object.assign(r,t)},Ru=t=>(e,r)=>{let i;Cu.has(e.constructor)?i=Cu.get(e.constructor):(i=Cu.createDefault(e.constructor),Cu.set(e.constructor,i));const n=Object.assign({},t);if("number"==typeof n.type&&!n.converter){const i=Eu(t.type);if(!i)throw new Error(`Cannot get default converter for property '${r}' of ${e.constructor.name}`);n.converter=i}i.items[r]=n};class ku extends Error{constructor(){super(...arguments),this.schemas=[]}}class Nu{static serialize(t){return t instanceof sl?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&"object"==typeof t&&Su(t))return t.toASN();if(!t||"object"!=typeof t)throw new TypeError("Parameter 1 should be type of Object.");const e=t.constructor,r=Cu.get(e);Cu.cache(e);let i,n=[];if(r.itemType){if(!Array.isArray(t))throw new TypeError("Parameter 1 should be type of Array.");if("number"==typeof r.itemType){const i=Eu(r.itemType);if(!i)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);n=t.map((t=>i.toASN(t)))}else n=t.map((t=>this.toAsnItem({type:r.itemType},"[]",e,t)))}else for(const i in r.items){const s=r.items[i],o=t[i];if(void 0===o||s.defaultValue===o||"object"==typeof s.defaultValue&&"object"==typeof o&&Tu(this.serialize(s.defaultValue),this.serialize(o)))continue;const a=Nu.toAsnItem(s,i,e,o);if("number"==typeof s.context)if(s.implicit)if(s.repeated||"number"!=typeof s.type&&!Su(s.type))n.push(new Yl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof Zl?a.valueBeforeDecodeView:a.valueBlock.toBER(),n.push(new Gl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},...t}))}else n.push(new Yl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else s.repeated?n=n.concat(a):n.push(a)}switch(r.type){case jl.Sequence:i=new mh({value:n});break;case jl.Set:i=new wh({value:n});break;case jl.Choice:if(!n[0])throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`);i=n[0]}return i}static toAsnItem(t,e,r,i){let n;if("number"==typeof t.type){const s=t.converter;if(!s)throw new Error(`Property '${e}' doesn't have converter for type ${Vl[t.type]} in schema '${r.name}'`);if(t.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(i,(t=>s.toASN(t)));n=new("sequence"===t.repeated?mh:wh)({value:e})}else n=s.toASN(i)}else if(t.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(i,(t=>this.toASN(t)));n=new("sequence"===t.repeated?mh:wh)({value:e})}else n=this.toASN(i);return n}}class Ou extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class Bu{static serialize(t){return Nu.serialize(t)}static parse(e,r){return class{static parse(t,e){const r=ql(t);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,e)}static fromASN(e,r){var i;try{if(Su(r))return(new r).fromASN(e);const n=Cu.get(r);Cu.cache(r);let s=n.schema;if(e.constructor===Yl&&n.type!==jl.Choice){s=new Yl({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const t in n.items)delete e[t]}const o=Kh({},e,s);if(!o.verified)throw new ku(`Data does not match to ${r.name} ASN1 schema. ${o.result.error}`);const a=new r;if(xu(r)){if(!("value"in e.valueBlock)||!Array.isArray(e.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const t=n.itemType;if("number"==typeof t){const i=Eu(t);if(!i)throw new Error(`Cannot get default converter for array item of ${r.name} ASN1 schema`);return r.from(e.valueBlock.value,(t=>i.fromASN(t)))}return r.from(e.valueBlock.value,(e=>this.fromASN(e,t)))}for(const e in n.items){const r=o.result[e];if(!r)continue;const s=n.items[e],c=s.type;if("number"==typeof c||Su(c)){const n=null!==(i=s.converter)&&void 0!==i?i:Su(c)?new c:null;if(!n)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const t=new("sequence"===s.repeated?mh:wh);t.valueBlock=r.valueBlock;const i=ql(t.toBER(!1));if(-1===i.offset)throw new Error(`Cannot parse the child item. ${i.result.error}`);if(!("value"in i.result.valueBlock)||!Array.isArray(i.result.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const o=i.result.valueBlock.value;a[e]=Array.from(o,(t=>n.fromASN(t)))}else a[e]=Array.from(r,(t=>n.fromASN(t)));else{let i=r;if(s.implicit){let e;if(Su(c))e=(new c).toSchema("");else{const r=Vl[c],i=t[r];if(!i)throw new Error(`Cannot get '${r}' class from asn1js module`);e=new i}e.valueBlock=i.valueBlock,i=ql(e.toBER(!1)).result}a[e]=n.fromASN(i)}}else if(s.repeated){if(!Array.isArray(r))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");a[e]=Array.from(r,(t=>this.fromASN(t,c)))}else a[e]=this.fromASN(r,c)}return a}catch(t){throw t instanceof ku&&t.schemas.push(r.name),t}}}.parse(e,r)}static toString(t){const e=ql(Bc.vJ.isBufferSource(t)?Bc.vJ.toArrayBuffer(t):Bu.serialize(t));if(-1===e.offset)throw new Error(`Cannot decode ASN.1 data. ${e.result.error}`);return e.result.toString()}}function Pu(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}Object.create,Object.create;var Du,Lu,Uu,Mu=r(6512);class Fu{static decodeIP(t){if(64===t.length&&0===parseInt(t,16))return"::/0";if(16!==t.length)return t;const e=parseInt(t.slice(8),16).toString(2).split("").reduce(((t,e)=>t+ +e),0);let r=t.slice(0,8).replace(/(.{2})/g,(t=>`${parseInt(t,16)}.`));return r=r.slice(0,-1),`${r}/${e}`}static toString(t){if(4===t.byteLength||16===t.byteLength){const e=new Uint8Array(t);return Mu.fromByteArray(Array.from(e)).toString()}return this.decodeIP(Bc.ep.ToHex(t))}static fromString(t){const e=Mu.parse(t);return new Uint8Array(e.toByteArray()).buffer}}let Hu=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};Pu([Ru({type:Vl.TeletexString})],Hu.prototype,"teletexString",void 0),Pu([Ru({type:Vl.PrintableString})],Hu.prototype,"printableString",void 0),Pu([Ru({type:Vl.UniversalString})],Hu.prototype,"universalString",void 0),Pu([Ru({type:Vl.Utf8String})],Hu.prototype,"utf8String",void 0),Pu([Ru({type:Vl.BmpString})],Hu.prototype,"bmpString",void 0),Hu=Pu([Iu({type:jl.Choice})],Hu);let Wu=class extends Hu{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?Bc.ep.ToHex(this.anyValue):super.toString())}};Pu([Ru({type:Vl.IA5String})],Wu.prototype,"ia5String",void 0),Pu([Ru({type:Vl.Any})],Wu.prototype,"anyValue",void 0),Wu=Pu([Iu({type:jl.Choice})],Wu);class ju{constructor(t={}){this.type="",this.value=new Wu,Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],ju.prototype,"type",void 0),Pu([Ru({type:Wu})],ju.prototype,"value",void 0);let Vu=Du=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Du.prototype)}};Vu=Du=Pu([Iu({type:jl.Set,itemType:ju})],Vu);let Gu=Lu=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Lu.prototype)}};Gu=Lu=Pu([Iu({type:jl.Sequence,itemType:Vu})],Gu);let zu=Uu=class extends Gu{constructor(t){super(t),Object.setPrototypeOf(this,Uu.prototype)}};zu=Uu=Pu([Iu({type:jl.Sequence})],zu);const qu={fromASN:t=>Fu.toString(su.fromASN(t)),toASN:t=>su.toASN(Fu.fromString(t))};class Qu{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Qu.prototype,"typeId",void 0),Pu([Ru({type:Vl.Any,context:0})],Qu.prototype,"value",void 0);class Ku{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Hu,optional:!0,context:0,implicit:!0})],Ku.prototype,"nameAssigner",void 0),Pu([Ru({type:Hu,context:1,implicit:!0})],Ku.prototype,"partyName",void 0);let Yu=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Qu,context:0,implicit:!0})],Yu.prototype,"otherName",void 0),Pu([Ru({type:Vl.IA5String,context:1,implicit:!0})],Yu.prototype,"rfc822Name",void 0),Pu([Ru({type:Vl.IA5String,context:2,implicit:!0})],Yu.prototype,"dNSName",void 0),Pu([Ru({type:Vl.Any,context:3,implicit:!0})],Yu.prototype,"x400Address",void 0),Pu([Ru({type:zu,context:4,implicit:!1})],Yu.prototype,"directoryName",void 0),Pu([Ru({type:Ku,context:5})],Yu.prototype,"ediPartyName",void 0),Pu([Ru({type:Vl.IA5String,context:6,implicit:!0})],Yu.prototype,"uniformResourceIdentifier",void 0),Pu([Ru({type:Vl.OctetString,context:7,implicit:!0,converter:qu})],Yu.prototype,"iPAddress",void 0),Pu([Ru({type:Vl.ObjectIdentifier,context:8,implicit:!0})],Yu.prototype,"registeredID",void 0),Yu=Pu([Iu({type:jl.Choice})],Yu);const Ju="1.3.6.1.5.5.7.3";var Xu;class Zu{constructor(t={}){this.accessMethod="",this.accessLocation=new Yu,Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Zu.prototype,"accessMethod",void 0),Pu([Ru({type:Yu})],Zu.prototype,"accessLocation",void 0);let $u=Xu=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Xu.prototype)}};$u=Xu=Pu([Iu({type:jl.Sequence,itemType:Zu})],$u);const tp="2.5.29.35";class ep extends Xh{}class rp{constructor(t={}){t&&Object.assign(this,t)}}Pu([Ru({type:ep,context:0,optional:!0,implicit:!0})],rp.prototype,"keyIdentifier",void 0),Pu([Ru({type:Yu,context:1,optional:!0,implicit:!0,repeated:"sequence"})],rp.prototype,"authorityCertIssuer",void 0),Pu([Ru({type:Vl.Integer,context:2,optional:!0,implicit:!0,converter:eu})],rp.prototype,"authorityCertSerialNumber",void 0);const ip="2.5.29.19";class np{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var sp;Pu([Ru({type:Vl.Boolean,defaultValue:!1})],np.prototype,"cA",void 0),Pu([Ru({type:Vl.Integer,optional:!0})],np.prototype,"pathLenConstraint",void 0);let op=sp=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,sp.prototype)}};var ap;op=sp=Pu([Iu({type:jl.Sequence,itemType:Yu})],op);let cp=ap=class extends op{constructor(t){super(t),Object.setPrototypeOf(this,ap.prototype)}};var lp;cp=ap=Pu([Iu({type:jl.Sequence})],cp);const hp="2.5.29.32";let up=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};Pu([Ru({type:Vl.IA5String})],up.prototype,"ia5String",void 0),Pu([Ru({type:Vl.VisibleString})],up.prototype,"visibleString",void 0),Pu([Ru({type:Vl.BmpString})],up.prototype,"bmpString",void 0),Pu([Ru({type:Vl.Utf8String})],up.prototype,"utf8String",void 0),up=Pu([Iu({type:jl.Choice})],up);class pp{constructor(t={}){this.organization=new up,this.noticeNumbers=[],Object.assign(this,t)}}Pu([Ru({type:up})],pp.prototype,"organization",void 0),Pu([Ru({type:Vl.Integer,repeated:"sequence"})],pp.prototype,"noticeNumbers",void 0);class dp{constructor(t={}){Object.assign(this,t)}}Pu([Ru({type:pp,optional:!0})],dp.prototype,"noticeRef",void 0),Pu([Ru({type:up,optional:!0})],dp.prototype,"explicitText",void 0);let fp=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Vl.IA5String})],fp.prototype,"cPSuri",void 0),Pu([Ru({type:dp})],fp.prototype,"userNotice",void 0),fp=Pu([Iu({type:jl.Choice})],fp);class gp{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],gp.prototype,"policyQualifierId",void 0),Pu([Ru({type:Vl.Any})],gp.prototype,"qualifier",void 0);class yp{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],yp.prototype,"policyIdentifier",void 0),Pu([Ru({type:gp,repeated:"sequence",optional:!0})],yp.prototype,"policyQualifiers",void 0);let mp=lp=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,lp.prototype)}};mp=lp=Pu([Iu({type:jl.Sequence,itemType:yp})],mp);let wp=class{constructor(t=0){this.value=t}};Pu([Ru({type:Vl.Integer})],wp.prototype,"value",void 0),wp=Pu([Iu({type:jl.Choice})],wp);let bp=class extends wp{};var Ap,vp;bp=Pu([Iu({type:jl.Choice})],bp),function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"}(vp||(vp={}));class _p extends Jh{toJSON(){const t=[],e=this.toNumber();return e&vp.aACompromise&&t.push("aACompromise"),e&vp.affiliationChanged&&t.push("affiliationChanged"),e&vp.cACompromise&&t.push("cACompromise"),e&vp.certificateHold&&t.push("certificateHold"),e&vp.cessationOfOperation&&t.push("cessationOfOperation"),e&vp.keyCompromise&&t.push("keyCompromise"),e&vp.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&vp.superseded&&t.push("superseded"),e&vp.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let Ep=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Yu,context:0,repeated:"sequence",implicit:!0})],Ep.prototype,"fullName",void 0),Pu([Ru({type:Vu,context:1,implicit:!0})],Ep.prototype,"nameRelativeToCRLIssuer",void 0),Ep=Pu([Iu({type:jl.Choice})],Ep);class Sp{constructor(t={}){Object.assign(this,t)}}Pu([Ru({type:Ep,context:0,optional:!0})],Sp.prototype,"distributionPoint",void 0),Pu([Ru({type:_p,context:1,optional:!0,implicit:!0})],Sp.prototype,"reasons",void 0),Pu([Ru({type:Yu,context:2,optional:!0,repeated:"sequence",implicit:!0})],Sp.prototype,"cRLIssuer",void 0);let xp=Ap=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Ap.prototype)}};var Tp;xp=Ap=Pu([Iu({type:jl.Sequence,itemType:Sp})],xp);let Cp=Tp=class extends xp{constructor(t){super(t),Object.setPrototypeOf(this,Tp.prototype)}};Cp=Tp=Pu([Iu({type:jl.Sequence,itemType:Sp})],Cp);class Ip{constructor(t={}){this.onlyContainsUserCerts=Ip.ONLY,this.onlyContainsCACerts=Ip.ONLY,this.indirectCRL=Ip.ONLY,this.onlyContainsAttributeCerts=Ip.ONLY,Object.assign(this,t)}}var Rp;Ip.ONLY=!1,Pu([Ru({type:Ep,context:0,optional:!0})],Ip.prototype,"distributionPoint",void 0),Pu([Ru({type:Vl.Boolean,context:1,defaultValue:Ip.ONLY,implicit:!0})],Ip.prototype,"onlyContainsUserCerts",void 0),Pu([Ru({type:Vl.Boolean,context:2,defaultValue:Ip.ONLY,implicit:!0})],Ip.prototype,"onlyContainsCACerts",void 0),Pu([Ru({type:_p,context:3,optional:!0,implicit:!0})],Ip.prototype,"onlySomeReasons",void 0),Pu([Ru({type:Vl.Boolean,context:4,defaultValue:Ip.ONLY,implicit:!0})],Ip.prototype,"indirectCRL",void 0),Pu([Ru({type:Vl.Boolean,context:5,defaultValue:Ip.ONLY,implicit:!0})],Ip.prototype,"onlyContainsAttributeCerts",void 0),function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Rp||(Rp={}));let kp=class{constructor(t=Rp.unspecified){this.reason=Rp.unspecified,this.reason=t}toJSON(){return Rp[this.reason]}toString(){return this.toJSON()}};var Np;Pu([Ru({type:Vl.Enumerated})],kp.prototype,"reason",void 0),kp=Pu([Iu({type:jl.Choice})],kp);const Op="2.5.29.37";let Bp=Np=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Np.prototype)}};Bp=Np=Pu([Iu({type:jl.Sequence,itemType:Vl.ObjectIdentifier})],Bp);const Pp=`${Ju}.1`,Dp=`${Ju}.2`,Lp=`${Ju}.3`,Up=`${Ju}.4`,Mp=`${Ju}.8`,Fp=`${Ju}.9`;let Hp=class{constructor(t=new ArrayBuffer(0)){this.value=t}};Pu([Ru({type:Vl.Integer,converter:eu})],Hp.prototype,"value",void 0),Hp=Pu([Iu({type:jl.Choice})],Hp);let Wp=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var jp;Pu([Ru({type:Vl.GeneralizedTime})],Wp.prototype,"value",void 0),Wp=Pu([Iu({type:jl.Choice})],Wp);let Vp=jp=class extends op{constructor(t){super(t),Object.setPrototypeOf(this,jp.prototype)}};Vp=jp=Pu([Iu({type:jl.Sequence})],Vp);const Gp="2.5.29.15";var zp,qp;!function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(zp||(zp={}));class Qp extends Jh{toJSON(){const t=this.toNumber(),e=[];return t&zp.cRLSign&&e.push("crlSign"),t&zp.dataEncipherment&&e.push("dataEncipherment"),t&zp.decipherOnly&&e.push("decipherOnly"),t&zp.digitalSignature&&e.push("digitalSignature"),t&zp.encipherOnly&&e.push("encipherOnly"),t&zp.keyAgreement&&e.push("keyAgreement"),t&zp.keyCertSign&&e.push("keyCertSign"),t&zp.keyEncipherment&&e.push("keyEncipherment"),t&zp.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class Kp{constructor(t={}){this.base=new Yu,this.minimum=0,Object.assign(this,t)}}Pu([Ru({type:Yu})],Kp.prototype,"base",void 0),Pu([Ru({type:Vl.Integer,context:0,defaultValue:0,implicit:!0})],Kp.prototype,"minimum",void 0),Pu([Ru({type:Vl.Integer,context:1,optional:!0,implicit:!0})],Kp.prototype,"maximum",void 0);let Yp=qp=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,qp.prototype)}};Yp=qp=Pu([Iu({type:jl.Sequence,itemType:Kp})],Yp);class Jp{constructor(t={}){Object.assign(this,t)}}Pu([Ru({type:Yp,context:0,optional:!0,implicit:!0})],Jp.prototype,"permittedSubtrees",void 0),Pu([Ru({type:Yp,context:1,optional:!0,implicit:!0})],Jp.prototype,"excludedSubtrees",void 0);class Xp{constructor(t={}){Object.assign(this,t)}}var Zp;Pu([Ru({type:Vl.Integer,context:0,implicit:!0,optional:!0,converter:eu})],Xp.prototype,"requireExplicitPolicy",void 0),Pu([Ru({type:Vl.Integer,context:1,implicit:!0,optional:!0,converter:eu})],Xp.prototype,"inhibitPolicyMapping",void 0);class $p{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],$p.prototype,"issuerDomainPolicy",void 0),Pu([Ru({type:Vl.ObjectIdentifier})],$p.prototype,"subjectDomainPolicy",void 0);let td=Zp=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Zp.prototype)}};var ed;td=Zp=Pu([Iu({type:jl.Sequence,itemType:$p})],td);const rd="2.5.29.17";let id=ed=class extends op{constructor(t){super(t),Object.setPrototypeOf(this,ed.prototype)}};id=ed=Pu([Iu({type:jl.Sequence})],id);class nd{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var sd;Pu([Ru({type:Vl.ObjectIdentifier})],nd.prototype,"type",void 0),Pu([Ru({type:Vl.Any,repeated:"set"})],nd.prototype,"values",void 0);let od=sd=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,sd.prototype)}};od=sd=Pu([Iu({type:jl.Sequence,itemType:nd})],od);const ad="2.5.29.14";class cd extends ep{}class ld{constructor(t={}){Object.assign(this,t)}}var hd,ud;Pu([Ru({type:Vl.GeneralizedTime,context:0,implicit:!0,optional:!0})],ld.prototype,"notBefore",void 0),Pu([Ru({type:Vl.GeneralizedTime,context:1,implicit:!0,optional:!0})],ld.prototype,"notAfter",void 0),function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(hd||(hd={}));class pd extends Jh{toJSON(){const t=[],e=this.toNumber();return e&hd.pKIXCertificate&&t.push("pKIXCertificate"),e&hd.newExtensions&&t.push("newExtensions"),e&hd.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class dd{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new pd,Object.assign(this,t)}}Pu([Ru({type:Vl.GeneralString})],dd.prototype,"entrustVers",void 0),Pu([Ru({type:pd})],dd.prototype,"entrustInfoFlags",void 0);let fd=ud=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,ud.prototype)}};fd=ud=Pu([Iu({type:jl.Sequence,itemType:Zu})],fd);class gd{constructor(t={}){this.algorithm="",Object.assign(this,t)}isEqual(t){return t instanceof gd&&t.algorithm==this.algorithm&&(t.parameters&&this.parameters&&Bc.Xy(t.parameters,this.parameters)||t.parameters===this.parameters)}}Pu([Ru({type:Vl.ObjectIdentifier})],gd.prototype,"algorithm",void 0),Pu([Ru({type:Vl.Any,optional:!0})],gd.prototype,"parameters",void 0);class yd{constructor(t={}){this.algorithm=new gd,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:gd})],yd.prototype,"algorithm",void 0),Pu([Ru({type:Vl.BitString})],yd.prototype,"subjectPublicKey",void 0);let md=class{constructor(t){if(t)if("string"==typeof t||"number"==typeof t||t instanceof Date){const e=new Date(t);e.getUTCFullYear()>2049?this.generalTime=e:this.utcTime=e}else Object.assign(this,t)}getTime(){const t=this.utcTime||this.generalTime;if(!t)throw new Error("Cannot get time from CHOICE object");return t}};Pu([Ru({type:Vl.UTCTime})],md.prototype,"utcTime",void 0),Pu([Ru({type:Vl.GeneralizedTime})],md.prototype,"generalTime",void 0),md=Pu([Iu({type:jl.Choice})],md);class wd{constructor(t){this.notBefore=new md(new Date),this.notAfter=new md(new Date),t&&(this.notBefore=new md(t.notBefore),this.notAfter=new md(t.notAfter))}}var bd;Pu([Ru({type:md})],wd.prototype,"notBefore",void 0),Pu([Ru({type:md})],wd.prototype,"notAfter",void 0);class Ad{constructor(t={}){this.extnID="",this.critical=Ad.CRITICAL,this.extnValue=new Xh,Object.assign(this,t)}}Ad.CRITICAL=!1,Pu([Ru({type:Vl.ObjectIdentifier})],Ad.prototype,"extnID",void 0),Pu([Ru({type:Vl.Boolean,defaultValue:Ad.CRITICAL})],Ad.prototype,"critical",void 0),Pu([Ru({type:Xh})],Ad.prototype,"extnValue",void 0);let vd=bd=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,bd.prototype)}};var _d,Ed;vd=bd=Pu([Iu({type:jl.Sequence,itemType:Ad})],vd),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(_d||(_d={}));class Sd{constructor(t={}){this.version=_d.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new gd,this.issuer=new zu,this.validity=new wd,this.subject=new zu,this.subjectPublicKeyInfo=new yd,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer,context:0,defaultValue:_d.v1})],Sd.prototype,"version",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Sd.prototype,"serialNumber",void 0),Pu([Ru({type:gd})],Sd.prototype,"signature",void 0),Pu([Ru({type:zu})],Sd.prototype,"issuer",void 0),Pu([Ru({type:wd})],Sd.prototype,"validity",void 0),Pu([Ru({type:zu})],Sd.prototype,"subject",void 0),Pu([Ru({type:yd})],Sd.prototype,"subjectPublicKeyInfo",void 0),Pu([Ru({type:Vl.BitString,context:1,implicit:!0,optional:!0})],Sd.prototype,"issuerUniqueID",void 0),Pu([Ru({type:Vl.BitString,context:2,implicit:!0,optional:!0})],Sd.prototype,"subjectUniqueID",void 0),Pu([Ru({type:vd,context:3,optional:!0})],Sd.prototype,"extensions",void 0);class xd{constructor(t={}){this.tbsCertificate=new Sd,this.signatureAlgorithm=new gd,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Sd})],xd.prototype,"tbsCertificate",void 0),Pu([Ru({type:gd})],xd.prototype,"signatureAlgorithm",void 0),Pu([Ru({type:Vl.BitString})],xd.prototype,"signatureValue",void 0);class Td{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new md,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer,converter:eu})],Td.prototype,"userCertificate",void 0),Pu([Ru({type:md})],Td.prototype,"revocationDate",void 0),Pu([Ru({type:Ad,optional:!0,repeated:"sequence"})],Td.prototype,"crlEntryExtensions",void 0);class Cd{constructor(t={}){this.signature=new gd,this.issuer=new zu,this.thisUpdate=new md,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer,optional:!0})],Cd.prototype,"version",void 0),Pu([Ru({type:gd})],Cd.prototype,"signature",void 0),Pu([Ru({type:zu})],Cd.prototype,"issuer",void 0),Pu([Ru({type:md})],Cd.prototype,"thisUpdate",void 0),Pu([Ru({type:md,optional:!0})],Cd.prototype,"nextUpdate",void 0),Pu([Ru({type:Td,repeated:"sequence",optional:!0})],Cd.prototype,"revokedCertificates",void 0),Pu([Ru({type:Ad,optional:!0,context:0,repeated:"sequence"})],Cd.prototype,"crlExtensions",void 0);class Id{constructor(t={}){this.tbsCertList=new Cd,this.signatureAlgorithm=new gd,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Cd})],Id.prototype,"tbsCertList",void 0),Pu([Ru({type:gd})],Id.prototype,"signatureAlgorithm",void 0),Pu([Ru({type:Vl.BitString})],Id.prototype,"signature",void 0);class Rd{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Rd.prototype,"attrType",void 0),Pu([Ru({type:Vl.Any,repeated:"set"})],Rd.prototype,"attrValues",void 0);class kd{constructor(t={}){this.acIssuer=new Yu,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}Pu([Ru({type:Yu})],kd.prototype,"acIssuer",void 0),Pu([Ru({type:Vl.Integer})],kd.prototype,"acSerial",void 0),Pu([Ru({type:nd,repeated:"sequence"})],kd.prototype,"attrs",void 0);let Nd=Ed=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Ed.prototype)}};Nd=Ed=Pu([Iu({type:jl.Sequence,itemType:Vl.ObjectIdentifier})],Nd);class Od{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer,optional:!0})],Od.prototype,"pathLenConstraint",void 0),Pu([Ru({type:Nd,implicit:!0,context:0,optional:!0})],Od.prototype,"permittedAttrs",void 0),Pu([Ru({type:Nd,implicit:!0,context:1,optional:!0})],Od.prototype,"excludedAttrs",void 0),Pu([Ru({type:Vl.Boolean,defaultValue:!0})],Od.prototype,"permitUnSpecified",void 0);class Bd{constructor(t={}){this.issuer=new op,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var Pd;Pu([Ru({type:op})],Bd.prototype,"issuer",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Bd.prototype,"serial",void 0),Pu([Ru({type:Vl.BitString,optional:!0})],Bd.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(Pd||(Pd={}));class Dd{constructor(t={}){this.digestedObjectType=Pd.publicKey,this.digestAlgorithm=new gd,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.Enumerated})],Dd.prototype,"digestedObjectType",void 0),Pu([Ru({type:Vl.ObjectIdentifier,optional:!0})],Dd.prototype,"otherObjectTypeID",void 0),Pu([Ru({type:gd})],Dd.prototype,"digestAlgorithm",void 0),Pu([Ru({type:Vl.BitString})],Dd.prototype,"objectDigest",void 0);class Ld{constructor(t={}){Object.assign(this,t)}}Pu([Ru({type:op,optional:!0})],Ld.prototype,"issuerName",void 0),Pu([Ru({type:Bd,context:0,implicit:!0,optional:!0})],Ld.prototype,"baseCertificateID",void 0),Pu([Ru({type:Dd,context:1,implicit:!0,optional:!0})],Ld.prototype,"objectDigestInfo",void 0);let Ud=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Yu,repeated:"sequence"})],Ud.prototype,"v1Form",void 0),Pu([Ru({type:Ld,context:0,implicit:!0})],Ud.prototype,"v2Form",void 0),Ud=Pu([Iu({type:jl.Choice})],Ud);class Md{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}Pu([Ru({type:Vl.GeneralizedTime})],Md.prototype,"notBeforeTime",void 0),Pu([Ru({type:Vl.GeneralizedTime})],Md.prototype,"notAfterTime",void 0);class Fd{constructor(t={}){Object.assign(this,t)}}var Hd,Wd,jd;Pu([Ru({type:Bd,implicit:!0,context:0,optional:!0})],Fd.prototype,"baseCertificateID",void 0),Pu([Ru({type:op,implicit:!0,context:1,optional:!0})],Fd.prototype,"entityName",void 0),Pu([Ru({type:Dd,implicit:!0,context:2,optional:!0})],Fd.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(Hd||(Hd={}));class Vd{constructor(t={}){this.version=Hd.v2,this.holder=new Fd,this.issuer=new Ud,this.signature=new gd,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new Md,this.attributes=[],Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Vd.prototype,"version",void 0),Pu([Ru({type:Fd})],Vd.prototype,"holder",void 0),Pu([Ru({type:Ud})],Vd.prototype,"issuer",void 0),Pu([Ru({type:gd})],Vd.prototype,"signature",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Vd.prototype,"serialNumber",void 0),Pu([Ru({type:Md})],Vd.prototype,"attrCertValidityPeriod",void 0),Pu([Ru({type:nd,repeated:"sequence"})],Vd.prototype,"attributes",void 0),Pu([Ru({type:Vl.BitString,optional:!0})],Vd.prototype,"issuerUniqueID",void 0),Pu([Ru({type:vd,optional:!0})],Vd.prototype,"extensions",void 0);class Gd{constructor(t={}){this.acinfo=new Vd,this.signatureAlgorithm=new gd,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vd})],Gd.prototype,"acinfo",void 0),Pu([Ru({type:gd})],Gd.prototype,"signatureAlgorithm",void 0),Pu([Ru({type:Vl.BitString})],Gd.prototype,"signatureValue",void 0),function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"}(Wd||(Wd={}));class zd extends Jh{}class qd{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier,implicit:!0,context:0})],qd.prototype,"type",void 0),Pu([Ru({type:Vl.Any,implicit:!0,context:1})],qd.prototype,"value",void 0);class Qd{constructor(t={}){this.policyId="",this.classList=new zd(Wd.unclassified),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Qd.prototype,"policyId",void 0),Pu([Ru({type:zd,defaultValue:new zd(Wd.unclassified)})],Qd.prototype,"classList",void 0),Pu([Ru({type:qd,repeated:"set"})],Qd.prototype,"securityCategories",void 0);class Kd{constructor(t={}){Object.assign(this,t)}}Pu([Ru({type:Xh})],Kd.prototype,"cotets",void 0),Pu([Ru({type:Vl.ObjectIdentifier})],Kd.prototype,"oid",void 0),Pu([Ru({type:Vl.Utf8String})],Kd.prototype,"string",void 0);class Yd{constructor(t={}){this.values=[],Object.assign(this,t)}}Pu([Ru({type:op,implicit:!0,context:0,optional:!0})],Yd.prototype,"policyAuthority",void 0),Pu([Ru({type:Kd,repeated:"sequence"})],Yd.prototype,"values",void 0);class Jd{constructor(t={}){this.targetCertificate=new Bd,Object.assign(this,t)}}Pu([Ru({type:Bd})],Jd.prototype,"targetCertificate",void 0),Pu([Ru({type:Yu,optional:!0})],Jd.prototype,"targetName",void 0),Pu([Ru({type:Dd,optional:!0})],Jd.prototype,"certDigestInfo",void 0);let Xd=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Yu,context:0,implicit:!0})],Xd.prototype,"targetName",void 0),Pu([Ru({type:Yu,context:1,implicit:!0})],Xd.prototype,"targetGroup",void 0),Pu([Ru({type:Jd,context:2,implicit:!0})],Xd.prototype,"targetCert",void 0),Xd=Pu([Iu({type:jl.Choice})],Xd);let Zd=jd=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,jd.prototype)}};var $d;Zd=jd=Pu([Iu({type:jl.Sequence,itemType:Xd})],Zd);let tf=$d=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,$d.prototype)}};tf=$d=Pu([Iu({type:jl.Sequence,itemType:Zd})],tf);class ef{constructor(t={}){Object.assign(this,t)}}Pu([Ru({type:op,implicit:!0,context:0,optional:!0})],ef.prototype,"roleAuthority",void 0),Pu([Ru({type:Yu,implicit:!0,context:1})],ef.prototype,"roleName",void 0);class rf{constructor(t={}){this.service=new Yu,this.ident=new Yu,Object.assign(this,t)}}var nf;Pu([Ru({type:Yu})],rf.prototype,"service",void 0),Pu([Ru({type:Yu})],rf.prototype,"ident",void 0),Pu([Ru({type:Xh,optional:!0})],rf.prototype,"authInfo",void 0);class sf{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],sf.prototype,"otherCertFormat",void 0),Pu([Ru({type:Vl.Any})],sf.prototype,"otherCert",void 0);let of=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:xd})],of.prototype,"certificate",void 0),Pu([Ru({type:Gd,context:2,implicit:!0})],of.prototype,"v2AttrCert",void 0),Pu([Ru({type:sf,context:3,implicit:!0})],of.prototype,"other",void 0),of=Pu([Iu({type:jl.Choice})],of);let af=nf=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,nf.prototype)}};af=nf=Pu([Iu({type:jl.Set,itemType:of})],af);class cf{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],cf.prototype,"contentType",void 0),Pu([Ru({type:Vl.Any,context:0})],cf.prototype,"content",void 0);let lf=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Xh})],lf.prototype,"single",void 0),Pu([Ru({type:Vl.Any})],lf.prototype,"any",void 0),lf=Pu([Iu({type:jl.Choice})],lf);class hf{constructor(t={}){this.eContentType="",Object.assign(this,t)}}var uf;Pu([Ru({type:Vl.ObjectIdentifier})],hf.prototype,"eContentType",void 0),Pu([Ru({type:lf,context:0,optional:!0})],hf.prototype,"eContent",void 0),function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"}(uf||(uf={}));let pf=class extends gd{};pf=Pu([Iu({type:jl.Sequence})],pf);let df=class extends gd{};df=Pu([Iu({type:jl.Sequence})],df);let ff=class extends gd{};ff=Pu([Iu({type:jl.Sequence})],ff);let gf=class extends gd{};gf=Pu([Iu({type:jl.Sequence})],gf);let yf=class extends gd{};yf=Pu([Iu({type:jl.Sequence})],yf);let mf=class extends gd{};mf=Pu([Iu({type:jl.Sequence})],mf);let wf=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Xh,context:0,implicit:!0,optional:!0})],wf.prototype,"value",void 0),Pu([Ru({type:Xh,converter:ou,context:0,implicit:!0,optional:!0,repeated:"sequence"})],wf.prototype,"constructedValue",void 0),wf=Pu([Iu({type:jl.Choice})],wf);class bf{constructor(t={}){this.contentType="",this.contentEncryptionAlgorithm=new gf,Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],bf.prototype,"contentType",void 0),Pu([Ru({type:gf})],bf.prototype,"contentEncryptionAlgorithm",void 0),Pu([Ru({type:wf,optional:!0})],bf.prototype,"encryptedContent",void 0);class Af{constructor(t={}){this.issuer=new zu,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:zu})],Af.prototype,"issuer",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Af.prototype,"serialNumber",void 0);class vf{constructor(t={}){this.keyAttrId="",Object.assign(this,t)}}var _f;Pu([Ru({type:Vl.ObjectIdentifier})],vf.prototype,"keyAttrId",void 0),Pu([Ru({type:Vl.Any,optional:!0})],vf.prototype,"keyAttr",void 0);class Ef{constructor(t={}){this.subjectKeyIdentifier=new cd,Object.assign(this,t)}}Pu([Ru({type:cd})],Ef.prototype,"subjectKeyIdentifier",void 0),Pu([Ru({type:Vl.GeneralizedTime,optional:!0})],Ef.prototype,"date",void 0),Pu([Ru({type:vf,optional:!0})],Ef.prototype,"other",void 0);let Sf=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Ef,context:0,implicit:!0,optional:!0})],Sf.prototype,"rKeyId",void 0),Pu([Ru({type:Af,optional:!0})],Sf.prototype,"issuerAndSerialNumber",void 0),Sf=Pu([Iu({type:jl.Choice})],Sf);class xf{constructor(t={}){this.rid=new Sf,this.encryptedKey=new Xh,Object.assign(this,t)}}Pu([Ru({type:Sf})],xf.prototype,"rid",void 0),Pu([Ru({type:Xh})],xf.prototype,"encryptedKey",void 0);let Tf=_f=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,_f.prototype)}};Tf=_f=Pu([Iu({type:jl.Sequence,itemType:xf})],Tf);class Cf{constructor(t={}){this.algorithm=new gd,this.publicKey=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:gd})],Cf.prototype,"algorithm",void 0),Pu([Ru({type:Vl.BitString})],Cf.prototype,"publicKey",void 0);let If=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:cd,context:0,implicit:!0,optional:!0})],If.prototype,"subjectKeyIdentifier",void 0),Pu([Ru({type:Cf,context:1,implicit:!0,optional:!0})],If.prototype,"originatorKey",void 0),Pu([Ru({type:Af,optional:!0})],If.prototype,"issuerAndSerialNumber",void 0),If=Pu([Iu({type:jl.Choice})],If);class Rf{constructor(t={}){this.version=uf.v3,this.originator=new If,this.keyEncryptionAlgorithm=new ff,this.recipientEncryptedKeys=new Tf,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Rf.prototype,"version",void 0),Pu([Ru({type:If,context:0})],Rf.prototype,"originator",void 0),Pu([Ru({type:Xh,context:1,optional:!0})],Rf.prototype,"ukm",void 0),Pu([Ru({type:ff})],Rf.prototype,"keyEncryptionAlgorithm",void 0),Pu([Ru({type:Tf})],Rf.prototype,"recipientEncryptedKeys",void 0);let kf=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:cd,context:0,implicit:!0})],kf.prototype,"subjectKeyIdentifier",void 0),Pu([Ru({type:Af})],kf.prototype,"issuerAndSerialNumber",void 0),kf=Pu([Iu({type:jl.Choice})],kf);class Nf{constructor(t={}){this.version=uf.v0,this.rid=new kf,this.keyEncryptionAlgorithm=new ff,this.encryptedKey=new Xh,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Nf.prototype,"version",void 0),Pu([Ru({type:kf})],Nf.prototype,"rid",void 0),Pu([Ru({type:ff})],Nf.prototype,"keyEncryptionAlgorithm",void 0),Pu([Ru({type:Xh})],Nf.prototype,"encryptedKey",void 0);class Of{constructor(t={}){this.keyIdentifier=new Xh,Object.assign(this,t)}}Pu([Ru({type:Xh})],Of.prototype,"keyIdentifier",void 0),Pu([Ru({type:Vl.GeneralizedTime,optional:!0})],Of.prototype,"date",void 0),Pu([Ru({type:vf,optional:!0})],Of.prototype,"other",void 0);class Bf{constructor(t={}){this.version=uf.v4,this.kekid=new Of,this.keyEncryptionAlgorithm=new ff,this.encryptedKey=new Xh,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Bf.prototype,"version",void 0),Pu([Ru({type:Of})],Bf.prototype,"kekid",void 0),Pu([Ru({type:ff})],Bf.prototype,"keyEncryptionAlgorithm",void 0),Pu([Ru({type:Xh})],Bf.prototype,"encryptedKey",void 0);class Pf{constructor(t={}){this.version=uf.v0,this.keyEncryptionAlgorithm=new ff,this.encryptedKey=new Xh,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Pf.prototype,"version",void 0),Pu([Ru({type:mf,context:0,optional:!0})],Pf.prototype,"keyDerivationAlgorithm",void 0),Pu([Ru({type:ff})],Pf.prototype,"keyEncryptionAlgorithm",void 0),Pu([Ru({type:Xh})],Pf.prototype,"encryptedKey",void 0);class Df{constructor(t={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Df.prototype,"oriType",void 0),Pu([Ru({type:Vl.Any})],Df.prototype,"oriValue",void 0);let Lf=class{constructor(t={}){Object.assign(this,t)}};var Uf;Pu([Ru({type:Nf,optional:!0})],Lf.prototype,"ktri",void 0),Pu([Ru({type:Rf,context:1,implicit:!0,optional:!0})],Lf.prototype,"kari",void 0),Pu([Ru({type:Bf,context:2,implicit:!0,optional:!0})],Lf.prototype,"kekri",void 0),Pu([Ru({type:Pf,context:3,implicit:!0,optional:!0})],Lf.prototype,"pwri",void 0),Pu([Ru({type:Df,context:4,implicit:!0,optional:!0})],Lf.prototype,"ori",void 0),Lf=Pu([Iu({type:jl.Choice})],Lf);let Mf=Uf=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Uf.prototype)}};var Ff;Mf=Uf=Pu([Iu({type:jl.Set,itemType:Lf})],Mf);class Hf{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Hf.prototype,"otherRevInfoFormat",void 0),Pu([Ru({type:Vl.Any})],Hf.prototype,"otherRevInfo",void 0);let Wf=class{constructor(t={}){this.other=new Hf,Object.assign(this,t)}};Pu([Ru({type:Hf,context:1,implicit:!0})],Wf.prototype,"other",void 0),Wf=Pu([Iu({type:jl.Choice})],Wf);let jf=Ff=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Ff.prototype)}};jf=Ff=Pu([Iu({type:jl.Set,itemType:Wf})],jf);class Vf{constructor(t={}){Object.assign(this,t)}}var Gf;Pu([Ru({type:af,context:0,implicit:!0,optional:!0})],Vf.prototype,"certs",void 0),Pu([Ru({type:jf,context:1,implicit:!0,optional:!0})],Vf.prototype,"crls",void 0);let zf=Gf=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Gf.prototype)}};zf=Gf=Pu([Iu({type:jl.Set,itemType:Rd})],zf);class qf{constructor(t={}){this.version=uf.v0,this.recipientInfos=new Mf,this.encryptedContentInfo=new bf,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],qf.prototype,"version",void 0),Pu([Ru({type:Vf,context:0,implicit:!0,optional:!0})],qf.prototype,"originatorInfo",void 0),Pu([Ru({type:Mf})],qf.prototype,"recipientInfos",void 0),Pu([Ru({type:bf})],qf.prototype,"encryptedContentInfo",void 0),Pu([Ru({type:zf,context:1,implicit:!0,optional:!0})],qf.prototype,"unprotectedAttrs",void 0);let Qf=class{constructor(t={}){Object.assign(this,t)}};var Kf;Pu([Ru({type:cd,context:0,implicit:!0})],Qf.prototype,"subjectKeyIdentifier",void 0),Pu([Ru({type:Af})],Qf.prototype,"issuerAndSerialNumber",void 0),Qf=Pu([Iu({type:jl.Choice})],Qf);class Yf{constructor(t={}){this.version=uf.v0,this.sid=new Qf,this.digestAlgorithm=new pf,this.signatureAlgorithm=new df,this.signature=new Xh,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Yf.prototype,"version",void 0),Pu([Ru({type:Qf})],Yf.prototype,"sid",void 0),Pu([Ru({type:pf})],Yf.prototype,"digestAlgorithm",void 0),Pu([Ru({type:Rd,repeated:"set",context:0,implicit:!0,optional:!0})],Yf.prototype,"signedAttrs",void 0),Pu([Ru({type:df})],Yf.prototype,"signatureAlgorithm",void 0),Pu([Ru({type:Xh})],Yf.prototype,"signature",void 0),Pu([Ru({type:Rd,repeated:"set",context:1,implicit:!0,optional:!0})],Yf.prototype,"unsignedAttrs",void 0);let Jf=Kf=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Kf.prototype)}};var Xf;Jf=Kf=Pu([Iu({type:jl.Set,itemType:Yf})],Jf);let Zf=Xf=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Xf.prototype)}};Zf=Xf=Pu([Iu({type:jl.Set,itemType:pf})],Zf);class $f{constructor(t={}){this.version=uf.v0,this.digestAlgorithms=new Zf,this.encapContentInfo=new hf,this.signerInfos=new Jf,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],$f.prototype,"version",void 0),Pu([Ru({type:Zf})],$f.prototype,"digestAlgorithms",void 0),Pu([Ru({type:hf})],$f.prototype,"encapContentInfo",void 0),Pu([Ru({type:af,context:0,implicit:!0,optional:!0})],$f.prototype,"certificates",void 0),Pu([Ru({type:Wf,context:1,implicit:!0,optional:!0})],$f.prototype,"crls",void 0),Pu([Ru({type:Jf})],$f.prototype,"signerInfos",void 0);const tg="1.2.840.10045.2.1",eg="1.2.840.10045.4.1",rg="1.2.840.10045.4.3.1",ig="1.2.840.10045.4.3.2",ng="1.2.840.10045.4.3.3",sg="1.2.840.10045.4.3.4",og="1.2.840.10045.3.1.7",ag="1.3.132.0.34",cg="1.3.132.0.35";function lg(t){return new gd({algorithm:t})}const hg=lg(eg),ug=(lg(rg),lg(ig)),pg=lg(ng),dg=lg(sg);let fg=class{constructor(t={}){Object.assign(this,t)}};Pu([Ru({type:Vl.ObjectIdentifier})],fg.prototype,"namedCurve",void 0),fg=Pu([Iu({type:jl.Choice})],fg);class gg{constructor(t={}){this.version=1,this.privateKey=new Xh,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],gg.prototype,"version",void 0),Pu([Ru({type:Xh})],gg.prototype,"privateKey",void 0),Pu([Ru({type:fg,context:0,optional:!0})],gg.prototype,"parameters",void 0),Pu([Ru({type:Vl.BitString,context:1,optional:!0})],gg.prototype,"publicKey",void 0);class yg{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.Integer,converter:eu})],yg.prototype,"r",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],yg.prototype,"s",void 0);const mg="1.2.840.113549.1.1",wg=`${mg}.1`,bg=`${mg}.7`,Ag=`${mg}.9`,vg=`${mg}.10`,_g=`${mg}.2`,Eg=`${mg}.4`,Sg=`${mg}.5`,xg=`${mg}.14`,Tg=`${mg}.11`,Cg=`${mg}.12`,Ig=`${mg}.13`,Rg=`${mg}.15`,kg=`${mg}.16`,Ng="1.3.14.3.2.26",Og="2.16.840.1.101.3.4.2.4",Bg="2.16.840.1.101.3.4.2.1",Pg="2.16.840.1.101.3.4.2.2",Dg="2.16.840.1.101.3.4.2.3",Lg=`${mg}.8`;function Ug(t){return new gd({algorithm:t,parameters:null})}Ug("1.2.840.113549.2.2"),Ug("1.2.840.113549.2.5");const Mg=Ug(Ng),Fg=(Ug(Og),Ug(Bg),Ug(Pg),Ug(Dg),Ug("2.16.840.1.101.3.4.2.5"),Ug("2.16.840.1.101.3.4.2.6"),new gd({algorithm:Lg,parameters:Bu.serialize(Mg)})),Hg=new gd({algorithm:Ag,parameters:Bu.serialize(su.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});Ug(wg),Ug(_g),Ug(Eg),Ug(Sg),Ug(Rg),Ug(kg),Ug(Cg),Ug(Ig),Ug(Rg),Ug(kg);class Wg{constructor(t={}){this.hashAlgorithm=new gd(Mg),this.maskGenAlgorithm=new gd({algorithm:Lg,parameters:Bu.serialize(Mg)}),this.pSourceAlgorithm=new gd(Hg),Object.assign(this,t)}}Pu([Ru({type:gd,context:0,defaultValue:Mg})],Wg.prototype,"hashAlgorithm",void 0),Pu([Ru({type:gd,context:1,defaultValue:Fg})],Wg.prototype,"maskGenAlgorithm",void 0),Pu([Ru({type:gd,context:2,defaultValue:Hg})],Wg.prototype,"pSourceAlgorithm",void 0),new gd({algorithm:bg,parameters:Bu.serialize(new Wg)});class jg{constructor(t={}){this.hashAlgorithm=new gd(Mg),this.maskGenAlgorithm=new gd({algorithm:Lg,parameters:Bu.serialize(Mg)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}Pu([Ru({type:gd,context:0,defaultValue:Mg})],jg.prototype,"hashAlgorithm",void 0),Pu([Ru({type:gd,context:1,defaultValue:Fg})],jg.prototype,"maskGenAlgorithm",void 0),Pu([Ru({type:Vl.Integer,context:2,defaultValue:20})],jg.prototype,"saltLength",void 0),Pu([Ru({type:Vl.Integer,context:3,defaultValue:1})],jg.prototype,"trailerField",void 0),new gd({algorithm:vg,parameters:Bu.serialize(new jg)});class Vg{constructor(t={}){this.digestAlgorithm=new gd,this.digest=new Xh,Object.assign(this,t)}}var Gg;Pu([Ru({type:gd})],Vg.prototype,"digestAlgorithm",void 0),Pu([Ru({type:Xh})],Vg.prototype,"digest",void 0);class zg{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.Integer,converter:eu})],zg.prototype,"prime",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],zg.prototype,"exponent",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],zg.prototype,"coefficient",void 0);let qg=Gg=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Gg.prototype)}};qg=Gg=Pu([Iu({type:jl.Sequence,itemType:zg})],qg);class Qg{constructor(t={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],Qg.prototype,"version",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"modulus",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"publicExponent",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"privateExponent",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"prime1",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"prime2",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"exponent1",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"exponent2",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Qg.prototype,"coefficient",void 0),Pu([Ru({type:qg,optional:!0})],Qg.prototype,"otherPrimeInfos",void 0);class Kg{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}function Yg(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}var Jg;Pu([Ru({type:Vl.Integer,converter:eu})],Kg.prototype,"modulus",void 0),Pu([Ru({type:Vl.Integer,converter:eu})],Kg.prototype,"publicExponent",void 0),Object.create,Object.create,function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"}(Jg||(Jg={}));const Xg=Jg;
81
81
  /*! *****************************************************************************
82
82
  Copyright (c) Microsoft Corporation.
83
83
 
@@ -91,7 +91,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
91
91
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
92
92
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
93
93
  PERFORMANCE OF THIS SOFTWARE.
94
- ***************************************************************************** */var Xg=function(t,e){return Xg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},Xg(t,e)};function Zg(t,e){function r(){this.constructor=t}Xg(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function $g(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ty(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,s=r.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function ey(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(ty(arguments[e]));return t}function ry(t){return!!t.useClass}function iy(t){return!!t.useFactory}var ny=function(){function t(t){this.wrap=t,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(t){var e,r=this,i=!1;return new Proxy({},this.createHandler((function(){return i||(e=t(r.wrap()),i=!0),e})))},t.prototype.createHandler=function(t){var e={};return this.reflectMethods.forEach((function(r){e[r]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return e[0]=t(),Reflect[r].apply(void 0,ey(e))}})),e},t}();function sy(t){return"string"==typeof t||"symbol"==typeof t}function oy(t){return"object"==typeof t&&"token"in t&&"transform"in t}function ay(t){return!!t.useToken}function cy(t){return null!=t.useValue}const ly=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(t){return this.ensure(t),this._registryMap.get(t)},t.prototype.get=function(t){this.ensure(t);var e=this._registryMap.get(t);return e[e.length-1]||null},t.prototype.set=function(t,e){this.ensure(t),this._registryMap.get(t).push(e)},t.prototype.setAll=function(t,e){this._registryMap.set(t,e)},t.prototype.has=function(t){return this.ensure(t),this._registryMap.get(t).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(t){this._registryMap.has(t)||this._registryMap.set(t,[])},t}(),hy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Zg(e,t),e}(ly),uy=function(){this.scopedResolutions=new Map};var py=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Zg(e,t),e}(ly),dy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Zg(e,t),e}(ly);const fy=function(){this.preResolution=new py,this.postResolution=new dy};var gy=new Map,yy=function(){function t(t){this.parent=t,this._registry=new hy,this.interceptors=new fy,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(t,e,r){var i;if(void 0===r&&(r={lifecycle:Jg.Transient}),this.ensureNotDisposed(),i=function(t){return ry(t)||cy(t)||ay(t)||iy(t)}(e)?e:{useClass:e},ay(i))for(var n=[t],s=i;null!=s;){var o=s.useToken;if(n.includes(o))throw new Error("Token registration cycle detected! "+ey(n,[o]).join(" -> "));n.push(o);var a=this._registry.get(o);s=a&&ay(a.provider)?a.provider:null}if((r.lifecycle===Jg.Singleton||r.lifecycle==Jg.ContainerScoped||r.lifecycle==Jg.ResolutionScoped)&&(cy(i)||iy(i)))throw new Error('Cannot use lifecycle "'+Jg[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(t,{provider:i,options:r}),this},t.prototype.registerType=function(t,e){return this.ensureNotDisposed(),sy(e)?this.register(t,{useToken:e}):this.register(t,{useClass:e})},t.prototype.registerInstance=function(t,e){return this.ensureNotDisposed(),this.register(t,{useValue:e})},t.prototype.registerSingleton=function(t,e){if(this.ensureNotDisposed(),sy(t)){if(sy(e))return this.register(t,{useToken:e},{lifecycle:Jg.Singleton});if(e)return this.register(t,{useClass:e},{lifecycle:Jg.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=t;return e&&!sy(e)&&(r=e),this.register(t,{useClass:r},{lifecycle:Jg.Singleton})},t.prototype.resolve=function(t,e){void 0===e&&(e=new uy),this.ensureNotDisposed();var r=this.getRegistration(t);if(!r&&sy(t))throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"');if(this.executePreResolutionInterceptor(t,"Single"),r){var i=this.resolveRegistration(r,e);return this.executePostResolutionInterceptor(t,i,"Single"),i}if(function(t){return"function"==typeof t||t instanceof ny}(t))return i=this.construct(t,e),this.executePostResolutionInterceptor(t,i,"Single"),i;throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(t,e){var r,i;if(this.interceptors.preResolution.has(t)){var n=[];try{for(var s=$g(this.interceptors.preResolution.getAll(t)),o=s.next();!o.done;o=s.next()){var a=o.value;"Once"!=a.options.frequency&&n.push(a),a.callback(t,e)}}catch(t){r={error:t}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(t,n)}},t.prototype.executePostResolutionInterceptor=function(t,e,r){var i,n;if(this.interceptors.postResolution.has(t)){var s=[];try{for(var o=$g(this.interceptors.postResolution.getAll(t)),a=o.next();!a.done;a=o.next()){var c=a.value;"Once"!=c.options.frequency&&s.push(c),c.callback(t,e,r)}}catch(t){i={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(t,s)}},t.prototype.resolveRegistration=function(t,e){if(this.ensureNotDisposed(),t.options.lifecycle===Jg.ResolutionScoped&&e.scopedResolutions.has(t))return e.scopedResolutions.get(t);var r,i=t.options.lifecycle===Jg.Singleton,n=t.options.lifecycle===Jg.ContainerScoped,s=i||n;return r=cy(t.provider)?t.provider.useValue:ay(t.provider)?s?t.instance||(t.instance=this.resolve(t.provider.useToken,e)):this.resolve(t.provider.useToken,e):ry(t.provider)?s?t.instance||(t.instance=this.construct(t.provider.useClass,e)):this.construct(t.provider.useClass,e):iy(t.provider)?t.provider.useFactory(this):this.construct(t.provider,e),t.options.lifecycle===Jg.ResolutionScoped&&e.scopedResolutions.set(t,r),r},t.prototype.resolveAll=function(t,e){var r=this;void 0===e&&(e=new uy),this.ensureNotDisposed();var i=this.getAllRegistrations(t);if(!i&&sy(t))throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"');if(this.executePreResolutionInterceptor(t,"All"),i){var n=i.map((function(t){return r.resolveRegistration(t,e)}));return this.executePostResolutionInterceptor(t,n,"All"),n}var s=[this.construct(t,e)];return this.executePostResolutionInterceptor(t,s,"All"),s},t.prototype.isRegistered=function(t,e){return void 0===e&&(e=!1),this.ensureNotDisposed(),this._registry.has(t)||e&&(this.parent||!1)&&this.parent.isRegistered(t,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var t,e;this.ensureNotDisposed();try{for(var r=$g(this._registry.entries()),i=r.next();!i.done;i=r.next()){var n=ty(i.value,2),s=n[0],o=n[1];this._registry.setAll(s,o.filter((function(t){return!cy(t.provider)})).map((function(t){return t.instance=void 0,t})))}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},t.prototype.createChildContainer=function(){var e,r;this.ensureNotDisposed();var i=new t(this);try{for(var n=$g(this._registry.entries()),s=n.next();!s.done;s=n.next()){var o=ty(s.value,2),a=o[0],c=o[1];c.some((function(t){return t.options.lifecycle===Jg.ContainerScoped}))&&i._registry.setAll(a,c.map((function(t){return t.options.lifecycle===Jg.ContainerScoped?{provider:t.provider,options:t.options}:t})))}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return i},t.prototype.beforeResolution=function(t,e,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.preResolution.set(t,{callback:e,options:r})},t.prototype.afterResolution=function(t,e,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.postResolution.set(t,{callback:e,options:r})},t.prototype.dispose=function(){return function(t,e,r,i){return new(r||(r=Promise))((function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var t;return function(t,e){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){o.label=s[1];break}if(6===s[0]&&o.label<n[1]){o.label=n[1],n=s;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(s);break}n[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(t,o)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}(this,(function(e){switch(e.label){case 0:return this.disposed=!0,t=[],this.disposables.forEach((function(e){var r=e.dispose();r&&t.push(r)})),[4,Promise.all(t)];case 1:return e.sent(),[2]}}))}))},t.prototype.getRegistration=function(t){return this.isRegistered(t)?this._registry.get(t):this.parent?this.parent.getRegistration(t):null},t.prototype.getAllRegistrations=function(t){return this.isRegistered(t)?this._registry.getAll(t):this.parent?this.parent.getAllRegistrations(t):null},t.prototype.construct=function(t,e){var r=this;if(t instanceof ny)return t.createProxy((function(t){return r.resolve(t,e)}));var i,n=function(){var i=gy.get(t);if(!i||0===i.length){if(0===t.length)return new t;throw new Error('TypeInfo not known for "'+t.name+'"')}var n=i.map(r.resolveParams(e,t));return new(t.bind.apply(t,ey([void 0],n)))}();return"function"!=typeof(i=n).dispose||i.dispose.length>0||this.disposables.add(n),n},t.prototype.resolveParams=function(t,e){var r=this;return function(i,n){var s,o,a,c;try{return"object"==typeof(c=i)&&"token"in c&&"multiple"in c?oy(i)?i.multiple?(s=r.resolve(i.transform)).transform.apply(s,ey([r.resolveAll(i.token)],i.transformArgs)):(o=r.resolve(i.transform)).transform.apply(o,ey([r.resolve(i.token,t)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,t):oy(i)?(a=r.resolve(i.transform,t)).transform.apply(a,ey([r.resolve(i.token,t)],i.transformArgs)):r.resolve(i,t)}catch(t){throw new Error(function(t,e,r){var i,n,s=ty(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2)[1],o=function(t,e){return null===t?"at position #"+e:'"'+t.split(",")[e].trim()+'" at position #'+e}(void 0===s?null:s,e);return i="Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',void 0===n&&(n=" "),ey([i],r.message.split("\n").map((function(t){return n+t}))).join("\n")}(e,n,t))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),my=new yy;const wy=function(){return function(t){gy.set(t,function(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],r=Reflect.getOwnMetadata("injectionTokens",t)||{};return Object.keys(r).forEach((function(t){e[+t]=r[t]})),e}(t))}};if("undefined"==typeof Reflect||!Reflect.getMetadata)throw new Error("tsyringe requires a reflect polyfill. Please add 'import \"reflect-metadata\"' to the top of your entry point.");var by;class Ay{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}Bu([Iu({type:jl.ObjectIdentifier})],Ay.prototype,"attrId",void 0),Bu([Iu({type:jl.Any,repeated:"set"})],Ay.prototype,"attrValues",void 0);let vy=by=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,by.prototype)}};var _y;vy=by=Bu([Cu({type:Wl.Sequence,itemType:Ay})],vy);let Ey=_y=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,_y.prototype)}};Ey=_y=Bu([Cu({type:Wl.Sequence,itemType:af})],Ey);class Sy{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Sy.prototype,"certId",void 0),Bu([Iu({type:jl.Any,context:0})],Sy.prototype,"certValue",void 0);class xy{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],xy.prototype,"crlId",void 0),Bu([Iu({type:jl.Any,context:0})],xy.prototype,"crltValue",void 0);class Ty extends Jh{}class Cy{constructor(t={}){this.encryptionAlgorithm=new fd,this.encryptedData=new Ty,Object.assign(this,t)}}var Iy,Ry;Bu([Iu({type:fd})],Cy.prototype,"encryptionAlgorithm",void 0),Bu([Iu({type:Ty})],Cy.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(Ry||(Ry={}));class ky extends Jh{}let Ny=Iy=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Iy.prototype)}};Ny=Iy=Bu([Cu({type:Wl.Sequence,itemType:id})],Ny);class Oy{constructor(t={}){this.version=Ry.v1,this.privateKeyAlgorithm=new fd,this.privateKey=new ky,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],Oy.prototype,"version",void 0),Bu([Iu({type:fd})],Oy.prototype,"privateKeyAlgorithm",void 0),Bu([Iu({type:ky})],Oy.prototype,"privateKey",void 0),Bu([Iu({type:Ny,implicit:!0,context:0,optional:!0})],Oy.prototype,"attributes",void 0);let By=class extends Oy{};By=Bu([Cu({type:Wl.Sequence})],By);let Py=class extends Cy{};Py=Bu([Cu({type:Wl.Sequence})],Py);class Dy{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Dy.prototype,"secretTypeId",void 0),Bu([Iu({type:jl.Any,context:0})],Dy.prototype,"secretValue",void 0);class Ly{constructor(t={}){this.mac=new jg,this.macSalt=new Jh,this.iterations=1,Object.assign(this,t)}}Bu([Iu({type:jg})],Ly.prototype,"mac",void 0),Bu([Iu({type:Jh})],Ly.prototype,"macSalt",void 0),Bu([Iu({type:jl.Integer,defaultValue:1})],Ly.prototype,"iterations",void 0);class Uy{constructor(t={}){this.version=3,this.authSafe=new af,this.macData=new Ly,Object.assign(this,t)}}var My;Bu([Iu({type:jl.Integer})],Uy.prototype,"version",void 0),Bu([Iu({type:af})],Uy.prototype,"authSafe",void 0),Bu([Iu({type:Ly,optional:!0})],Uy.prototype,"macData",void 0);class Fy{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:jl.ObjectIdentifier})],Fy.prototype,"bagId",void 0),Bu([Iu({type:jl.Any,context:0})],Fy.prototype,"bagValue",void 0),Bu([Iu({type:Ay,repeated:"set",optional:!0})],Fy.prototype,"bagAttributes",void 0);let Hy=My=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,My.prototype)}};var Wy,jy,Vy;Hy=My=Bu([Cu({type:Wl.Sequence,itemType:Fy})],Hy);const Gy="1.2.840.113549.1.9",zy=`${Gy}.7`,qy=`${Gy}.14`;let Qy=class extends Fu{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};Bu([Iu({type:jl.IA5String})],Qy.prototype,"ia5String",void 0),Qy=Bu([Cu({type:Wl.Choice})],Qy);let Ky=class extends af{};Ky=Bu([Cu({type:Wl.Sequence})],Ky);let Yy=class extends Uy{};Yy=Bu([Cu({type:Wl.Sequence})],Yy);let Jy=class extends Cy{};Jy=Bu([Cu({type:Wl.Sequence})],Jy);let Xy=class{constructor(t=""){this.value=t}toString(){return this.value}};Bu([Iu({type:jl.IA5String})],Xy.prototype,"value",void 0),Xy=Bu([Cu({type:Wl.Choice})],Xy);let Zy=class extends Qy{};Zy=Bu([Cu({type:Wl.Choice})],Zy);let $y=class extends Fu{};$y=Bu([Cu({type:Wl.Choice})],$y);let tm=class{constructor(t=new Date){this.value=t}};Bu([Iu({type:jl.GeneralizedTime})],tm.prototype,"value",void 0),tm=Bu([Cu({type:Wl.Choice})],tm);let em=class extends Fu{};em=Bu([Cu({type:Wl.Choice})],em);let rm=class{constructor(t="M"){this.value=t}toString(){return this.value}};Bu([Iu({type:jl.PrintableString})],rm.prototype,"value",void 0),rm=Bu([Cu({type:Wl.Choice})],rm);let im=class{constructor(t=""){this.value=t}toString(){return this.value}};Bu([Iu({type:jl.PrintableString})],im.prototype,"value",void 0),im=Bu([Cu({type:Wl.Choice})],im);let nm=class extends im{};nm=Bu([Cu({type:Wl.Choice})],nm);let sm=class extends Fu{};sm=Bu([Cu({type:Wl.Choice})],sm);let om=class{constructor(t=""){this.value=t}toString(){return this.value}};Bu([Iu({type:jl.ObjectIdentifier})],om.prototype,"value",void 0),om=Bu([Cu({type:Wl.Choice})],om);let am=class extends yd{};am=Bu([Cu({type:Wl.Choice})],am);let cm=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};Bu([Iu({type:jl.Integer})],cm.prototype,"value",void 0),cm=Bu([Cu({type:Wl.Choice})],cm);let lm=class extends Kf{};lm=Bu([Cu({type:Wl.Sequence})],lm);let hm=class extends Fu{};hm=Bu([Cu({type:Wl.Choice})],hm);let um=Wy=class extends Ad{constructor(t){super(t),Object.setPrototypeOf(this,Wy.prototype)}};um=Wy=Bu([Cu({type:Wl.Sequence})],um);let pm=jy=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,jy.prototype)}};pm=jy=Bu([Cu({type:Wl.Set,itemType:Id})],pm);let dm=class{constructor(t=""){this.value=t}toString(){return this.value}};Bu([Iu({type:jl.BmpString})],dm.prototype,"value",void 0),dm=Bu([Cu({type:Wl.Choice})],dm);let fm=class extends fd{};fm=Bu([Cu({type:Wl.Sequence})],fm);let gm=Vy=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Vy.prototype)}};var ym;gm=Vy=Bu([Cu({type:Wl.Sequence,itemType:fm})],gm);let mm=ym=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,ym.prototype)}};mm=ym=Bu([Cu({type:Wl.Sequence,itemType:id})],mm);class wm{constructor(t={}){this.version=0,this.subject=new Gu,this.subjectPKInfo=new gd,this.attributes=new mm,Object.assign(this,t)}}Bu([Iu({type:jl.Integer})],wm.prototype,"version",void 0),Bu([Iu({type:Gu})],wm.prototype,"subject",void 0),Bu([Iu({type:gd})],wm.prototype,"subjectPKInfo",void 0),Bu([Iu({type:mm,implicit:!0,context:0})],wm.prototype,"attributes",void 0);class bm{constructor(t={}){this.certificationRequestInfo=new wm,this.signatureAlgorithm=new fd,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}Bu([Iu({type:wm})],bm.prototype,"certificationRequestInfo",void 0),Bu([Iu({type:fd})],bm.prototype,"signatureAlgorithm",void 0),Bu([Iu({type:jl.BitString})],bm.prototype,"signature",void 0);
94
+ ***************************************************************************** */var Zg=function(t,e){return Zg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},Zg(t,e)};function $g(t,e){function r(){this.constructor=t}Zg(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function ty(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function ey(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,s=r.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function ry(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(ey(arguments[e]));return t}function iy(t){return!!t.useClass}function ny(t){return!!t.useFactory}var sy=function(){function t(t){this.wrap=t,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(t){var e,r=this,i=!1;return new Proxy({},this.createHandler((function(){return i||(e=t(r.wrap()),i=!0),e})))},t.prototype.createHandler=function(t){var e={};return this.reflectMethods.forEach((function(r){e[r]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return e[0]=t(),Reflect[r].apply(void 0,ry(e))}})),e},t}();function oy(t){return"string"==typeof t||"symbol"==typeof t}function ay(t){return"object"==typeof t&&"token"in t&&"transform"in t}function cy(t){return!!t.useToken}function ly(t){return null!=t.useValue}const hy=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(t){return this.ensure(t),this._registryMap.get(t)},t.prototype.get=function(t){this.ensure(t);var e=this._registryMap.get(t);return e[e.length-1]||null},t.prototype.set=function(t,e){this.ensure(t),this._registryMap.get(t).push(e)},t.prototype.setAll=function(t,e){this._registryMap.set(t,e)},t.prototype.has=function(t){return this.ensure(t),this._registryMap.get(t).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(t){this._registryMap.has(t)||this._registryMap.set(t,[])},t}(),uy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return $g(e,t),e}(hy),py=function(){this.scopedResolutions=new Map};var dy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return $g(e,t),e}(hy),fy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return $g(e,t),e}(hy);const gy=function(){this.preResolution=new dy,this.postResolution=new fy};var yy=new Map,my=function(){function t(t){this.parent=t,this._registry=new uy,this.interceptors=new gy,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(t,e,r){var i;if(void 0===r&&(r={lifecycle:Xg.Transient}),this.ensureNotDisposed(),i=function(t){return iy(t)||ly(t)||cy(t)||ny(t)}(e)?e:{useClass:e},cy(i))for(var n=[t],s=i;null!=s;){var o=s.useToken;if(n.includes(o))throw new Error("Token registration cycle detected! "+ry(n,[o]).join(" -> "));n.push(o);var a=this._registry.get(o);s=a&&cy(a.provider)?a.provider:null}if((r.lifecycle===Xg.Singleton||r.lifecycle==Xg.ContainerScoped||r.lifecycle==Xg.ResolutionScoped)&&(ly(i)||ny(i)))throw new Error('Cannot use lifecycle "'+Xg[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(t,{provider:i,options:r}),this},t.prototype.registerType=function(t,e){return this.ensureNotDisposed(),oy(e)?this.register(t,{useToken:e}):this.register(t,{useClass:e})},t.prototype.registerInstance=function(t,e){return this.ensureNotDisposed(),this.register(t,{useValue:e})},t.prototype.registerSingleton=function(t,e){if(this.ensureNotDisposed(),oy(t)){if(oy(e))return this.register(t,{useToken:e},{lifecycle:Xg.Singleton});if(e)return this.register(t,{useClass:e},{lifecycle:Xg.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=t;return e&&!oy(e)&&(r=e),this.register(t,{useClass:r},{lifecycle:Xg.Singleton})},t.prototype.resolve=function(t,e){void 0===e&&(e=new py),this.ensureNotDisposed();var r=this.getRegistration(t);if(!r&&oy(t))throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"');if(this.executePreResolutionInterceptor(t,"Single"),r){var i=this.resolveRegistration(r,e);return this.executePostResolutionInterceptor(t,i,"Single"),i}if(function(t){return"function"==typeof t||t instanceof sy}(t))return i=this.construct(t,e),this.executePostResolutionInterceptor(t,i,"Single"),i;throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(t,e){var r,i;if(this.interceptors.preResolution.has(t)){var n=[];try{for(var s=ty(this.interceptors.preResolution.getAll(t)),o=s.next();!o.done;o=s.next()){var a=o.value;"Once"!=a.options.frequency&&n.push(a),a.callback(t,e)}}catch(t){r={error:t}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(t,n)}},t.prototype.executePostResolutionInterceptor=function(t,e,r){var i,n;if(this.interceptors.postResolution.has(t)){var s=[];try{for(var o=ty(this.interceptors.postResolution.getAll(t)),a=o.next();!a.done;a=o.next()){var c=a.value;"Once"!=c.options.frequency&&s.push(c),c.callback(t,e,r)}}catch(t){i={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(t,s)}},t.prototype.resolveRegistration=function(t,e){if(this.ensureNotDisposed(),t.options.lifecycle===Xg.ResolutionScoped&&e.scopedResolutions.has(t))return e.scopedResolutions.get(t);var r,i=t.options.lifecycle===Xg.Singleton,n=t.options.lifecycle===Xg.ContainerScoped,s=i||n;return r=ly(t.provider)?t.provider.useValue:cy(t.provider)?s?t.instance||(t.instance=this.resolve(t.provider.useToken,e)):this.resolve(t.provider.useToken,e):iy(t.provider)?s?t.instance||(t.instance=this.construct(t.provider.useClass,e)):this.construct(t.provider.useClass,e):ny(t.provider)?t.provider.useFactory(this):this.construct(t.provider,e),t.options.lifecycle===Xg.ResolutionScoped&&e.scopedResolutions.set(t,r),r},t.prototype.resolveAll=function(t,e){var r=this;void 0===e&&(e=new py),this.ensureNotDisposed();var i=this.getAllRegistrations(t);if(!i&&oy(t))throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"');if(this.executePreResolutionInterceptor(t,"All"),i){var n=i.map((function(t){return r.resolveRegistration(t,e)}));return this.executePostResolutionInterceptor(t,n,"All"),n}var s=[this.construct(t,e)];return this.executePostResolutionInterceptor(t,s,"All"),s},t.prototype.isRegistered=function(t,e){return void 0===e&&(e=!1),this.ensureNotDisposed(),this._registry.has(t)||e&&(this.parent||!1)&&this.parent.isRegistered(t,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var t,e;this.ensureNotDisposed();try{for(var r=ty(this._registry.entries()),i=r.next();!i.done;i=r.next()){var n=ey(i.value,2),s=n[0],o=n[1];this._registry.setAll(s,o.filter((function(t){return!ly(t.provider)})).map((function(t){return t.instance=void 0,t})))}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},t.prototype.createChildContainer=function(){var e,r;this.ensureNotDisposed();var i=new t(this);try{for(var n=ty(this._registry.entries()),s=n.next();!s.done;s=n.next()){var o=ey(s.value,2),a=o[0],c=o[1];c.some((function(t){return t.options.lifecycle===Xg.ContainerScoped}))&&i._registry.setAll(a,c.map((function(t){return t.options.lifecycle===Xg.ContainerScoped?{provider:t.provider,options:t.options}:t})))}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return i},t.prototype.beforeResolution=function(t,e,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.preResolution.set(t,{callback:e,options:r})},t.prototype.afterResolution=function(t,e,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.postResolution.set(t,{callback:e,options:r})},t.prototype.dispose=function(){return function(t,e,r,i){return new(r||(r=Promise))((function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(o,a)}c((i=i.apply(t,e||[])).next())}))}(this,void 0,void 0,(function(){var t;return function(t,e){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!((n=(n=o.trys).length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){o.label=s[1];break}if(6===s[0]&&o.label<n[1]){o.label=n[1],n=s;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(s);break}n[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(t,o)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}(this,(function(e){switch(e.label){case 0:return this.disposed=!0,t=[],this.disposables.forEach((function(e){var r=e.dispose();r&&t.push(r)})),[4,Promise.all(t)];case 1:return e.sent(),[2]}}))}))},t.prototype.getRegistration=function(t){return this.isRegistered(t)?this._registry.get(t):this.parent?this.parent.getRegistration(t):null},t.prototype.getAllRegistrations=function(t){return this.isRegistered(t)?this._registry.getAll(t):this.parent?this.parent.getAllRegistrations(t):null},t.prototype.construct=function(t,e){var r=this;if(t instanceof sy)return t.createProxy((function(t){return r.resolve(t,e)}));var i,n=function(){var i=yy.get(t);if(!i||0===i.length){if(0===t.length)return new t;throw new Error('TypeInfo not known for "'+t.name+'"')}var n=i.map(r.resolveParams(e,t));return new(t.bind.apply(t,ry([void 0],n)))}();return"function"!=typeof(i=n).dispose||i.dispose.length>0||this.disposables.add(n),n},t.prototype.resolveParams=function(t,e){var r=this;return function(i,n){var s,o,a,c;try{return"object"==typeof(c=i)&&"token"in c&&"multiple"in c?ay(i)?i.multiple?(s=r.resolve(i.transform)).transform.apply(s,ry([r.resolveAll(i.token)],i.transformArgs)):(o=r.resolve(i.transform)).transform.apply(o,ry([r.resolve(i.token,t)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,t):ay(i)?(a=r.resolve(i.transform,t)).transform.apply(a,ry([r.resolve(i.token,t)],i.transformArgs)):r.resolve(i,t)}catch(t){throw new Error(function(t,e,r){var i,n,s=ey(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2)[1],o=function(t,e){return null===t?"at position #"+e:'"'+t.split(",")[e].trim()+'" at position #'+e}(void 0===s?null:s,e);return i="Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',void 0===n&&(n=" "),ry([i],r.message.split("\n").map((function(t){return n+t}))).join("\n")}(e,n,t))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),wy=new my;const by=function(){return function(t){yy.set(t,function(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],r=Reflect.getOwnMetadata("injectionTokens",t)||{};return Object.keys(r).forEach((function(t){e[+t]=r[t]})),e}(t))}};if("undefined"==typeof Reflect||!Reflect.getMetadata)throw new Error("tsyringe requires a reflect polyfill. Please add 'import \"reflect-metadata\"' to the top of your entry point.");var Ay;class vy{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}Pu([Ru({type:Vl.ObjectIdentifier})],vy.prototype,"attrId",void 0),Pu([Ru({type:Vl.Any,repeated:"set"})],vy.prototype,"attrValues",void 0);let _y=Ay=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Ay.prototype)}};var Ey;_y=Ay=Pu([Iu({type:jl.Sequence,itemType:vy})],_y);let Sy=Ey=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Ey.prototype)}};Sy=Ey=Pu([Iu({type:jl.Sequence,itemType:cf})],Sy);class xy{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],xy.prototype,"certId",void 0),Pu([Ru({type:Vl.Any,context:0})],xy.prototype,"certValue",void 0);class Ty{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Ty.prototype,"crlId",void 0),Pu([Ru({type:Vl.Any,context:0})],Ty.prototype,"crltValue",void 0);class Cy extends Xh{}class Iy{constructor(t={}){this.encryptionAlgorithm=new gd,this.encryptedData=new Cy,Object.assign(this,t)}}var Ry,ky;Pu([Ru({type:gd})],Iy.prototype,"encryptionAlgorithm",void 0),Pu([Ru({type:Cy})],Iy.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(ky||(ky={}));class Ny extends Xh{}let Oy=Ry=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Ry.prototype)}};Oy=Ry=Pu([Iu({type:jl.Sequence,itemType:nd})],Oy);class By{constructor(t={}){this.version=ky.v1,this.privateKeyAlgorithm=new gd,this.privateKey=new Ny,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],By.prototype,"version",void 0),Pu([Ru({type:gd})],By.prototype,"privateKeyAlgorithm",void 0),Pu([Ru({type:Ny})],By.prototype,"privateKey",void 0),Pu([Ru({type:Oy,implicit:!0,context:0,optional:!0})],By.prototype,"attributes",void 0);let Py=class extends By{};Py=Pu([Iu({type:jl.Sequence})],Py);let Dy=class extends Iy{};Dy=Pu([Iu({type:jl.Sequence})],Dy);class Ly{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Ly.prototype,"secretTypeId",void 0),Pu([Ru({type:Vl.Any,context:0})],Ly.prototype,"secretValue",void 0);class Uy{constructor(t={}){this.mac=new Vg,this.macSalt=new Xh,this.iterations=1,Object.assign(this,t)}}Pu([Ru({type:Vg})],Uy.prototype,"mac",void 0),Pu([Ru({type:Xh})],Uy.prototype,"macSalt",void 0),Pu([Ru({type:Vl.Integer,defaultValue:1})],Uy.prototype,"iterations",void 0);class My{constructor(t={}){this.version=3,this.authSafe=new cf,this.macData=new Uy,Object.assign(this,t)}}var Fy;Pu([Ru({type:Vl.Integer})],My.prototype,"version",void 0),Pu([Ru({type:cf})],My.prototype,"authSafe",void 0),Pu([Ru({type:Uy,optional:!0})],My.prototype,"macData",void 0);class Hy{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:Vl.ObjectIdentifier})],Hy.prototype,"bagId",void 0),Pu([Ru({type:Vl.Any,context:0})],Hy.prototype,"bagValue",void 0),Pu([Ru({type:vy,repeated:"set",optional:!0})],Hy.prototype,"bagAttributes",void 0);let Wy=Fy=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Fy.prototype)}};var jy,Vy,Gy;Wy=Fy=Pu([Iu({type:jl.Sequence,itemType:Hy})],Wy);const zy="1.2.840.113549.1.9",qy=`${zy}.7`,Qy=`${zy}.14`;let Ky=class extends Hu{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};Pu([Ru({type:Vl.IA5String})],Ky.prototype,"ia5String",void 0),Ky=Pu([Iu({type:jl.Choice})],Ky);let Yy=class extends cf{};Yy=Pu([Iu({type:jl.Sequence})],Yy);let Jy=class extends My{};Jy=Pu([Iu({type:jl.Sequence})],Jy);let Xy=class extends Iy{};Xy=Pu([Iu({type:jl.Sequence})],Xy);let Zy=class{constructor(t=""){this.value=t}toString(){return this.value}};Pu([Ru({type:Vl.IA5String})],Zy.prototype,"value",void 0),Zy=Pu([Iu({type:jl.Choice})],Zy);let $y=class extends Ky{};$y=Pu([Iu({type:jl.Choice})],$y);let tm=class extends Hu{};tm=Pu([Iu({type:jl.Choice})],tm);let em=class{constructor(t=new Date){this.value=t}};Pu([Ru({type:Vl.GeneralizedTime})],em.prototype,"value",void 0),em=Pu([Iu({type:jl.Choice})],em);let rm=class extends Hu{};rm=Pu([Iu({type:jl.Choice})],rm);let im=class{constructor(t="M"){this.value=t}toString(){return this.value}};Pu([Ru({type:Vl.PrintableString})],im.prototype,"value",void 0),im=Pu([Iu({type:jl.Choice})],im);let nm=class{constructor(t=""){this.value=t}toString(){return this.value}};Pu([Ru({type:Vl.PrintableString})],nm.prototype,"value",void 0),nm=Pu([Iu({type:jl.Choice})],nm);let sm=class extends nm{};sm=Pu([Iu({type:jl.Choice})],sm);let om=class extends Hu{};om=Pu([Iu({type:jl.Choice})],om);let am=class{constructor(t=""){this.value=t}toString(){return this.value}};Pu([Ru({type:Vl.ObjectIdentifier})],am.prototype,"value",void 0),am=Pu([Iu({type:jl.Choice})],am);let cm=class extends md{};cm=Pu([Iu({type:jl.Choice})],cm);let lm=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};Pu([Ru({type:Vl.Integer})],lm.prototype,"value",void 0),lm=Pu([Iu({type:jl.Choice})],lm);let hm=class extends Yf{};hm=Pu([Iu({type:jl.Sequence})],hm);let um=class extends Hu{};um=Pu([Iu({type:jl.Choice})],um);let pm=jy=class extends vd{constructor(t){super(t),Object.setPrototypeOf(this,jy.prototype)}};pm=jy=Pu([Iu({type:jl.Sequence})],pm);let dm=Vy=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Vy.prototype)}};dm=Vy=Pu([Iu({type:jl.Set,itemType:Rd})],dm);let fm=class{constructor(t=""){this.value=t}toString(){return this.value}};Pu([Ru({type:Vl.BmpString})],fm.prototype,"value",void 0),fm=Pu([Iu({type:jl.Choice})],fm);let gm=class extends gd{};gm=Pu([Iu({type:jl.Sequence})],gm);let ym=Gy=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,Gy.prototype)}};var mm;ym=Gy=Pu([Iu({type:jl.Sequence,itemType:gm})],ym);let wm=mm=class extends Ou{constructor(t){super(t),Object.setPrototypeOf(this,mm.prototype)}};wm=mm=Pu([Iu({type:jl.Sequence,itemType:nd})],wm);class bm{constructor(t={}){this.version=0,this.subject=new zu,this.subjectPKInfo=new yd,this.attributes=new wm,Object.assign(this,t)}}Pu([Ru({type:Vl.Integer})],bm.prototype,"version",void 0),Pu([Ru({type:zu})],bm.prototype,"subject",void 0),Pu([Ru({type:yd})],bm.prototype,"subjectPKInfo",void 0),Pu([Ru({type:wm,implicit:!0,context:0})],bm.prototype,"attributes",void 0);class Am{constructor(t={}){this.certificationRequestInfo=new bm,this.signatureAlgorithm=new gd,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}Pu([Ru({type:bm})],Am.prototype,"certificationRequestInfo",void 0),Pu([Ru({type:gd})],Am.prototype,"signatureAlgorithm",void 0),Pu([Ru({type:Vl.BitString})],Am.prototype,"signature",void 0);
95
95
  /*!
96
96
  * MIT License
97
97
  *
@@ -116,4 +116,4 @@ PERFORMANCE OF THIS SOFTWARE.
116
116
  * SOFTWARE.
117
117
  *
118
118
  */
119
- const Am="crypto.algorithm",vm="crypto.algorithmProvider";var _m;my.registerSingleton(vm,class{getAlgorithms(){return my.resolveAll(Am)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new fd({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const Em="1.3.36.3.3.2.8.1.1",Sm=`${Em}.1`,xm=`${Em}.2`,Tm=`${Em}.3`,Cm=`${Em}.4`,Im=`${Em}.5`,Rm=`${Em}.6`,km=`${Em}.7`,Nm=`${Em}.8`,Om=`${Em}.9`,Bm=`${Em}.10`,Pm=`${Em}.11`,Dm=`${Em}.12`,Lm=`${Em}.13`,Um=`${Em}.14`,Mm="brainpoolP160r1",Fm="brainpoolP160t1",Hm="brainpoolP192r1",Wm="brainpoolP192t1",jm="brainpoolP224r1",Vm="brainpoolP224t1",Gm="brainpoolP256r1",zm="brainpoolP256t1",qm="brainpoolP320r1",Qm="brainpoolP320t1",Km="brainpoolP384r1",Ym="brainpoolP384t1",Jm="brainpoolP512r1",Xm="brainpoolP512t1",Zm="ECDSA";let $m=_m=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===Zm.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return lg;case"sha-256":return hg;case"sha-384":return ug;case"sha-512":return pg}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=sg;break;case"K-256":e=_m.SECP256K1;break;case"P-384":e=og;break;case"P-521":e=ag;break;case Mm:e=Sm;break;case Fm:e=xm;break;case Hm:e=Tm;break;case Wm:e=Cm;break;case jm:e=Im;break;case Vm:e=Rm;break;case Gm:e=km;break;case zm:e=Nm;break;case qm:e=Om;break;case Qm:e=Bm;break;case Km:e=Pm;break;case Ym:e=Dm;break;case Jm:e=Lm;break;case Xm:e=Um}if(e)return new fd({algorithm:$f,parameters:Ou.serialize(new dg({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case tg:return{name:Zm,hash:{name:"SHA-1"}};case rg:return{name:Zm,hash:{name:"SHA-256"}};case ig:return{name:Zm,hash:{name:"SHA-384"}};case ng:return{name:Zm,hash:{name:"SHA-512"}};case $f:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(Ou.parse(t.parameters,dg).namedCurve){case sg:return{name:Zm,namedCurve:"P-256"};case _m.SECP256K1:return{name:Zm,namedCurve:"K-256"};case og:return{name:Zm,namedCurve:"P-384"};case ag:return{name:Zm,namedCurve:"P-521"};case Sm:return{name:Zm,namedCurve:Mm};case xm:return{name:Zm,namedCurve:Fm};case Tm:return{name:Zm,namedCurve:Hm};case Cm:return{name:Zm,namedCurve:Wm};case Im:return{name:Zm,namedCurve:jm};case Rm:return{name:Zm,namedCurve:Vm};case km:return{name:Zm,namedCurve:Gm};case Nm:return{name:Zm,namedCurve:zm};case Om:return{name:Zm,namedCurve:qm};case Bm:return{name:Zm,namedCurve:Qm};case Pm:return{name:Zm,namedCurve:Km};case Dm:return{name:Zm,namedCurve:Ym};case Lm:return{name:Zm,namedCurve:Jm};case Um:return{name:Zm,namedCurve:Xm}}}return null}};$m.SECP256K1="1.3.132.0.10",$m=_m=Kg([wy()],$m),my.registerSingleton(Am,$m);const tw=Symbol("name"),ew=Symbol("value");class rw{constructor(t,e={},r=""){this[tw]=t,this[ew]=r;for(const t in e)this[t]=e[t]}}rw.NAME=tw,rw.VALUE=ew;class iw{static toString(t){return this.items[t]||t}}iw.items={[kg]:"sha1",[Ng]:"sha224",[Og]:"sha256",[Bg]:"sha384",[Pg]:"sha512",[mg]:"rsaEncryption",[Eg]:"sha1WithRSAEncryption",[Sg]:"sha224WithRSAEncryption",[xg]:"sha256WithRSAEncryption",[Tg]:"sha384WithRSAEncryption",[Cg]:"sha512WithRSAEncryption",[$f]:"ecPublicKey",[tg]:"ecdsaWithSHA1",[eg]:"ecdsaWithSHA224",[rg]:"ecdsaWithSHA256",[ig]:"ecdsaWithSHA384",[ng]:"ecdsaWithSHA512",[Bp]:"TLS WWW server authentication",[Pp]:"TLS WWW client authentication",[Dp]:"Code Signing",[Lp]:"E-mail Protection",[Up]:"Time Stamping",[Mp]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class nw{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[rw.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[rw.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[rw.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof rw)s[rw.NAME]=n,r.push(...this.serializeObj(s,e));else if(Oc.vJ.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[rw.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=Oc.vJ.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}nw.oidSerializer=iw,nw.algorithmSerializer=class{static toTextObject(t){const e=new rw("Algorithm Identifier",{},iw.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case $f:{const r=(new $m).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class sw{constructor(...t){if(1===t.length){const e=t[0];this.rawData=Ou.serialize(e),this.onInit(e)}else{const e=Ou.parse(t[0],t[1]);this.rawData=Oc.vJ.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof sw&&(0,Oc.Xy)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return Ou.toString(this.rawData);case"text":return nw.serialize(this.toTextObject());case"hex":return Oc.ep.ToHex(this.rawData);case"base64":return Oc.ep.ToBase64(this.rawData);case"base64url":return Oc.ep.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new rw(this.getTextName(),{},t)}}sw.NAME="ASN";class ow extends sw{constructor(...t){let e;e=Oc.vJ.isBufferSource(t[0])?Oc.vJ.toArrayBuffer(t[0]):Ou.serialize(new bd({extnID:t[0],critical:t[1],extnValue:new Jh(Oc.vJ.toArrayBuffer(t[2]))})),super(e,bd)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[rw.NAME]===ow.NAME&&(t[rw.NAME]=iw.toString(this.type)),t}}var aw;class cw{constructor(){this.items=new Map,this[aw]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(cw.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=cw.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(cw.DEFAULT,t);return this}}aw=Symbol.toStringTag,cw.DEFAULT="default";const lw=new cw,hw=/^[0-2](?:\.[1-9][0-9]*)+$/;class uw{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(hw).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const pw=new uw;function dw(t,e){return`\\${Oc.ep.ToHex(Oc.ep.FromUtf8String(e)).toUpperCase()}`}pw.register("CN","2.5.4.3"),pw.register("L","2.5.4.7"),pw.register("ST","2.5.4.8"),pw.register("O","2.5.4.10"),pw.register("OU","2.5.4.11"),pw.register("C","2.5.4.6"),pw.register("DC","0.9.2342.19200300.100.1.25"),pw.register("E","1.2.840.113549.1.9.1"),pw.register("G","2.5.4.42"),pw.register("I","2.5.4.43"),pw.register("SN","2.5.4.4"),pw.register("T","2.5.4.12");class fw{constructor(t,e={}){this.extraNames=new uw,this.asn=new Gu;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof Gu?this.asn=t:Oc.vJ.isBufferSource(t)?this.asn=Ou.parse(t,Gu):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++)if(t.charCodeAt(e)>255)return!1;return!0}getField(t){const e=this.extraNames.findId(t)||pw.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||pw.get(t)}toString(){return this.asn.map((t=>t.map((t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${Oc.ep.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,dw)}(t.value.toString())}`)).join("+"))).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${Oc.ep.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new Gu,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new Wu({type:t});if("#"===r.charAt(0))a.value.anyValue=Oc.ep.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:fw.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new ju([a])),n=o}return e}fromJSON(t){const e=new Gu;for(const r of t){const t=new ju;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new Wu({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=Oc.ep.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return Ou.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||lw.get()):r=t[0]||lw.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const gw="Cannot initialize GeneralName from ASN.1 data.",yw=`${gw} Unsupported string format in use.`,mw=`${gw} Value doesn't match to GUID regular expression.`,ww=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,bw="1.3.6.1.4.1.311.25.1",Aw="1.3.6.1.4.1.311.20.2.3",vw="dns",_w="dn",Ew="email",Sw="ip",xw="url",Tw="guid",Cw="upn",Iw="id";class Rw extends sw{constructor(...t){let e;if(2===t.length)switch(t[0]){case _w:{const r=new fw(t[1]).toArrayBuffer(),i=Ou.parse(r,Gu);e=new Ku({directoryName:i});break}case vw:e=new Ku({dNSName:t[1]});break;case Ew:e=new Ku({rfc822Name:t[1]});break;case Tw:{const r=new RegExp(ww,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map(((t,e)=>e<3?Oc.ep.ToHex(new Uint8Array(Oc.ep.FromHex(t)).reverse()):t)).join("");e=new Ku({otherName:new qu({typeId:bw,value:Ou.serialize(new Jh(Oc.ep.FromHex(i)))})});break}case Sw:e=new Ku({iPAddress:t[1]});break;case Iw:e=new Ku({registeredID:t[1]});break;case Cw:e=new Ku({otherName:new qu({typeId:Aw,value:Ou.serialize(au.toASN(t[1]))})});break;case xw:e=new Ku({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=Oc.vJ.isBufferSource(t[0])?Ou.parse(t[0],Ku):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=vw,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=Ew,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=Sw,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=xw,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=Iw,this.value=t.registeredID;else if(null!=t.directoryName)this.type=_w,this.value=new fw(t.directoryName).toString();else{if(null==t.otherName)throw new Error(yw);if(t.otherName.typeId===bw){this.type=Tw;const e=Ou.parse(t.otherName.value,Jh),r=new RegExp(ww,"i").exec(Oc.ep.ToHex(e));if(!r)throw new Error(mw);this.value=r.slice(1).map(((t,e)=>e<3?Oc.ep.ToHex(new Uint8Array(Oc.ep.FromHex(t)).reverse()):t)).join("-")}else{if(t.otherName.typeId!==Aw)throw new Error(yw);this.type=Cw,this.value=Ou.parse(t.otherName.value,Fu).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case _w:case vw:case Tw:case Sw:case Iw:case Cw:case xw:t=this.type.toUpperCase();break;case Ew:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===Iw&&(e=iw.toString(e)),new rw(t,void 0,e)}}class kw extends sw{constructor(t){let e;if(t instanceof sp)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof Ku)r.push(e);else{const t=Ou.parse(new Rw(e.type,e.value).rawData,Ku);r.push(t)}e=new sp(r)}else{if(!Oc.vJ.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=Ou.parse(t,sp)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new Rw(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map((t=>t.toJSON()))}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[rw.NAME]];Array.isArray(i)||(i=[],t[r[rw.NAME]]=i),i.push(r)}return t}}kw.NAME="GeneralNames";const Nw="-{5}BEGIN ([^\\n]+(?=-{5}))-{5}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)-{5}END \\1-{5}";class Ow{static isPem(t){return"string"==typeof t&&new RegExp(Nw,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(Nw,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp("[\\n]+","g"),""),e={type:i[1],headers:[],rawData:Oc.ep.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp("\\n","g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map((t=>t.rawData))}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach((t=>{if(!Oc.vJ.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:Oc.vJ.toArrayBuffer(t)}))})):t.forEach((t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))})),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:Oc.vJ.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=Oc.ep.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}Ow.CertificateTag="CERTIFICATE",Ow.CrlTag="CRL",Ow.CertificateRequestTag="CERTIFICATE REQUEST",Ow.PublicKeyTag="PUBLIC KEY",Ow.PrivateKeyTag="PRIVATE KEY";class Bw extends sw{static isAsnEncoded(t){return Oc.vJ.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(Ow.isPem(t))return Ow.decode(t)[0];if(Oc.ep.isHex(t))return Oc.ep.FromHex(t);if(Oc.ep.isBase64(t))return Oc.ep.FromBase64(t);if(Oc.ep.isBase64Url(t))return Oc.ep.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=Oc.ep.ToBinary(t);return Ow.isPem(e)?Ow.decode(e)[0]:Oc.ep.isHex(e)?Oc.ep.FromHex(e):Oc.ep.isBase64(e)?Oc.ep.FromBase64(e):Oc.ep.isBase64Url(e)?Oc.ep.FromBase64Url(e):Oc.vJ.toArrayBuffer(t)}}constructor(...t){Bw.isAsnEncoded(t[0])?super(Bw.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?Ow.encode(this.rawData,this.tag):super.toString(t)}}class Pw extends Bw{constructor(t){Bw.isAsnEncoded(t)?super(t,gd):super(t),this.tag=Ow.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||lw.get()):e=t[0]||lw.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=my.resolve(vm),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case mg:{const e=Ou.parse(t.subjectPublicKey,Qg),i=Oc.vJ.toUint8Array(e.modulus);r.publicExponent=Oc.vJ.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||lw.get()):r=t[0]||lw.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=lw.get());const e=Ou.parse(this.rawData,gd);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=Ou.parse(this.rawData,gd);return t.Algorithm=nw.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===$f?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class Dw{static register(t,e){this.items.set(t,e)}static create(t){const e=new ow(t),r=this.items.get(e.type);return r?new r(t):e}}Dw.items=new Map;const Lw="crypto.signatureFormatter";class Uw extends Bw{constructor(t){Bw.isAsnEncoded(t)?super(t,Sd):super(t),this.tag=Ow.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=Ou.serialize(e),this.serialNumber=Oc.ep.ToHex(e.serialNumber),this.subjectName=new fw(e.subject),this.subject=new fw(e.subject).toString(),this.issuerName=new fw(e.issuer),this.issuer=this.issuerName.toString();const r=my.resolve(vm);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map((t=>Dw.create(Ou.serialize(t))))),this.publicKey=new Pw(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter((e=>"string"==typeof t?e.type===t:e instanceof t))}async verify(t={},e=lw.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof Pw)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(Oc.vJ.isBufferSource(n)){const t=new Pw(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=my.resolveAll(Lw).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=lw.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=lw.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=Ou.parse(this.rawData,Sd),r=e.tbsCertificate,i=new rw("",{Version:`${vd[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":nw.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new rw("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new rw("");for(const e of this.extensions){const r=e.toTextObject();t[r[rw.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new rw("",{Algorithm:nw.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}Uw.NAME="Certificate";class Mw extends ow{constructor(...t){if(Oc.vJ.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new ep({keyIdentifier:new tp(Oc.ep.FromHex(t[0]))});super($u,t[1],Ou.serialize(e))}else{const e=t[0],r=e.name instanceof kw?Ou.parse(e.name.rawData,sp):e.name,i=new ep({authorityCertIssuer:r,authorityCertSerialNumber:Oc.ep.FromHex(e.serialNumber)});super($u,t[1],Ou.serialize(i))}}static async create(t,e=!1,r=lw.get()){if(t instanceof Uw||cw.isCryptoKey(t)){const i=t instanceof Uw?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new Pw(n),o=await s.getKeyIdentifier(r);return new Mw(Oc.ep.ToHex(o),e)}return new Mw(t,e)}onInit(t){super.onInit(t);const e=Ou.parse(t.extnValue,ep);e.keyIdentifier&&(this.keyId=Oc.ep.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:Oc.ep.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Ou.parse(this.value,ep);return e.authorityCertIssuer&&(t["Authority Issuer"]=new kw(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}Mw.NAME="Authority Key Identifier";class Fw extends ow{constructor(...t){if(Oc.vJ.isBufferSource(t[0])){super(t[0]);const e=Ou.parse(this.value,ip);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new ip({cA:t[0],pathLenConstraint:t[1]});super(rp,t[2],Ou.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var Hw,Ww;Fw.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(Hw||(Hw={}));class jw extends ow{constructor(...t){if(Oc.vJ.isBufferSource(t[0])){super(t[0]);const e=Ou.parse(this.value,Op);this.usages=e.map((t=>t))}else{const e=new Op(t[0]);super(Np,t[1],Ou.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map((t=>iw.toString(t))).join(", "),t}}jw.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(Ww||(Ww={}));class Vw extends ow{constructor(...t){if(Oc.vJ.isBufferSource(t[0])){super(t[0]);const e=Ou.parse(this.value,qp);this.usages=e.toNumber()}else{const e=new qp(t[0]);super(Vp,t[1],Ou.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Ou.parse(this.value,qp);return t[""]=e.toJSON().join(", "),t}}Vw.NAME="Key Usages";class Gw extends ow{constructor(...t){if(Oc.vJ.isBufferSource(t[0])){super(t[0]);const e=Ou.parse(this.value,ad);this.keyId=Oc.ep.ToHex(e)}else{const e="string"==typeof t[0]?Oc.ep.FromHex(t[0]):t[0],r=new ad(e);super(od,t[1],Ou.serialize(r)),this.keyId=Oc.ep.ToHex(e)}}static async create(t,e=!1,r=lw.get()){let i;i=t instanceof Pw?t.rawData:"publicKey"in t?t.publicKey.rawData:Oc.vJ.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new Pw(i),s=await n.getKeyIdentifier(r);return new Gw(Oc.ep.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Ou.parse(this.value,ad);return t[""]=e,t}}Gw.NAME="Subject Key Identifier";class zw extends ow{constructor(...t){Oc.vJ.isBufferSource(t[0])?super(t[0]):super(ed,t[1],new kw(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=Ou.parse(t.extnValue,rd);this.names=new kw(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}zw.NAME="Subject Alternative Name";class qw extends ow{constructor(...t){var e;if(Oc.vJ.isBufferSource(t[0])){super(t[0]);const e=Ou.parse(this.value,yp);this.policies=e.map((t=>t.policyIdentifier))}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new yp(r.map((t=>new gp({policyIdentifier:t}))));super(lp,i,Ou.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map((t=>new rw("",{},iw.toString(t)))),t}}qw.NAME="Certificate Policies",Dw.register(lp,qw);class Qw extends sw{constructor(...t){let e;if(Oc.vJ.isBufferSource(t[0]))e=Oc.vJ.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map((t=>Oc.vJ.toArrayBuffer(t))):[];e=Ou.serialize(new id({type:r,values:i}))}super(e,id)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map((t=>new rw("",{"":t}))),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[rw.NAME]===Qw.NAME&&(t[rw.NAME]=iw.toString(this.type)),t}}Qw.NAME="Attribute";class Kw extends Qw{constructor(...t){var e;if(Oc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=new hm({printableString:t[0]});super(zy,[Ou.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=Ou.parse(this.values[0],hm);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[rw.VALUE]=this.password,t}}Kw.NAME="Challenge Password";class Yw extends Qw{constructor(...t){var e;if(Oc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new Ad;for(const t of e)r.push(Ou.parse(t.rawData,bd));super(qy,[Ou.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=Ou.parse(this.values[0],Ad);this.items=t.map((t=>Dw.create(Ou.serialize(t))))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map((t=>t.toTextObject()));for(const r of e)t[r[rw.NAME]]=r;return t}}Yw.NAME="Extensions";class Jw{static register(t,e){this.items.set(t,e)}static create(t){const e=new Qw(t),r=this.items.get(e.type);return r?new r(t):e}}Jw.items=new Map;let Xw=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new fd({algorithm:mg,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new fd({algorithm:Eg,parameters:null});case"sha-256":return new fd({algorithm:xg,parameters:null});case"sha-384":return new fd({algorithm:Tg,parameters:null});case"sha-512":return new fd({algorithm:Cg,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case mg:return{name:"RSASSA-PKCS1-v1_5"};case Eg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case xg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Tg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Cg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Xw=Kg([wy()],Xw),my.registerSingleton(Am,Xw);class Zw{addPadding(t,e){const r=Oc.vJ.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=Oc.vJ.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=Zw.namedCurveSize.get(r)||Zw.defaultNamedCurveSize,n=new gg,s=Oc.vJ.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),Ou.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=Ou.parse(e,gg),i=t.namedCurve,n=Zw.namedCurveSize.get(i)||Zw.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,Oc.$e)(s,o)}return null}}Zw.namedCurveSize=new Map,Zw.defaultNamedCurveSize=32;const $w="1.3.101.110",tb="1.3.101.111",eb="1.3.101.112",rb="1.3.101.113";let ib=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=eb;break;case"ed448":e=rb}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=$w;break;case"x448":e=tb}}return e?new fd({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case eb:return{name:"EdDSA",namedCurve:"Ed25519"};case rb:return{name:"EdDSA",namedCurve:"Ed448"};case $w:return{name:"ECDH-ES",namedCurve:"X25519"};case tb:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};ib=Kg([wy()],ib),my.registerSingleton(Am,ib);var nb;(class extends Bw{constructor(t){Bw.isAsnEncoded(t)?super(t,bm):super(t),this.tag=Ow.CertificateRequestTag}onInit(t){this.tbs=Ou.serialize(t.certificationRequestInfo),this.publicKey=new Pw(t.certificationRequestInfo.subjectPKInfo);const e=my.resolve(vm);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map((t=>Jw.create(Ou.serialize(t))));const r=this.getAttribute(qy);this.extensions=[],r instanceof Yw&&(this.extensions=r.items),this.subjectName=new fw(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter((e=>e.type===t))}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter((e=>e.type===t))}async verify(t=lw.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=my.resolveAll(Lw).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=Ou.parse(this.rawData,bm),r=e.certificationRequestInfo,i=new rw("",{Version:`${vd[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new rw("");for(const e of this.attributes){const r=e.toTextObject();t[r[rw.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new rw("",{Algorithm:nw.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}).NAME="PKCS#10 Certificate Request",function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(nb||(nb={})),Dw.register(rp,Fw),Dw.register(Np,jw),Dw.register(Vp,Vw),Dw.register(od,Gw),Dw.register($u,Mw),Dw.register(ed,zw),Jw.register(zy,Kw),Jw.register(qy,Yw),my.registerSingleton(Lw,class{toAsnSignature(t,e){return Oc.vJ.toArrayBuffer(e)}toWebSignature(t,e){return Oc.vJ.toArrayBuffer(e)}}),my.registerSingleton(Lw,Zw),Zw.namedCurveSize.set("P-256",32),Zw.namedCurveSize.set("K-256",32),Zw.namedCurveSize.set("P-384",48),Zw.namedCurveSize.set("P-521",66);const sb=/-{5}(BEGIN|END) .*-{5}/gm,ob="pages/pages.jsonl",ab="pages/extraPages.jsonl",cb="datapackage.json",lb="datapackage-digest.json",hb="webarchive.yaml";class ub{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(lb)&&(e=await this.loadDigestData(lb)),this.file.containsFile(cb)?t=await this.loadPackage(cb,e):this.file.containsFile(hb)&&(t=await this.loadOldPackageYAML(hb)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===cb&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Nc.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Nc.toByteArray)(t[0].replace(sb,"").replace(/\s/gm,"")),r=f(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new Uw(e);h=await i.publicKey.export();const s=(0,Nc.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Nc.toByteArray)(r),t,!0,["verify"])}const u=new TextEncoder,p=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,u.encode(t));return c.push({id:"signature",expected:!0,matched:p}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),this.store.maxFallbackLookups=-1,t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===ob?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);return this.file.containsFile(ob)&&(await this.loadPages(ob,r)).hasText&&(this.store.textIndex=e.textIndex=ob),this.file.containsFile(ab)&&(this.store.textIndex=e.textIndex=ab),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=kc.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=ob,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class pb{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=s&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class db{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new Bo({loader:this.loader});await i.init();const n=i.zipreader,s=new ub(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new bs(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class fb{response;constructor(t){this.response=t}async load(t){try{return await t.loadFromJSON(this.response)}catch(t){return{}}}}class gb{prefix;proxyPathOnly;isLive;archivePrefix;archiveMod;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.archiveMod=t.archiveMod||"id_",this.cloneResponse=e,this.allowBody=r||this.isLive||!!t.noPostToGet,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+this.archiveMod+"/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=function(t,e){return Nn(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = "${t}";\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>Sorry, this page was could not be loaded through the archiving proxy. Check the URL and try again.</p>\n <p><code id="url" style="word-break: break-all; font-size: larger">Status Code: ${e}</code></p>\n <p id="goback" style="display: none"><a href="#" onclick="window.history.back()">Go Back</a> to the previous page.</a></p>\n\n <script>\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {\n\n }\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage({\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${e},\n }, "*");\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}(n,c.status),l=!0);try{const t=new URL(s,self.location.href).href;if(c.url!==t){const t=c.url.indexOf("/http"),e=c.url.slice(t+1);n!==e&&(c=Response.redirect(e))}}catch(t){}let h=null;this.cloneResponse&&(h=c.clone());const u=mn.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n)if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}const yb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class mb extends yo{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";referrerMap=new Map;notAPage=new Set;maxFallbackLookups=3;totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){if(super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||ab,t.extraConfig&&this.initConfig(t.extraConfig),t.metadata){if(this.pagesQueryUrl=t.metadata.pagesQueryUrl||"",t.metadata.preloadResources?.length)for(const{name:e}of t.metadata.preloadResources)this.preloadResources.push(e);"number"==typeof t.metadata.totalPages&&(this.totalPages=t.metadata.totalPages)}}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new gb(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t),this.checkUpdates().catch((()=>console.warn("Error updating JSON even after auth update")))}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new Bo({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new Bo(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){return(await this.db.get("verification",t))?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new As(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[So]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[So]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new To(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!yb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1){const n=this.waczfiles[t].nonSurt?e:st(e),s=i?this.prefixUpperBound(n):n+" 9999",o=IDBKeyRange.upperBound([t,s],!0),a=this.db.transaction("ziplines","readonly"),c=[];for await(const e of a.store.iterate(o,"prev")){if(e.value.waczname!==t)break;if(c.unshift(e.value),!e.value.prefix.split(" ")[0].startsWith(n))break}await a.done;const l=[];c.length>3&&r&&c.sort(((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(p(i).getTime()-r),o=Math.abs(p(n).getTime()-r);return s===o?0:s<o?-1:1}));let h=0;for(const e of c){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),l.push(i),++h>3)break}return l.length&&await Promise.allSettled(l),await this.waczfiles[t].save(this.db),l.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new To(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await S(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={}){try{const{waczname:i}=r;let n;return i&&"local"!==i&&(n=await this.lookupUrlForWACZ(i,t,e,r)),!n||r.noRevisits&&"warc/revisit"===n.mime?(n=await super.lookupUrl(t,e,r),n):n}catch(t){return console.warn(t),null}}async lookupUrlForWACZ(t,e,r,i){const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1))return null;break;case 1:if(!s)return null;break;default:return null}return await super.lookupUrl(e,r,i)}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r,i=0){try{return await t.loadFile(e,r)}catch(n){if(i<=3&&await this.retryLoad(n))return await this.loadFileFromWACZ(t,e,r,i+1);throw n}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await g(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});if(this.pagesQueryUrl||await a.init(),await a.save(this.db,!0),this.pagesQueryUrl)return{};{const t=new ub(this,a,!n);return await t.load()}}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map((t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}}));for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources?.length)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages?.length&&await this.addInitialPages(t.initialPages),"number"==typeof t.totalPages&&(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p||"")||new Set;t.add(h),this.seedPageWACZs.set(p||"",t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});if(1===e.length){const r=e[0];let i;try{i=await this.loadFileFromNamedWACZ(r,this.textIndex,{unzip:!0})}catch(e){return new Response("",{headers:t})}const{reader:n}=i,s=this.waczfiles[r].getSizeOf(this.textIndex);return s>0&&(t["Content-Length"]=""+s),new Response(n.getReadableStream(),{headers:t})}{const r=[];for(const i of e)try{const{reader:t}=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0});t&&r.push(t)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s=i;let o=null,a=null;if(s){if(o=this.waczNameForHash[s],!o)return null;if(a=await super.getResource(t,e,r,{waczname:o}),a)return a}const c=await this.getWACZFilesToTry(t,o);if(!c.length)return null;const l=new Map;for(const i of c){const n=this.waczfiles[i];if(n&&"wacz"===n.fileType&&n.hash!==s&&(a=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!t.isProxyOrigin}),a)){const t=a,e=t.date.getTime();l.set(e,{name:i,hash:n.hash,resp:t})}}if(l.size>0){const r=p(t.timestamp);let i,s,a,c=-1;for(const t of l.keys()){const e=Math.abs(t-r.getTime());if(c<0||e<c){const{name:r,hash:n,resp:h}=l.get(t);o=r,s=n,i=u(h.date.toISOString()),c=e,a=h}}return n?a:Response.redirect(`${e}:${s}/${i}mp_/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){if("json"!==this.rootSourceType)return!1;if(!(t instanceof I||t instanceof T))return await S(t,this.config);try{return await this.checkUpdates(),!0}catch(t){return!1}}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map((t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t}));return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r,i=[];if(this.preloadResources.length&&(i=[...this.preloadResources]),!this.pagesQueryUrl||"document"!==t.destination&&"iframe"!==t.destination){if(this.pagesQueryUrl&&t.url.startsWith("urn:")){const e=t.url.indexOf("http");e>0&&(r=t.url.slice(e))}else if(t.isProxyOrigin&&t.referrer&&"document"!==t.destination){r=t.referrer,this.referrerMap.set(t.url,r);let e="";for(;r&&(e=this.referrerMap.get(r),e&&e!==r);)r=e}}else r=t.url;if(r&&this.pagesQueryUrl){let t=await this.getWACZFilesForPagesQuery(r);if(t)return i=[...i,...t],i;if(r.startsWith("https://www.")){const e=new URL(r);if("/"===e.pathname&&(e.hostname=e.hostname.replace("www.",""),t=await this.getWACZFilesForPagesQuery(e.href),t))return i=[...i,...t],i}}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);if(e)return i=[...i,...e.values()],i}}const n=Object.keys(this.waczfiles);return this.maxFallbackLookups>0&&"json"===this.rootSourceType&&this.pagesQueryUrl?n.slice(0,this.maxFallbackLookups):n}async getWACZFilesForPagesQuery(t){const e=[];if(!this.pagesQueryUrl)return null;const r=await this.getPagesByUrl(t);for(const t of r)t.wacz&&e.push(t.wacz);if(e.length)return e;if(this.notAPage.has(t))return null;const i=new URLSearchParams,n=new URL(t);n.hash="",i.set("url",n.href),i.set("pageSize","25");let s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==s.status)return null;let o=await s.json();!o?.items.length&&n.search&&(n.search="",i.delete("url"),i.set("search",n.href),s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers}),o=await s.json());const a=o.items;for(const t of a){if(!t.url.startsWith(n.href))break;t.filename&&e.push(t.filename)}return e.length?(this.addInitialPages(o.items).catch((t=>console.log(t,"additional page add failed"))),e):(this.notAPage.add(t),null)}async checkUpdates(){if("json"!==this.rootSourceType)return;this.updating||(this.updating=(async()=>{try{return void await this.loadFromJSON()}catch(t){await N(500)}throw new k})());try{await this.updating}finally{this.updating=null}}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)throw console.warn("WACZ update failed from: "+(this.config.loadUrl||this.config.sourceUrl)),new I;const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await so(t)}}class wb{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of ps.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new bt(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}return h||(h=new Uint8Array([])),o||(o=new Date),new mn({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await Bt.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}const bb=_b([80,75,3,4]),Ab=_b([31,139,8]),vb=_b([87,65,82,67]);function _b(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}globalThis.self||(globalThis.self=globalThis);const Eb={};self.interruptLoads=Eb;class Sb extends class{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Qn("collDB",3,{upgrade:(t,e)=>{e<1&&t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type");try{t.createObjectStore("settings")}catch(t){}}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=await this.listAll(),e=[],r=t.map((async t=>this._initColl(t,e)));await Promise.all(r),e.length&&this.deleteExpireMultiWACZs(e)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await Kn(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async deleteExpireMultiWACZs(t){const e=await(this.colldb?.get("settings","lastCleanupRun"));if(e&&Date.now()-e<864e5)console.log("Skipping cleanup run, ran recently");else{for(const e of t){const t=e.config.loadUrl||e.config.sourceUrl;if(t.startsWith("https://")||t.startsWith("http://")){try{await e.checkUpdates()}catch(r){r instanceof k&&(console.warn("Deleting expired/invalid coll for "+t),this.deleteColl(e.name))}await N(2e3)}}await this.colldb.put("settings",Date.now(),"lastCleanupRun")}}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=w(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t,e=null){const r=await this._initStore(t.type||"",t.config),i=t.name,n=t.config;return t.config.root&&!this.root&&(this.root=i||null),e&&r instanceof mb&&e.push(r),this._createCollection({name:i,store:r,config:n})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new gs(e.dbname);break;case"remotesource":r=await so({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new wo(e.dbname,r,e.noCache);break;case"remoteprefix":i=new bo(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await so({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new mb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new wb(e);break;case"live":i=new gb(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",(t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)}))}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await Kn("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof C)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise((t=>Eb[e]=t));await r,await this.deleteColl(e),delete Eb[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let o=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",o=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=w(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await so({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await so({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz"];for(const r of e)if(t.endsWith(r))return r;if(t.endsWith(".wacz.zip"))return".wacz"}(n.sourceName);const{abort:g,response:y}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await async function(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=bb(s)?".wacz":vb(s)?".warc":Ab(s)?".warc.gz":void 0,r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel(),r}(await y.clone()));const m=y.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await y.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${y.status} ${y.statusText}\nError Details:\n${t}`),g&&g.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),g&&g.abort(),!1;const b=d.length;if(".wacz"===f){if(n.onDemand)l=new pb(d,n,r),h=new mb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),g&&g.abort(),!1;l=new db(d,n,r),h=null,delete n.extra}const t=d.getFullBuffer();t&&(n.extra={arrayBuffer:t,...n.extra||{}})}else!m||".warc"!==f&&".warc.gz"!==f?!m||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new Eo(await y.json()),n.decode=!1):".json"===f&&(h=new mb(n,d,"json"),l=new fb(y),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new To(m,g,r),i="remoteprefix",h=new bo(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(b<s)&&n.onDemand?(l=new xo(m,g,r),i="remotesource",h=new wo(n.dbname,d,n.noCache)):l=new bs(m,g,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),g&&g.abort(),!1;h||(h=new gs(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,b)}catch(t){return t instanceof R||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,b,b,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=b),n.metadata.title||(n.metadata.title=n.sourceName),o=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=o,l}}let xb;class Tb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&xb.clients.matchAll({type:"window"}).then((t=>this.updateStatsParent(n,r.referrer,t)))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await xb.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var Cb=function(){return Cb=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},Cb.apply(this,arguments)},Ib=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},Rb=function(t){return encodeURIComponent(t)},kb=function(t){return decodeURIComponent(t)},Nb=function(t,e){var r=Ib(e);return function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)}(t).split("&").reduce((function(t,e){var i=e.split("="),n=i[0],s=i[1],o=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}}(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===kb(t))return!0;if("✗"===kb(t))return!1}return"string"===e.nullFormat&&"null"===t?null:kb(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t}),{})},Ob=/[^!$'()*+,;|:]/g,Bb=function(t){return t.replace(Ob,(function(t){return encodeURIComponent(t)}))},Pb={default:Bb,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},Db={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},Lb=function(t,e,r){var i=Pb[e]||Bb;return r?String(t).split("/").map(i).join("/"):i(String(t))},Ub=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},Mb=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(Ub(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+Ub(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],Fb=function t(e,r){if(void 0===r&&(r=[]),!Mb.some((function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)})))throw new Error("Could not parse path '"+e+"'");return r},Hb=function(t){return null!=t},Wb={urlParamsEncoding:"default"},jb=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=Cb(Cb({},Wb),e),this.tokens=Fb(t),this.hasUrlParams=this.tokens.filter((function(t){return/^url-parameter/.test(t.type)})).length>0,this.hasSpatParam=this.tokens.filter((function(t){return/splat$/.test(t.type)})).length>0,this.hasMatrixParams=this.tokens.filter((function(t){return/matrix$/.test(t.type)})).length>0,this.hasQueryParams=this.tokens.filter((function(t){return/^query-parameter/.test(t.type)})).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter((function(t){return void 0!==t.regex})).map((function(t){return t.regex.source})).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=Cb(Cb({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=Nb(t,i.queryParams),a=Object.keys(o).filter((function(t){return!r.isQueryParam(t)}));return 0===a.length?(Object.keys(o).forEach((function(t){return s[t]=o[t]})),s):null},t.prototype.partialTest=function(t,e){var r=this,i=Cb(Cb({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=Nb(t,i.queryParams);return Object.keys(o).filter((function(t){return r.isQueryParam(t)})).forEach((function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])})),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=Cb(Cb({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter((function(t){return!r.isQueryParam(t)})).reduce((function(e,n){if(!Hb(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map((function(t){return Lb(t,i.urlParamsEncoding,o)})):e[n]=Lb(s,i.urlParamsEncoding,o),e}),{});if(this.urlParams.some((function(e){return!Hb(t[e])}))){var s=this.urlParams.filter((function(e){return!Hb(t[e])}));throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter((function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)})).every((function(t){return new RegExp("^"+Ub(t.otherVal[0])+"$").test(n[t.val])})))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter((function(t){return!1===/^query-parameter/.test(t.type)})).map((function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match})).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter((function(e){return-1!==Object.keys(t).indexOf(e)})).reduce((function(e,r){return e[r]=t[r],e}),{}),c=function(t,e){var r=Ib(e);return Object.keys(t).filter((function(e){return function(t){return void 0!==t}(t[e])})).map((function(e){return function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map((function(e,r){return i(t,r)+"="+Rb(e)})).join("&")}(t,e,r):t+"="+Rb(e)}(e,t[e],r)})).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map((function(t){return t.val[0]}))},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce((function(t,e,r){return t[n.urlParams[r]]=(Db[i]||decodeURIComponent)(e),t}),{}):{}:null},t}();class Vb{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new jb(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class Gb{router;collections;constructor(t){this.router=new Vb(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return x(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=x(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof mb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof mb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);return t.store.db?{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}:{curated:[]}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach((e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(x(e)))})),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const zb=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class qb{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;proxyOrigin;proxyScheme="";localOrigin;httpToHttpsNeeded=!1;proxyTLD;localTLD;request;method;mode;_proxyReferrer="";_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s,localOrigin:o,proxyTLD:a,localTLD:c,defaultReplayMode:l=!1}={}){const h=zb.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!h&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!h&&r)this.url="https://"+t;else{if(!h)return void(this.url="");this.pageId=h[1]||"",this.timestamp=h[2]||"",this.mod=h[3]||"",this.url=h[4]||""}s&&o&&!l&&(this.url=Qb(s,o,this.url),this.request.referrer&&(this._proxyReferrer=Qb(s,o,this.request.referrer)),this.isProxyOrigin=!0,this.proxyOrigin=s,this.proxyScheme=s?new URL(s).protocol.slice(0,-1):"",this.localOrigin=o,this.httpToHttpsNeeded="http"===this.proxyScheme&&o.startsWith("https:"),this.proxyTLD=a||"",this.localTLD=c||"");const u=this.url.indexOf("#");u>0&&(this.hash=this.url.slice(u),this.url=this.url.substring(0,u))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this._proxyReferrer||this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return ot(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}function Qb(t,e,r){const i=new URL(r);return i.origin===e?t+i.pathname+(i.search?i.search:""):r}const Kb="x-wabac-is-ajax-req";class Yb extends Sb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new Bn(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.root===r.name&&(r.config.root=!0),this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}self.registration?(self.sw=new class{prefix;replayPrefix;staticPrefix;distPrefix;proxyPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;topFramePassthrough=!1;stats;constructor({staticData:t=null,ApiClass:e=Gb,defaultConfig:r={},CollectionsClass:i=Yb}={}){this.prefix=self.registration?self.registration.scope:"";const n=new URLSearchParams(self.location.search);if(this.proxyOriginMode=!!n.get("proxyOriginMode"),this.proxyOriginMode)this.replayPrefix=this.prefix+"__wb_proxy/",this.staticPrefix=this.replayPrefix+"static/",this.proxyPrefix="https://wab.ac/proxy/",this.apiPrefix="https://wab.ac/api/";else{const t=n.get("replayPrefix")??"w";this.topFramePassthrough=!t,this.replayPrefix=this.prefix+t+(t?"/":""),this.staticPrefix=this.prefix+"static/",this.proxyPrefix=this.staticPrefix+"proxy/",this.apiPrefix=this.replayPrefix+"api/"}var s;if(s=this.replayPrefix,c+=`; frame-src data: about: blob: ${self.location.origin}${self.location.pathname} ${s}`,this.distPrefix=this.prefix+"dist/",this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,(function(){return i})),i}function w(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function h(t,e){if(!(this instanceof h))return new h(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}function p(t,e){return function(r){if(window==e)return t(r)}}function c(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function l(t){let e;e="string"==typeof t?t:t?.length?t.reduce(((t,e)=>t+=String.fromCharCode(e)),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let o=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch(o.split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=d(n(i));break;case"text/plain":try{s=d(n(i),!1)}catch{s=l(i)}break;case"multipart/form-data":if(!o)throw new Error("utils cannot call postToGetURL when missing content-type header");s=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(n(i),o);break;default:s=l(i)}return null!=s&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,decodeURI(s),t.method),t.method="GET",t.requestBody=s,!0)}function _(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function d(t="",e=!0){return _(t,e).toString()}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),w.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},w.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},w.prototype.reload=function(t){},w.prototype.toString=function(){return this.href},w.prototype.valueOf=function(){return this},e(w,"Location"),h.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},h.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},h.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then((function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)}))},h.prototype.terminate=function(){this.worker.terminate()},h.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},h.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},h.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then((function(){r.worker.postMessage(t)}))}else this.worker.postMessage(t)},h.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},h.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},h.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},h.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},h.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},h.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then((function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,w=document.querySelectorAll(t.elemSelector),h={values:[],presplit:!1},p={values:[]};for(i=0;i<w.length;++i)s=(n=w[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&h.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&h.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&p.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&p.values.push({src:s,mod:a});r.length&&(e.media=r),h.values.length&&(e.srcset=h),p.values.length&&(e.src=p),(e.media||e.srcset||e.src)&&t.postMessage(e)}))};var f=null,b=",,,";Map,Symbol.iterator;function y(e,i){if(!(this instanceof y))return new y(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.IMPORT_JS_CALL=/[^$.]\\bimport\\s*\\(/g,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}y.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},y.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},y.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},y.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},y.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},y.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},y.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},y.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",(function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)}),{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},y.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},y.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},y.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},y.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},y.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},y.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},y.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},y.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},y.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},y.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},y.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},y.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},y.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},y.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},y.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},y.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",r+(t=(t=t.replace(this.IMPORT_JS_CALL,(t=>t.replace("import","____wb_rewrite_import__")))).replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1"))+"\\n\\n}}"},y.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver((function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}})).observe(t,{childList:!0,subtree:!0})},y.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},y.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},y.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},y.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},y.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},y.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},y.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},y.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},y.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},y.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},y.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},y.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},y.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},y.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},y.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},y.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},y.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=typeof o;if("string"===n&&o){var s=parseInt(e);if(o&&!isNaN(s))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===n&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var a=i[e];if(!a||a.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return a.boundFn}if("object"===n&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},y.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},y.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},y.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},y.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},y.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},y.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},y.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(o.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(i.length):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},y.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t.trim()}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var w=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(w){var h=this.replayTopHost,p=this.replayTopProtocol,c=w+h+"/";if(this.startsWith(o,c)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=p+"//",u=o.substring(c.length),_=!1;return u.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(u=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+u),_=!0),w!==l&&w!==this.REL_PREFIX&&(_=!0),_&&(o=e?"":l+h,u&&"/"!==u[0]&&(o+="/"),o+=u),o}return this.getFinalUrl(e,r,o)}return(w=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},y.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},y.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(/(\\/[\\d]*)([\\w]+_)(?=\\/)/,"$1esm_")),s},y.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},y.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},y.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},y.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},y.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(o.length)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},y.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},y.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},y.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;const r=()=>{var e;if(this.wb_info.isSW&&t.parentElement&&"IFRAME"!==t.parentElement.tagName&&"IMG"!==t.parentElement.tagName&&("application/pdf"===t.getAttribute("type")?e="IFRAME":"image/svg+xml"===t.getAttribute("type")&&(e="IMG"),e)){for(var r=this.$wbwindow.document.createElement(e),i=0;i<t.attributes.length;i++){var o=t.attributes[i],n=o.name;"data"===n&&(n="src"),this.wb_setAttribute.call(r,n,o.value)}return t.parentElement.replaceChild(r,t),!0}return!1};if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var i=this.wb_getAttribute.call(t,"http-equiv");i&&"content-security-policy"===i.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+i),e=!0);break;case"STYLE":var o=this.rewriteStyle(t.textContent);t.textContent!==o&&(t.textContent=o,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":e=r(),e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"EMBED":e=r(),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var n=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),n)this.blobUrlForIframe(t,n);else{var s=t.getAttribute("src");s&&"about:blank"!==s||(s||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var a=this.rewriteAttrTarget(t.target);a!==t.target&&(t.target=a,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},y.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},y.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},y.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},y.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var w=r.lastIndexOf(a);w>0&&(n+=r.slice(w+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},y.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var w="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,w)&&!this.endsWith(t.toLowerCase(),w)&&(n=n.substring(0,n.length-w.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},y.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},y.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,(function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""})).replace(this.cookie_path_regex,(function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i})),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},y.prototype.rewriteWorker=function(t,e){if(!t)return t;var r=0===(t=t.toString()).indexOf("blob:"),i=0===t.indexOf("javascript:"),o=e&&"module"===e.type?"wkrm_":"wkr_";if(!r&&!i){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var n=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(n,!1,o,this.$wbwindow.document)}return this.rewriteUrl(t,!1,o,this.$wbwindow.document)}var s=i?t.replace("javascript:",""):null;if(r){var a=new XMLHttpRequest;this.utilFns.XHRopen.call(a,"GET",t,!1),this.utilFns.XHRsend.call(a),s=a.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var w=this.$wbwindow.document.baseURI;s="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(w)+"}); })();"+s}var h=new Blob([s],{type:"application/javascript"});return this.URL.createObjectURL(h)},y.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},y.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},y.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},y.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},y.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},y.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},y.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,(function(){return null!=this["_"+t]?this["_"+t]:i.call(this)}))},y.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},y.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,(function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},y.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},y.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,(function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this),"module"===this.type&&(r="esm_"));var i=n.rewriteUrl(t,!1,r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t}))},y.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,(function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)}))}},y.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,(function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))}),i)}},y.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",(function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)}))}},y.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,(function(){return i.objToProxy(r.call(this))}))}},y.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,w=n.WB_wombat_location;if(o){var h=r._makeURLParser(o,n.document);if(a=h.href,s=r.rewriteUrl(a),a!==w.origin&&"about:blank"!==w.href&&!r.startsWith(a,w.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=w.href;e.call(this,t,i,s);var p=n.document.title;r.WBAutoFetchWorker&&n.setTimeout((function(){i||n.document.title===p||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)}),100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},y.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},w=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(w,a)),t}),(o&&i||r)&&this.defProp(t,e,(function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e}),s)},y.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},y.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},y.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,(function(t){return s(this,n,t)}),r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},y.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,(function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)}),(function(){return this.__wb_srcdoc}))},y.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,(function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})}))},y.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,(function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})}))},y.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,(function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))})),e["_get_"+t]=r}}},y.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",(function(){return e}))}},y.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},y.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},y.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;t.Function.prototype.__WB_orig_apply=e;var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},y.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;t.Function.prototype.__WB_orig_call=e;var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},y.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;t.Function.prototype.__WB_orig_bind=e;var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},y.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,(function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)}))},y.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",(function(t){var r;return r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0}),(function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)}))},y.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,(function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t}))},y.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},y.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},y.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},y.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},y.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},y.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},y.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},y.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},y.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},y.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},y.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,w,h){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===w?new e(t,r,o,n,s):void 0===h?new e(t,r,o,n,s,w):new e(t,r,o,n,s,w,h)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var w=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var h=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},y.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},y.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},y.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(t){function e(t,r){this.openCallbacks=[],this.addEventListener=function(t,r){"open"===t&&e.openCallbacks.push(r)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=r&&r.length?r[0]:"",this.url=t,this.readyState=1;var i=this;setTimeout((function(){var t=new CustomEvent("open");i.onopen&&i.onopen(t),i.openCallbacks.forEach((e=>e(t)))}),500)}return e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,e}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},y.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",(function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i}),t)},y.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},y.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},y.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},y.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},y.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",(function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)}))},y.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},y.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)},this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}if(this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]&&-1===navigator.userAgent.indexOf("Firefox")&&(this.__WB_xhr_open_arguments[2]=!0,console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, converted to async")),this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[t,e]of this.__WB_xhr_headers.entries())s.call(this,t,e);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var h=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return h.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i,a=typeof i;switch(a){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var w=t.rewriteUrl(i.url);w!==i.url&&(s=new r(w,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var p=t.rewriteUrl(n.referrer);p!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=p)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=p.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var c=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return c.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},y.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},y.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},y.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},y.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},y.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},y.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},y.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",(function(){return this.WB_wombat_location.origin})),this.defGetterProp(this.$wbwindow,"origin",(function(){return this.WB_wombat_location.origin}));var e=this;this.defProp(t,"domain",(function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)}),(function(){return this.__wb_domain||this.WB_wombat_location.hostname}))}},y.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,_(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,_(arguments))};e.writeln=s,t.writeln=s;var a=e.open,w=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),u()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=w,t.open=w;var h=e.close,p=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),h.__WB_orig_apply?h.__WB_orig_apply(t,arguments):h.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),u()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver(((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)})).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=p,t.close=p;var c=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");c&&l&&this.defProp(t,"body",(function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)}),c)}function u(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function _(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&-1!==i.startsWith("\\x3c!--")&&-1===i.indexOf("--\\x3e"))return e.call(o,i);if(!(u()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},y.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},y.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new y(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},y.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},y.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e,i),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t,i),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},y.prototype.initLocOverride=function(t,e,r){if(Object.defineProperty)for(var i=0;i<this.URL_PROPS.length;i++){var o=this.URL_PROPS[i];this.defProp(t,o,this.makeSetLocProp(o,e,r),this.makeGetLocProp(o,r),!0)}},y.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new w(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",(function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)}),(function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location})),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},y.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof w){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},y.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},y.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return r&&t?(t=>{for(const e of document.querySelectorAll(\'script[type="importmap"]\'))try{const r=JSON.parse(e.textContent);if(r.imports&&r.imports[t])return!0;if(r.scopes)for(const e of Object.keys(r.scopes))if(t.startsWith(e))return!0}catch(t){}return!1})(r)||(r=new e.URL(r,t).href):t&&void 0===r&&(r=t),import(e.rewriteUrl(r,!1,"esm_"))}},y.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},y.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",(function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}})),this.$wbwindow.addEventListener("hashchange",(function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)}))}},y.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,w,h,p=r.proxyToObj(this);if(p||((p=t).__WB_source=t),p.__WB_source&&p.__WB_source.WB_wombat_location){var c=p.__WB_source;if(a=c.WB_wombat_location.origin,p.__WB_win_id||(p.__WB_win_id={},p.__WB_counter=0),!c.__WB_id){var l=p.__WB_counter;c.__WB_id=l+c.WB_wombat_location.href,p.__WB_counter+=1}p.__WB_win_id[c.__WB_id]=c,w=c.__WB_id,p.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(h=o.targetOrigin,n=o.transfer):h=o;var u=h;u===p.location.origin&&(u=a);var _={from:a,to_origin:u,src_id:w,message:i,from_top:s};if("*"!==h){if("null"===p.location.origin||""===p.location.origin)return;h=p.location.origin}return e.call(p,_,h,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,(function(){return c(e,s,r)})):"storage"===t?r.storage_listeners.add_or_get(e,(function(){return p(e,s)})):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,(function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)}),(function(){return this["__orig_"+e]}))};a("onmessage",c),a("onstorage",p)}},y.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},y.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},y.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i&&(i=e.rewriteAttrTarget(i));var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),s};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},y.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame&&("_blank"===t||"_parent"===t||"_top"===t||t&&this.$wbwindow===this.$wbwindow.__WB_replay_top)?this.wb_info.target_frame:t},y.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",(function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}}),(function(){return t.call(i.proxyToObj(this))}))},y.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},y.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},y.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},y.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},y.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},y.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise((function(r,i){o.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)})).catch((function(t){i(t)}))}))}}},y.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},y.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise((function(r,i){n.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)})).catch((function(t){i(t)}))}))};t.match;t.match=function(t,e){var r=this;return this.keys().then((function(i){var o;return i.reduce((function(i,n){return i.then((function(){return o||r.open(n).then((function(r){return r.match(t,e)})).then((function(t){return o=t}))}))}),Promise.resolve())}))}}},y.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new h(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},y.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var w={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(w)}}}else{var h=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+h)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},y.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",(function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)}),!1)}},y.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},y.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",(function(t){this.top=t}),(function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t}))}},y.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,(function(){return i})),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,(function(){return o}))},y.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const v=y;window._WBWombat=v,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new v(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.info.prefixMod?this.info.prefixMod+t:t:e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=e.href)}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),l=!0;null==r||r||(l=!1),o.call(this,e,p,l,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteUrl(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var l=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteUrl(e)),new t(o,r)}),self.EventSource.prototype=l.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var f=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=f.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var l=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return l.call(this,i,r)}}}},self.WBWombat=e})();'}),this.staticData.set(this.staticPrefix+"wombatProxy.js",{type:"application/javascript",content:'(()=>{"use strict";new class{proxyOrigin;localOrigin;proxyTLD;localTLD;localScheme;proxyScheme;httpToHttpsNeeded;prefix;relPrefix="";schemeRelPrefix="";constructor(){this.openOverride(),this.domOverride(),this.overrideInsertAdjacentHTML();const t=self.__wbinfo;if(this.initDateOverride(t.seconds),this.initAnchorElemOverride(),this.proxyOrigin=t.proxyOrigin,this.localOrigin=t.localOrigin,this.proxyTLD=t.proxyTLD,this.localTLD=t.localTLD,this.localScheme=new URL(this.localOrigin).protocol,this.proxyScheme=new URL(this.proxyOrigin).protocol,this.httpToHttpsNeeded="http:"===this.proxyScheme&&"https:"===this.localScheme,this.prefix=t.prefix||"",this.prefix){const t=new URL(this.prefix);this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}t.presetCookie&&this.initPresetCookie(t.presetCookie)}initPresetCookie(t){const e=t.split(";");for(const t of e)document.cookie=t.trim()}recurseRewriteElem(t){if(!t.hasChildNodes())return;const e=[t.childNodes];for(;e.length>0;){const r=e.shift();for(const i of r||[])if(i.nodeType===Node.ELEMENT_NODE){const r=i;this.rewriteElem(r),t.hasChildNodes()&&e.push(r.childNodes)}}}rewriteElem(t){switch(t.tagName){case"IFRAME":{const e=t.getAttribute("src");if(e){const r=this.fullRewriteUrl(e);e!==r&&t.setAttribute("src",r)}}break;case"A":{const e=t.getAttribute("href");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("href",r)}}break;case"SCRIPT":if(this.httpToHttpsNeeded){const e=t.getAttribute("src");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("src",r)}}}}domOverride(){const t=t=>{switch(t.nodeType){case Node.ELEMENT_NODE:this.rewriteElem(t);break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(t)}},e=(e,r,i,o)=>(t(i),r.call(e,i,o)),r=(e,r,i)=>{for(const e of i)t(e);return r.call(e,...i)},i=Node.prototype.appendChild;Node.prototype.appendChild=function(t){return e(this,i,t)};const o=Node.prototype.insertBefore;Node.prototype.insertBefore=function(t,r){return e(this,o,t,r)};const n=Node.prototype.replaceChild;Node.prototype.replaceChild=function(t,r){return e(this,n,t,r)};const s=DocumentFragment.prototype.append;DocumentFragment.prototype.append=function(...t){return r(this,s,t)};const c=DocumentFragment.prototype.prepend;DocumentFragment.prototype.prepend=function(...t){return r(this,c,t)}}openOverride(){let t=window.open;Window.prototype.open&&(t=Window.prototype.open);const e=this;function r(r,i,o){const n=r?e.rewriteUrl(r.toString()):"";return t.call(this,n,i,o)}window.open=r,Window.prototype.open&&(Window.prototype.open=r);for(let t=0;t<window.frames.length;t++)try{window.frames[t].open=r}catch(t){console.log(t)}}overrideInsertAdjacentHTML(){const t=HTMLElement.prototype.insertAdjacentHTML,e=this;HTMLElement.prototype.insertAdjacentHTML=function(r,i){return i=e.rewriteRxHtml(i),t.call(this,r,i)}}rewriteRxHtml(t){return t.replace(/<\\s*(a|iframe)\\s+(?:src|href)[=][\'"](.*?)[\'"]/gi,((t,e,r)=>{let i="";switch(e){case"a":i=this.rewriteUrl(r);break;case"iframe":i=this.fullRewriteUrl(r)}return i&&i!==t?t.replace(r,i):t}))}convUrl(t,e,r,i,o,n,s,c,p=!1){if(e&&t.startsWith(e))return r+t.slice(e.length);if(i&&o&&t.indexOf(i)>0){const e=new URL(t);if(e.host.endsWith(i)){let t=e.host.slice(0,-i.length);n&&s&&(t=t.replace(n,s));return c+"//"+t+o+e.href.slice(e.origin.length)}}return p?t.replace("http:","https:"):t}rewriteUrl(t){return this.convUrl(t,this.proxyOrigin,this.localOrigin,this.proxyTLD,this.localTLD,".","-",this.localScheme,this.httpToHttpsNeeded)}unrewriteUrl(t){return this.convUrl(t,this.localOrigin,this.proxyOrigin,this.localTLD,this.proxyTLD,"-",".",this.proxyScheme)}fullRewriteUrl(t,e="if_"){const r=t;return this.proxyOrigin&&t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):!(t=t.trim())||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\\\3a/")?this.prefix+e+"/"+t:t.startsWith("//")||t.startsWith("\\\\/\\\\/")?this.schemeRelPrefix+e+"/"+t:r}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}initAnchorElemOverride(){const t=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,"href");if(!t?.get)return;const e=this,r=t.get,i=t=>{const i=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,t);if(!i?.set)return;const o=i.set;Object.defineProperty(HTMLAnchorElement.prototype,t,{set(r){const i=new URL(e.rewriteUrl(r));return o.call(this,i[t])},get(){return new URL(e.unrewriteUrl(r.call(this)))[t]}})};i("href"),i("hostname"),i("host"),i("protocol"),i("origin")}initDateOverride(t){if(self.__wb_Date_now)return;const e=1e3*parseInt(t),r=Date.now()-(e-0),i=Date,o=Date.UTC,n=Date.parse,s=Date.now;var c;self.__wb_Date_now=s,window.Date=(c=Date,function(t,e,i,o,n,p,h){return void 0===t?new c(s()-r):void 0===e?new c(t):void 0===i?new c(t,e):void 0===o?new c(t,e,i):void 0===n?new c(t,e,i,o):void 0===p?new c(t,e,i,o,n):void 0===h?new c(t,e,i,o,n,p):new c(t,e,i,o,n,p,h)}),Date.prototype=i.prototype,Date.now=function(){return s()-r},Date.UTC=o,Date.parse=n,Date.__WB_timediff=r,Date.prototype.getTimezoneOffset=function(){return 0};const p=Date.prototype.toString;Date.prototype.toString=function(){return p.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"};const h=Date.prototype.toTimeString;Date.prototype.toTimeString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"},Object.defineProperty(Date.prototype,"constructor",{value:Date})}}})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&B(r.injectScripts),n.has("allowProxyPaths")&&B(n.get("allowProxyPaths").split(",")),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")||"");const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix,proxy:this.proxyPrefix,api:this.apiPrefix};this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.api=new e(this.collections),this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Tb:null,self.addEventListener("install",(()=>{self.skipWaiting()})),self.addEventListener("activate",(t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")})),self.addEventListener("fetch",(t=>{t.respondWith(this.handleFetch(t))})),self.addEventListener("message",(t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())}))}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}isFromReplay(t){return t.url.startsWith(this.replayPrefix)||t.referrer.startsWith(this.replayPrefix)}async handleFetch(t){const e=t.request,r=e.url;if(this.proxyOriginMode){if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}else{if(!r.startsWith(this.prefix))return"chrome-extension://invalid/"===r?Rn(e,"Invalid URL"):this.isFromReplay(e)?Rn(e):this.defaultFetch(e);if(this.collections.root&&r.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(e);if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(r.startsWith(this.replayPrefix)&&!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}const i=new URL(r);i.search="",i.hash="";const n=i.href;for(const t of this.staticData.keys())if(t===n){const{content:r,type:i}=this.staticData.get(t),n=new Headers({"Content-Type":i});return this.isFromReplay(e)&&n.set("Content-Security-Policy",l()),new Response(r,{headers:n})}if(!this.topFramePassthrough&&!r.startsWith(this.staticPrefix)&&e.referrer.startsWith(this.replayPrefix)){const t=function(t,e){const r=e.indexOf("/http");if(r<0)return null;const i=new URL(t).origin,n=t.slice(i.length),s=e.slice(r+1),o=new URL(n,s);return e.slice(0,r+1)+o.href}(r,e.referrer);return t?Response.redirect(t):Rn(e)}return("http:"==i.protocol||"https:"==i.protocol)&&i.pathname.indexOf("/",1)<0?this.wrapCSPForFrame(await this.handleOffline(e),e):this.wrapCSPForFrame(await this.defaultFetch(e),e)}async staticPathProxy(t,e){t=t.slice(this.proxyPrefix.length),t=new URL(t,self.location.href).href;let r=!1;for(const e of O)if(t.startsWith(e)){r=!0;break}if(!r)return Rn(e);const{method:i}=e,n="GET"!==i?await e.arrayBuffer():null,s={cache:"no-store",headers:e.headers,method:i,..."GET"!==i&&{body:n}},o=await this.defaultFetch(t,s);return this.wrapCSPForFrame(o,e)}async wrapCSPForFrame(t,e){if(!e.destination.endsWith("frame"))return t;const{status:r,statusText:i}=t,n=new Headers(t.headers);return n.set("Content-Security-Policy",l()),new Response(t.body,{status:r,statusText:i,headers:n})}async defaultFetch(t,e={}){return e.cache||"string"==typeof t||t instanceof URL||"only-if-cached"!==t.cache||"same-origin"===t.mode||(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let i=await e.match(r,{ignoreSearch:!0});if(!i)try{i=await this.defaultFetch(new Request(r)),await e.put(r,i)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=Rn(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=E(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(Kb)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s&&(this.proxyOriginMode||this.topFramePassthrough))return this.defaultFetch(t);if(!s)return Rn(t);if(!this.collections.root&&!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return Rn(t);let o,a=!1;t.url.startsWith(s.prefix)||!this.proxyOriginMode?(o=t.url.substring(s.prefix.length),a=!0):o=t.url;const c={isRoot:!!this.collections.root,defaultReplayMode:a};this.proxyOriginMode&&!a&&(c.mod="id_",c.proxyOrigin=s.config.extraConfig?.proxyOrigin,c.proxyTLD=s.config.extraConfig?.proxyTLD,c.localTLD=s.config.extraConfig?.localTLD,c.ts=s.config.extraConfig?.proxyTs||"",c.localOrigin=self.location.origin);const l=new qb(o,t,c);if(this.topFramePassthrough&&(!l.url||!l.mod))return this.defaultFetch(t);if(!l.url)return Rn(t,`Replay URL ${o} not found`);const h=await s.handleRequest(l,e);if(h){if(this.stats&&this.stats.updateStats(h,h.status,t,e),this.allowRewrittenCache&&200===h.status)try{const e=await self.caches.open("wabac-"+s.name);r&&h.headers.set(Kb,"true");const i=h.clone();await e.put(t,i)}catch(t){console.warn(t)}return h}return i&&console.log("Not Found Range!: "+i),Rn(t)}},console.log("sw init")):self.postMessage&&(new Sb(self),console.log("ww init"))})();
119
+ const vm="crypto.algorithm",_m="crypto.algorithmProvider";var Em;wy.registerSingleton(_m,class{getAlgorithms(){return wy.resolveAll(vm)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new gd({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const Sm="1.3.36.3.3.2.8.1.1",xm=`${Sm}.1`,Tm=`${Sm}.2`,Cm=`${Sm}.3`,Im=`${Sm}.4`,Rm=`${Sm}.5`,km=`${Sm}.6`,Nm=`${Sm}.7`,Om=`${Sm}.8`,Bm=`${Sm}.9`,Pm=`${Sm}.10`,Dm=`${Sm}.11`,Lm=`${Sm}.12`,Um=`${Sm}.13`,Mm=`${Sm}.14`,Fm="brainpoolP160r1",Hm="brainpoolP160t1",Wm="brainpoolP192r1",jm="brainpoolP192t1",Vm="brainpoolP224r1",Gm="brainpoolP224t1",zm="brainpoolP256r1",qm="brainpoolP256t1",Qm="brainpoolP320r1",Km="brainpoolP320t1",Ym="brainpoolP384r1",Jm="brainpoolP384t1",Xm="brainpoolP512r1",Zm="brainpoolP512t1",$m="ECDSA";let tw=Em=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===$m.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return hg;case"sha-256":return ug;case"sha-384":return pg;case"sha-512":return dg}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=og;break;case"K-256":e=Em.SECP256K1;break;case"P-384":e=ag;break;case"P-521":e=cg;break;case Fm:e=xm;break;case Hm:e=Tm;break;case Wm:e=Cm;break;case jm:e=Im;break;case Vm:e=Rm;break;case Gm:e=km;break;case zm:e=Nm;break;case qm:e=Om;break;case Qm:e=Bm;break;case Km:e=Pm;break;case Ym:e=Dm;break;case Jm:e=Lm;break;case Xm:e=Um;break;case Zm:e=Mm}if(e)return new gd({algorithm:tg,parameters:Bu.serialize(new fg({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case eg:return{name:$m,hash:{name:"SHA-1"}};case ig:return{name:$m,hash:{name:"SHA-256"}};case ng:return{name:$m,hash:{name:"SHA-384"}};case sg:return{name:$m,hash:{name:"SHA-512"}};case tg:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(Bu.parse(t.parameters,fg).namedCurve){case og:return{name:$m,namedCurve:"P-256"};case Em.SECP256K1:return{name:$m,namedCurve:"K-256"};case ag:return{name:$m,namedCurve:"P-384"};case cg:return{name:$m,namedCurve:"P-521"};case xm:return{name:$m,namedCurve:Fm};case Tm:return{name:$m,namedCurve:Hm};case Cm:return{name:$m,namedCurve:Wm};case Im:return{name:$m,namedCurve:jm};case Rm:return{name:$m,namedCurve:Vm};case km:return{name:$m,namedCurve:Gm};case Nm:return{name:$m,namedCurve:zm};case Om:return{name:$m,namedCurve:qm};case Bm:return{name:$m,namedCurve:Qm};case Pm:return{name:$m,namedCurve:Km};case Dm:return{name:$m,namedCurve:Ym};case Lm:return{name:$m,namedCurve:Jm};case Um:return{name:$m,namedCurve:Xm};case Mm:return{name:$m,namedCurve:Zm}}}return null}};tw.SECP256K1="1.3.132.0.10",tw=Em=Yg([by()],tw),wy.registerSingleton(vm,tw);const ew=Symbol("name"),rw=Symbol("value");class iw{constructor(t,e={},r=""){this[ew]=t,this[rw]=r;for(const t in e)this[t]=e[t]}}iw.NAME=ew,iw.VALUE=rw;class nw{static toString(t){return this.items[t]||t}}nw.items={[Ng]:"sha1",[Og]:"sha224",[Bg]:"sha256",[Pg]:"sha384",[Dg]:"sha512",[wg]:"rsaEncryption",[Sg]:"sha1WithRSAEncryption",[xg]:"sha224WithRSAEncryption",[Tg]:"sha256WithRSAEncryption",[Cg]:"sha384WithRSAEncryption",[Ig]:"sha512WithRSAEncryption",[tg]:"ecPublicKey",[eg]:"ecdsaWithSHA1",[rg]:"ecdsaWithSHA224",[ig]:"ecdsaWithSHA256",[ng]:"ecdsaWithSHA384",[sg]:"ecdsaWithSHA512",[Pp]:"TLS WWW server authentication",[Dp]:"TLS WWW client authentication",[Lp]:"Code Signing",[Up]:"E-mail Protection",[Mp]:"Time Stamping",[Fp]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class sw{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[iw.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[iw.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[iw.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof iw)s[iw.NAME]=n,r.push(...this.serializeObj(s,e));else if(Bc.vJ.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[iw.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=Bc.vJ.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}sw.oidSerializer=nw,sw.algorithmSerializer=class{static toTextObject(t){const e=new iw("Algorithm Identifier",{},nw.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case tg:{const r=(new tw).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class ow{constructor(...t){if(1===t.length){const e=t[0];this.rawData=Bu.serialize(e),this.onInit(e)}else{const e=Bu.parse(t[0],t[1]);this.rawData=Bc.vJ.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof ow&&(0,Bc.Xy)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return Bu.toString(this.rawData);case"text":return sw.serialize(this.toTextObject());case"hex":return Bc.ep.ToHex(this.rawData);case"base64":return Bc.ep.ToBase64(this.rawData);case"base64url":return Bc.ep.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new iw(this.getTextName(),{},t)}}ow.NAME="ASN";class aw extends ow{constructor(...t){let e;e=Bc.vJ.isBufferSource(t[0])?Bc.vJ.toArrayBuffer(t[0]):Bu.serialize(new Ad({extnID:t[0],critical:t[1],extnValue:new Xh(Bc.vJ.toArrayBuffer(t[2]))})),super(e,Ad)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[iw.NAME]===aw.NAME&&(t[iw.NAME]=nw.toString(this.type)),t}}var cw;class lw{constructor(){this.items=new Map,this[cw]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(lw.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=lw.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(lw.DEFAULT,t);return this}}cw=Symbol.toStringTag,lw.DEFAULT="default";const hw=new lw,uw=/^[0-2](?:\.[1-9][0-9]*)+$/;class pw{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(uw).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const dw=new pw;function fw(t,e){return`\\${Bc.ep.ToHex(Bc.ep.FromUtf8String(e)).toUpperCase()}`}dw.register("CN","2.5.4.3"),dw.register("L","2.5.4.7"),dw.register("ST","2.5.4.8"),dw.register("O","2.5.4.10"),dw.register("OU","2.5.4.11"),dw.register("C","2.5.4.6"),dw.register("DC","0.9.2342.19200300.100.1.25"),dw.register("E","1.2.840.113549.1.9.1"),dw.register("G","2.5.4.42"),dw.register("I","2.5.4.43"),dw.register("SN","2.5.4.4"),dw.register("T","2.5.4.12");class gw{constructor(t,e={}){this.extraNames=new pw,this.asn=new zu;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof zu?this.asn=t:Bc.vJ.isBufferSource(t)?this.asn=Bu.parse(t,zu):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++)if(t.charCodeAt(e)>255)return!1;return!0}getField(t){const e=this.extraNames.findId(t)||dw.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||dw.get(t)}toString(){return this.asn.map((t=>t.map((t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${Bc.ep.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,fw)}(t.value.toString())}`)).join("+"))).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${Bc.ep.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new zu,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new ju({type:t});if("#"===r.charAt(0))a.value.anyValue=Bc.ep.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:gw.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new Vu([a])),n=o}return e}fromJSON(t){const e=new zu;for(const r of t){const t=new Vu;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new ju({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=Bc.ep.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return Bu.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||hw.get()):r=t[0]||hw.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const yw="Cannot initialize GeneralName from ASN.1 data.",mw=`${yw} Unsupported string format in use.`,ww=`${yw} Value doesn't match to GUID regular expression.`,bw=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,Aw="1.3.6.1.4.1.311.25.1",vw="1.3.6.1.4.1.311.20.2.3",_w="dns",Ew="dn",Sw="email",xw="ip",Tw="url",Cw="guid",Iw="upn",Rw="id";class kw extends ow{constructor(...t){let e;if(2===t.length)switch(t[0]){case Ew:{const r=new gw(t[1]).toArrayBuffer(),i=Bu.parse(r,zu);e=new Yu({directoryName:i});break}case _w:e=new Yu({dNSName:t[1]});break;case Sw:e=new Yu({rfc822Name:t[1]});break;case Cw:{const r=new RegExp(bw,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map(((t,e)=>e<3?Bc.ep.ToHex(new Uint8Array(Bc.ep.FromHex(t)).reverse()):t)).join("");e=new Yu({otherName:new Qu({typeId:Aw,value:Bu.serialize(new Xh(Bc.ep.FromHex(i)))})});break}case xw:e=new Yu({iPAddress:t[1]});break;case Rw:e=new Yu({registeredID:t[1]});break;case Iw:e=new Yu({otherName:new Qu({typeId:vw,value:Bu.serialize(cu.toASN(t[1]))})});break;case Tw:e=new Yu({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=Bc.vJ.isBufferSource(t[0])?Bu.parse(t[0],Yu):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=_w,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=Sw,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=xw,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=Tw,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=Rw,this.value=t.registeredID;else if(null!=t.directoryName)this.type=Ew,this.value=new gw(t.directoryName).toString();else{if(null==t.otherName)throw new Error(mw);if(t.otherName.typeId===Aw){this.type=Cw;const e=Bu.parse(t.otherName.value,Xh),r=new RegExp(bw,"i").exec(Bc.ep.ToHex(e));if(!r)throw new Error(ww);this.value=r.slice(1).map(((t,e)=>e<3?Bc.ep.ToHex(new Uint8Array(Bc.ep.FromHex(t)).reverse()):t)).join("-")}else{if(t.otherName.typeId!==vw)throw new Error(mw);this.type=Iw,this.value=Bu.parse(t.otherName.value,Hu).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case Ew:case _w:case Cw:case xw:case Rw:case Iw:case Tw:t=this.type.toUpperCase();break;case Sw:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===Rw&&(e=nw.toString(e)),new iw(t,void 0,e)}}class Nw extends ow{constructor(t){let e;if(t instanceof op)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof Yu)r.push(e);else{const t=Bu.parse(new kw(e.type,e.value).rawData,Yu);r.push(t)}e=new op(r)}else{if(!Bc.vJ.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=Bu.parse(t,op)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new kw(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map((t=>t.toJSON()))}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[iw.NAME]];Array.isArray(i)||(i=[],t[r[iw.NAME]]=i),i.push(r)}return t}}Nw.NAME="GeneralNames";const Ow="-{5}BEGIN ([^\\n]+(?=-{5}))-{5}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)-{5}END \\1-{5}";class Bw{static isPem(t){return"string"==typeof t&&new RegExp(Ow,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(Ow,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp("[\\n]+","g"),""),e={type:i[1],headers:[],rawData:Bc.ep.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp("\\n","g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map((t=>t.rawData))}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach((t=>{if(!Bc.vJ.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:Bc.vJ.toArrayBuffer(t)}))})):t.forEach((t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))})),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:Bc.vJ.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=Bc.ep.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}Bw.CertificateTag="CERTIFICATE",Bw.CrlTag="CRL",Bw.CertificateRequestTag="CERTIFICATE REQUEST",Bw.PublicKeyTag="PUBLIC KEY",Bw.PrivateKeyTag="PRIVATE KEY";class Pw extends ow{static isAsnEncoded(t){return Bc.vJ.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(Bw.isPem(t))return Bw.decode(t)[0];if(Bc.ep.isHex(t))return Bc.ep.FromHex(t);if(Bc.ep.isBase64(t))return Bc.ep.FromBase64(t);if(Bc.ep.isBase64Url(t))return Bc.ep.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=Bc.ep.ToBinary(t);return Bw.isPem(e)?Bw.decode(e)[0]:Bc.ep.isHex(e)?Bc.ep.FromHex(e):Bc.ep.isBase64(e)?Bc.ep.FromBase64(e):Bc.ep.isBase64Url(e)?Bc.ep.FromBase64Url(e):Bc.vJ.toArrayBuffer(t)}}constructor(...t){Pw.isAsnEncoded(t[0])?super(Pw.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?Bw.encode(this.rawData,this.tag):super.toString(t)}}class Dw extends Pw{constructor(t){Pw.isAsnEncoded(t)?super(t,yd):super(t),this.tag=Bw.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||hw.get()):e=t[0]||hw.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=wy.resolve(_m),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case wg:{const e=Bu.parse(t.subjectPublicKey,Kg),i=Bc.vJ.toUint8Array(e.modulus);r.publicExponent=Bc.vJ.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||hw.get()):r=t[0]||hw.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=hw.get());const e=Bu.parse(this.rawData,yd);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=Bu.parse(this.rawData,yd);return t.Algorithm=sw.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===tg?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class Lw{static register(t,e){this.items.set(t,e)}static create(t){const e=new aw(t),r=this.items.get(e.type);return r?new r(t):e}}Lw.items=new Map;const Uw="crypto.signatureFormatter";class Mw extends Pw{constructor(t){Pw.isAsnEncoded(t)?super(t,xd):super(t),this.tag=Bw.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=Bu.serialize(e),this.serialNumber=Bc.ep.ToHex(e.serialNumber),this.subjectName=new gw(e.subject),this.subject=new gw(e.subject).toString(),this.issuerName=new gw(e.issuer),this.issuer=this.issuerName.toString();const r=wy.resolve(_m);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map((t=>Lw.create(Bu.serialize(t))))),this.publicKey=new Dw(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter((e=>"string"==typeof t?e.type===t:e instanceof t))}async verify(t={},e=hw.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof Dw)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(Bc.vJ.isBufferSource(n)){const t=new Dw(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=wy.resolveAll(Uw).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=hw.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=hw.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=Bu.parse(this.rawData,xd),r=e.tbsCertificate,i=new iw("",{Version:`${_d[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":sw.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new iw("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new iw("");for(const e of this.extensions){const r=e.toTextObject();t[r[iw.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new iw("",{Algorithm:sw.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}Mw.NAME="Certificate";class Fw extends aw{constructor(...t){if(Bc.vJ.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new rp({keyIdentifier:new ep(Bc.ep.FromHex(t[0]))});super(tp,t[1],Bu.serialize(e))}else{const e=t[0],r=e.name instanceof Nw?Bu.parse(e.name.rawData,op):e.name,i=new rp({authorityCertIssuer:r,authorityCertSerialNumber:Bc.ep.FromHex(e.serialNumber)});super(tp,t[1],Bu.serialize(i))}}static async create(t,e=!1,r=hw.get()){if(t instanceof Mw||lw.isCryptoKey(t)){const i=t instanceof Mw?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new Dw(n),o=await s.getKeyIdentifier(r);return new Fw(Bc.ep.ToHex(o),e)}return new Fw(t,e)}onInit(t){super.onInit(t);const e=Bu.parse(t.extnValue,rp);e.keyIdentifier&&(this.keyId=Bc.ep.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:Bc.ep.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Bu.parse(this.value,rp);return e.authorityCertIssuer&&(t["Authority Issuer"]=new Nw(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}Fw.NAME="Authority Key Identifier";class Hw extends aw{constructor(...t){if(Bc.vJ.isBufferSource(t[0])){super(t[0]);const e=Bu.parse(this.value,np);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new np({cA:t[0],pathLenConstraint:t[1]});super(ip,t[2],Bu.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var Ww,jw;Hw.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(Ww||(Ww={}));class Vw extends aw{constructor(...t){if(Bc.vJ.isBufferSource(t[0])){super(t[0]);const e=Bu.parse(this.value,Bp);this.usages=e.map((t=>t))}else{const e=new Bp(t[0]);super(Op,t[1],Bu.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map((t=>nw.toString(t))).join(", "),t}}Vw.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(jw||(jw={}));class Gw extends aw{constructor(...t){if(Bc.vJ.isBufferSource(t[0])){super(t[0]);const e=Bu.parse(this.value,Qp);this.usages=e.toNumber()}else{const e=new Qp(t[0]);super(Gp,t[1],Bu.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Bu.parse(this.value,Qp);return t[""]=e.toJSON().join(", "),t}}Gw.NAME="Key Usages";class zw extends aw{constructor(...t){if(Bc.vJ.isBufferSource(t[0])){super(t[0]);const e=Bu.parse(this.value,cd);this.keyId=Bc.ep.ToHex(e)}else{const e="string"==typeof t[0]?Bc.ep.FromHex(t[0]):t[0],r=new cd(e);super(ad,t[1],Bu.serialize(r)),this.keyId=Bc.ep.ToHex(e)}}static async create(t,e=!1,r=hw.get()){let i;i=t instanceof Dw?t.rawData:"publicKey"in t?t.publicKey.rawData:Bc.vJ.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new Dw(i),s=await n.getKeyIdentifier(r);return new zw(Bc.ep.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=Bu.parse(this.value,cd);return t[""]=e,t}}zw.NAME="Subject Key Identifier";class qw extends aw{constructor(...t){Bc.vJ.isBufferSource(t[0])?super(t[0]):super(rd,t[1],new Nw(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=Bu.parse(t.extnValue,id);this.names=new Nw(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}qw.NAME="Subject Alternative Name";class Qw extends aw{constructor(...t){var e;if(Bc.vJ.isBufferSource(t[0])){super(t[0]);const e=Bu.parse(this.value,mp);this.policies=e.map((t=>t.policyIdentifier))}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new mp(r.map((t=>new yp({policyIdentifier:t}))));super(hp,i,Bu.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map((t=>new iw("",{},nw.toString(t)))),t}}Qw.NAME="Certificate Policies",Lw.register(hp,Qw);class Kw extends ow{constructor(...t){let e;if(Bc.vJ.isBufferSource(t[0]))e=Bc.vJ.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map((t=>Bc.vJ.toArrayBuffer(t))):[];e=Bu.serialize(new nd({type:r,values:i}))}super(e,nd)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map((t=>new iw("",{"":t}))),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[iw.NAME]===Kw.NAME&&(t[iw.NAME]=nw.toString(this.type)),t}}Kw.NAME="Attribute";class Yw extends Kw{constructor(...t){var e;if(Bc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=new um({printableString:t[0]});super(qy,[Bu.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=Bu.parse(this.values[0],um);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[iw.VALUE]=this.password,t}}Yw.NAME="Challenge Password";class Jw extends Kw{constructor(...t){var e;if(Bc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new vd;for(const t of e)r.push(Bu.parse(t.rawData,Ad));super(Qy,[Bu.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=Bu.parse(this.values[0],vd);this.items=t.map((t=>Lw.create(Bu.serialize(t))))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map((t=>t.toTextObject()));for(const r of e)t[r[iw.NAME]]=r;return t}}Jw.NAME="Extensions";class Xw{static register(t,e){this.items.set(t,e)}static create(t){const e=new Kw(t),r=this.items.get(e.type);return r?new r(t):e}}Xw.items=new Map;let Zw=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new gd({algorithm:wg,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new gd({algorithm:Sg,parameters:null});case"sha-256":return new gd({algorithm:Tg,parameters:null});case"sha-384":return new gd({algorithm:Cg,parameters:null});case"sha-512":return new gd({algorithm:Ig,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case wg:return{name:"RSASSA-PKCS1-v1_5"};case Sg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Tg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Cg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Ig:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Zw=Yg([by()],Zw),wy.registerSingleton(vm,Zw);class $w{addPadding(t,e){const r=Bc.vJ.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=Bc.vJ.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=$w.namedCurveSize.get(r)||$w.defaultNamedCurveSize,n=new yg,s=Bc.vJ.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),Bu.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=Bu.parse(e,yg),i=t.namedCurve,n=$w.namedCurveSize.get(i)||$w.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,Bc.$e)(s,o)}return null}}$w.namedCurveSize=new Map,$w.defaultNamedCurveSize=32;const tb="1.3.101.110",eb="1.3.101.111",rb="1.3.101.112",ib="1.3.101.113";let nb=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=rb;break;case"ed448":e=ib}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=tb;break;case"x448":e=eb}}return e?new gd({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case rb:return{name:"EdDSA",namedCurve:"Ed25519"};case ib:return{name:"EdDSA",namedCurve:"Ed448"};case tb:return{name:"ECDH-ES",namedCurve:"X25519"};case eb:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};nb=Yg([by()],nb),wy.registerSingleton(vm,nb);var sb;(class extends Pw{constructor(t){Pw.isAsnEncoded(t)?super(t,Am):super(t),this.tag=Bw.CertificateRequestTag}onInit(t){this.tbs=Bu.serialize(t.certificationRequestInfo),this.publicKey=new Dw(t.certificationRequestInfo.subjectPKInfo);const e=wy.resolve(_m);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map((t=>Xw.create(Bu.serialize(t))));const r=this.getAttribute(Qy);this.extensions=[],r instanceof Jw&&(this.extensions=r.items),this.subjectName=new gw(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter((e=>e.type===t))}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter((e=>e.type===t))}async verify(t=hw.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=wy.resolveAll(Uw).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=Bu.parse(this.rawData,Am),r=e.certificationRequestInfo,i=new iw("",{Version:`${_d[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new iw("");for(const e of this.attributes){const r=e.toTextObject();t[r[iw.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new iw("",{Algorithm:sw.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}).NAME="PKCS#10 Certificate Request",function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(sb||(sb={})),Lw.register(ip,Hw),Lw.register(Op,Vw),Lw.register(Gp,Gw),Lw.register(ad,zw),Lw.register(tp,Fw),Lw.register(rd,qw),Xw.register(qy,Yw),Xw.register(Qy,Jw),wy.registerSingleton(Uw,class{toAsnSignature(t,e){return Bc.vJ.toArrayBuffer(e)}toWebSignature(t,e){return Bc.vJ.toArrayBuffer(e)}}),wy.registerSingleton(Uw,$w),$w.namedCurveSize.set("P-256",32),$w.namedCurveSize.set("K-256",32),$w.namedCurveSize.set("P-384",48),$w.namedCurveSize.set("P-521",66);const ob=/-{5}(BEGIN|END) .*-{5}/gm,ab="pages/pages.jsonl",cb="pages/extraPages.jsonl",lb="datapackage.json",hb="datapackage-digest.json",ub="webarchive.yaml";class pb{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(hb)&&(e=await this.loadDigestData(hb)),this.file.containsFile(lb)?t=await this.loadPackage(lb,e):this.file.containsFile(ub)&&(t=await this.loadOldPackageYAML(ub)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===lb&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Oc.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Oc.toByteArray)(t[0].replace(ob,"").replace(/\s/gm,"")),r=f(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new Mw(e);h=await i.publicKey.export();const s=(0,Oc.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Oc.toByteArray)(r),t,!0,["verify"])}const u=new TextEncoder,p=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,u.encode(t));return c.push({id:"signature",expected:!0,matched:p}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),this.store.maxFallbackLookups=-1,t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===ab?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);return this.file.containsFile(ab)&&(await this.loadPages(ab,r)).hasText&&(this.store.textIndex=e.textIndex=ab),this.file.containsFile(cb)&&(this.store.textIndex=e.textIndex=cb),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=Nc.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=ab,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class db{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=s&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class fb{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new Po({loader:this.loader});await i.init();const n=i.zipreader,s=new pb(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new bs(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class gb{response;constructor(t){this.response=t}async load(t){try{return await t.loadFromJSON(this.response)}catch(t){return{}}}}class yb{prefix;proxyPathOnly;isLive;archivePrefix;archiveMod;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.archiveMod=t.archiveMod||"id_",this.cloneResponse=e,this.allowBody=r||this.isLive||!!t.noPostToGet,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+this.archiveMod+"/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=function(t,e){return Nn(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = "${t}";\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>Sorry, this page was could not be loaded through the archiving proxy. Check the URL and try again.</p>\n <p><code id="url" style="word-break: break-all; font-size: larger">Status Code: ${e}</code></p>\n <p id="goback" style="display: none"><a href="#" onclick="window.history.back()">Go Back</a> to the previous page.</a></p>\n\n <script>\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {\n\n }\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage({\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${e},\n }, "*");\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}(n,c.status),l=!0);try{const t=new URL(s,self.location.href).href;if(c.url!==t){const t=c.url.indexOf("/http"),e=c.url.slice(t+1);n!==e&&(c=Response.redirect(e))}}catch(t){}let h=null;this.cloneResponse&&(h=c.clone());const u=mn.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n)if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}const mb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class wb extends yo{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";referrerMap=new Map;notAPage=new Set;maxFallbackLookups=3;totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){if(super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||cb,t.extraConfig&&this.initConfig(t.extraConfig),t.metadata){if(this.pagesQueryUrl=t.metadata.pagesQueryUrl||"",t.metadata.preloadResources?.length)for(const{name:e}of t.metadata.preloadResources)this.preloadResources.push(e);"number"==typeof t.metadata.totalPages&&(this.totalPages=t.metadata.totalPages)}}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new yb(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t),this.checkUpdates().catch((()=>console.warn("Error updating JSON even after auth update")))}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new Po({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new Po(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){return(await this.db.get("verification",t))?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new As(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[So]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[So]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new To(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!mb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1){const n=this.waczfiles[t].nonSurt?e:st(e),s=i?this.prefixUpperBound(n):n+" 9999",o=IDBKeyRange.upperBound([t,s],!0),a=this.db.transaction("ziplines","readonly"),c=[];for await(const e of a.store.iterate(o,"prev")){if(e.value.waczname!==t)break;if(c.unshift(e.value),!e.value.prefix.split(" ")[0].startsWith(n))break}await a.done;const l=[];c.length>3&&r&&c.sort(((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(p(i).getTime()-r),o=Math.abs(p(n).getTime()-r);return s===o?0:s<o?-1:1}));let h=0;for(const e of c){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),l.push(i),++h>3)break}return l.length&&await Promise.allSettled(l),await this.waczfiles[t].save(this.db),l.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new To(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await S(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={}){try{const{waczname:i}=r;let n;return i&&"local"!==i&&(n=await this.lookupUrlForWACZ(i,t,e,r)),!n||r.noRevisits&&"warc/revisit"===n.mime?(n=await super.lookupUrl(t,e,r),n):n}catch(t){return console.warn(t),null}}async lookupUrlForWACZ(t,e,r,i){const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1))return null;break;case 1:if(!s)return null;break;default:return null}return await super.lookupUrl(e,r,i)}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r,i=0){try{return await t.loadFile(e,r)}catch(n){if(i<=3&&await this.retryLoad(n))return await this.loadFileFromWACZ(t,e,r,i+1);throw n}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await g(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});if(this.pagesQueryUrl||await a.init(),await a.save(this.db,!0),this.pagesQueryUrl)return{};{const t=new pb(this,a,!n);return await t.load()}}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map((t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}}));for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources?.length)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages?.length&&await this.addInitialPages(t.initialPages),"number"==typeof t.totalPages&&(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p||"")||new Set;t.add(h),this.seedPageWACZs.set(p||"",t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});if(1===e.length){const r=e[0];let i;try{i=await this.loadFileFromNamedWACZ(r,this.textIndex,{unzip:!0})}catch(e){return new Response("",{headers:t})}const{reader:n}=i,s=this.waczfiles[r].getSizeOf(this.textIndex);return s>0&&(t["Content-Length"]=""+s),new Response(n.getReadableStream(),{headers:t})}{const r=[];for(const i of e)try{const{reader:t}=await this.loadFileFromNamedWACZ(i,this.textIndex,{unzip:!0});t&&r.push(t)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s=i;let o=null,a=null;if(s){if(o=this.waczNameForHash[s],!o)return null;if(a=await super.getResource(t,e,r,{waczname:o}),a)return a}const c=await this.getWACZFilesToTry(t,o);if(!c.length)return null;const l=new Map;for(const i of c){const n=this.waczfiles[i];if(n&&"wacz"===n.fileType&&n.hash!==s&&(a=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!t.isProxyOrigin}),a)){const t=a,e=t.date.getTime();l.set(e,{name:i,hash:n.hash,resp:t})}}if(l.size>0){const r=p(t.timestamp);let i,s,a,c=-1;for(const t of l.keys()){const e=Math.abs(t-r.getTime());if(c<0||e<c){const{name:r,hash:n,resp:h}=l.get(t);o=r,s=n,i=u(h.date.toISOString()),c=e,a=h}}return n?a:Response.redirect(`${e}:${s}/${i}mp_/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){if("json"!==this.rootSourceType)return!1;if(!(t instanceof I||t instanceof T))return await S(t,this.config);try{return await this.checkUpdates(),!0}catch(t){return!1}}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map((t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t}));return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r,i=[];if(this.preloadResources.length&&(i=[...this.preloadResources]),!this.pagesQueryUrl||"document"!==t.destination&&"iframe"!==t.destination){if(this.pagesQueryUrl&&t.url.startsWith("urn:")){const e=t.url.indexOf("http");e>0&&(r=t.url.slice(e))}else if(t.isProxyOrigin&&t.referrer&&"document"!==t.destination){r=t.referrer,this.referrerMap.set(t.url,r);let e="";for(;r&&(e=this.referrerMap.get(r),e&&e!==r);)r=e}}else r=t.url;if(r&&this.pagesQueryUrl){let t=await this.getWACZFilesForPagesQuery(r);if(t)return i=[...i,...t],i;if(r.startsWith("https://www.")){const e=new URL(r);if("/"===e.pathname&&(e.hostname=e.hostname.replace("www.",""),t=await this.getWACZFilesForPagesQuery(e.href),t))return i=[...i,...t],i}}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);if(e)return i=[...i,...e.values()],i}}const n=Object.keys(this.waczfiles);return this.maxFallbackLookups>0&&"json"===this.rootSourceType&&this.pagesQueryUrl?n.slice(0,this.maxFallbackLookups):n}async getWACZFilesForPagesQuery(t){const e=[];if(!this.pagesQueryUrl)return null;const r=await this.getPagesByUrl(t);for(const t of r)t.wacz&&e.push(t.wacz);if(e.length)return e;if(this.notAPage.has(t))return null;const i=new URLSearchParams,n=new URL(t);n.hash="",i.set("url",n.href),i.set("pageSize","25");let s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==s.status)return null;let o=await s.json();!o?.items.length&&n.search&&(n.search="",i.delete("url"),i.set("search",n.href),s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers}),o=await s.json());const a=o.items;for(const t of a){if(!t.url.startsWith(n.href))break;t.filename&&e.push(t.filename)}return e.length?(this.addInitialPages(o.items).catch((t=>console.log(t,"additional page add failed"))),e):(this.notAPage.add(t),null)}async checkUpdates(){if("json"!==this.rootSourceType)return;this.updating||(this.updating=(async()=>{try{return void await this.loadFromJSON()}catch(t){await N(500)}throw new k})());try{await this.updating}finally{this.updating=null}}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)throw console.warn("WACZ update failed from: "+(this.config.loadUrl||this.config.sourceUrl)),new I;const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await so(t)}}class bb{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of ps.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new bt(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}return h||(h=new Uint8Array([])),o||(o=new Date),new mn({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await Bt.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}const Ab=Eb([80,75,3,4]),vb=Eb([31,139,8]),_b=Eb([87,65,82,67]);function Eb(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}globalThis.self||(globalThis.self=globalThis);const Sb={};self.interruptLoads=Sb;class xb extends class{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Qn("collDB",3,{upgrade:(t,e)=>{e<1&&t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type");try{t.createObjectStore("settings")}catch(t){}}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=await this.listAll(),e=[],r=t.map((async t=>this._initColl(t,e)));await Promise.all(r),e.length&&this.deleteExpireMultiWACZs(e)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await Kn(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async deleteExpireMultiWACZs(t){const e=await(this.colldb?.get("settings","lastCleanupRun"));if(e&&Date.now()-e<864e5)console.log("Skipping cleanup run, ran recently");else{for(const e of t){const t=e.config.loadUrl||e.config.sourceUrl;if(t.startsWith("https://")||t.startsWith("http://")){try{await e.checkUpdates()}catch(r){r instanceof k&&(console.warn("Deleting expired/invalid coll for "+t),this.deleteColl(e.name))}await N(2e3)}}await this.colldb.put("settings",Date.now(),"lastCleanupRun")}}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=w(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t,e=null){const r=await this._initStore(t.type||"",t.config),i=t.name,n=t.config;return t.config.root&&!this.root&&(this.root=i||null),e&&r instanceof wb&&e.push(r),this._createCollection({name:i,store:r,config:n})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new gs(e.dbname);break;case"remotesource":r=await so({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new wo(e.dbname,r,e.noCache);break;case"remoteprefix":i=new bo(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await so({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new wb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new bb(e);break;case"live":i=new yb(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",(t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)}))}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await Kn("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof C)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise((t=>Sb[e]=t));await r,await this.deleteColl(e),delete Sb[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let o=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",o=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=w(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await so({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await so({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz"];for(const r of e)if(t.endsWith(r))return r;if(t.endsWith(".wacz.zip"))return".wacz"}(n.sourceName);const{abort:g,response:y}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await async function(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=Ab(s)?".wacz":_b(s)?".warc":vb(s)?".warc.gz":void 0,r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel(),r}(await y.clone()));const m=y.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await y.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${y.status} ${y.statusText}\nError Details:\n${t}`),g&&g.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),g&&g.abort(),!1;const b=d.length;if(".wacz"===f){if(n.onDemand)l=new db(d,n,r),h=new wb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),g&&g.abort(),!1;l=new fb(d,n,r),h=null,delete n.extra}const t=d.getFullBuffer();t&&(n.extra={arrayBuffer:t,...n.extra||{}})}else!m||".warc"!==f&&".warc.gz"!==f?!m||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new Eo(await y.json()),n.decode=!1):".json"===f&&(h=new wb(n,d,"json"),l=new gb(y),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new To(m,g,r),i="remoteprefix",h=new bo(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(b<s)&&n.onDemand?(l=new xo(m,g,r),i="remotesource",h=new wo(n.dbname,d,n.noCache)):l=new bs(m,g,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),g&&g.abort(),!1;h||(h=new gs(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,b)}catch(t){return t instanceof R||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,b,b,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=b),n.metadata.title||(n.metadata.title=n.sourceName),o=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=o,l}}let Tb;class Cb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&Tb.clients.matchAll({type:"window"}).then((t=>this.updateStatsParent(n,r.referrer,t)))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await Tb.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var Ib=function(){return Ib=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},Ib.apply(this,arguments)},Rb=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},kb=function(t){return encodeURIComponent(t)},Nb=function(t){return decodeURIComponent(t)},Ob=function(t,e){var r=Rb(e);return function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)}(t).split("&").reduce((function(t,e){var i=e.split("="),n=i[0],s=i[1],o=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}}(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===Nb(t))return!0;if("✗"===Nb(t))return!1}return"string"===e.nullFormat&&"null"===t?null:Nb(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t}),{})},Bb=/[^!$'()*+,;|:]/g,Pb=function(t){return t.replace(Bb,(function(t){return encodeURIComponent(t)}))},Db={default:Pb,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},Lb={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},Ub=function(t,e,r){var i=Db[e]||Pb;return r?String(t).split("/").map(i).join("/"):i(String(t))},Mb=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},Fb=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(Mb(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+Mb(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],Hb=function t(e,r){if(void 0===r&&(r=[]),!Fb.some((function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)})))throw new Error("Could not parse path '"+e+"'");return r},Wb=function(t){return null!=t},jb={urlParamsEncoding:"default"},Vb=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=Ib(Ib({},jb),e),this.tokens=Hb(t),this.hasUrlParams=this.tokens.filter((function(t){return/^url-parameter/.test(t.type)})).length>0,this.hasSpatParam=this.tokens.filter((function(t){return/splat$/.test(t.type)})).length>0,this.hasMatrixParams=this.tokens.filter((function(t){return/matrix$/.test(t.type)})).length>0,this.hasQueryParams=this.tokens.filter((function(t){return/^query-parameter/.test(t.type)})).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter((function(t){return void 0!==t.regex})).map((function(t){return t.regex.source})).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=Ib(Ib({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=Ob(t,i.queryParams),a=Object.keys(o).filter((function(t){return!r.isQueryParam(t)}));return 0===a.length?(Object.keys(o).forEach((function(t){return s[t]=o[t]})),s):null},t.prototype.partialTest=function(t,e){var r=this,i=Ib(Ib({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=Ob(t,i.queryParams);return Object.keys(o).filter((function(t){return r.isQueryParam(t)})).forEach((function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])})),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=Ib(Ib({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter((function(t){return!r.isQueryParam(t)})).reduce((function(e,n){if(!Wb(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map((function(t){return Ub(t,i.urlParamsEncoding,o)})):e[n]=Ub(s,i.urlParamsEncoding,o),e}),{});if(this.urlParams.some((function(e){return!Wb(t[e])}))){var s=this.urlParams.filter((function(e){return!Wb(t[e])}));throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter((function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)})).every((function(t){return new RegExp("^"+Mb(t.otherVal[0])+"$").test(n[t.val])})))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter((function(t){return!1===/^query-parameter/.test(t.type)})).map((function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match})).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter((function(e){return-1!==Object.keys(t).indexOf(e)})).reduce((function(e,r){return e[r]=t[r],e}),{}),c=function(t,e){var r=Rb(e);return Object.keys(t).filter((function(e){return function(t){return void 0!==t}(t[e])})).map((function(e){return function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map((function(e,r){return i(t,r)+"="+kb(e)})).join("&")}(t,e,r):t+"="+kb(e)}(e,t[e],r)})).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map((function(t){return t.val[0]}))},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce((function(t,e,r){return t[n.urlParams[r]]=(Lb[i]||decodeURIComponent)(e),t}),{}):{}:null},t}();class Gb{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new Vb(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class zb{router;collections;constructor(t){this.router=new Gb(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return x(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=x(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof wb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof wb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);return t.store.db?{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}:{curated:[]}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach((e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(x(e)))})),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const qb=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class Qb{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;proxyOrigin;proxyScheme="";localOrigin;httpToHttpsNeeded=!1;proxyTLD;localTLD;request;method;mode;_proxyReferrer="";_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s,localOrigin:o,proxyTLD:a,localTLD:c,defaultReplayMode:l=!1}={}){const h=qb.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!h&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!h&&r)this.url="https://"+t;else{if(!h)return void(this.url="");this.pageId=h[1]||"",this.timestamp=h[2]||"",this.mod=h[3]||"",this.url=h[4]||""}s&&o&&!l&&(this.url=Kb(s,o,this.url),this.request.referrer&&(this._proxyReferrer=Kb(s,o,this.request.referrer)),this.isProxyOrigin=!0,this.proxyOrigin=s,this.proxyScheme=s?new URL(s).protocol.slice(0,-1):"",this.localOrigin=o,this.httpToHttpsNeeded="http"===this.proxyScheme&&o.startsWith("https:"),this.proxyTLD=a||"",this.localTLD=c||"");const u=this.url.indexOf("#");u>0&&(this.hash=this.url.slice(u),this.url=this.url.substring(0,u))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this._proxyReferrer||this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return ot(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}function Kb(t,e,r){const i=new URL(r);return i.origin===e?t+i.pathname+(i.search?i.search:""):r}const Yb="x-wabac-is-ajax-req";class Jb extends xb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new Bn(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.root===r.name&&(r.config.root=!0),this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}self.registration?(self.sw=new class{prefix;replayPrefix;staticPrefix;distPrefix;proxyPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;topFramePassthrough=!1;stats;constructor({staticData:t=null,ApiClass:e=zb,defaultConfig:r={},CollectionsClass:i=Jb}={}){this.prefix=self.registration?self.registration.scope:"";const n=new URLSearchParams(self.location.search);if(this.proxyOriginMode=!!n.get("proxyOriginMode"),this.proxyOriginMode)this.replayPrefix=this.prefix+"__wb_proxy/",this.staticPrefix=this.replayPrefix+"static/",this.proxyPrefix="https://wab.ac/proxy/",this.apiPrefix="https://wab.ac/api/";else{const t=n.get("replayPrefix")??"w";this.topFramePassthrough=!t,this.replayPrefix=this.prefix+t+(t?"/":""),this.staticPrefix=this.prefix+"static/",this.proxyPrefix=this.staticPrefix+"proxy/",this.apiPrefix=this.replayPrefix+"api/"}var s;if(s=this.replayPrefix,c+=`; frame-src data: about: blob: ${self.location.origin}${self.location.pathname} ${s}`,this.distPrefix=this.prefix+"dist/",this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,(function(){return i})),i}function w(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function h(t,e){if(!(this instanceof h))return new h(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}function p(t,e){return function(r){if(window==e)return t(r)}}function c(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function l(t){let e;e="string"==typeof t?t:t?.length?t.reduce(((t,e)=>t+=String.fromCharCode(e)),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let o=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch(o.split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=d(n(i));break;case"text/plain":try{s=d(n(i),!1)}catch{s=l(i)}break;case"multipart/form-data":if(!o)throw new Error("utils cannot call postToGetURL when missing content-type header");s=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(n(i),o);break;default:s=l(i)}return null!=s&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,decodeURI(s),t.method),t.method="GET",t.requestBody=s,!0)}function _(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function d(t="",e=!0){return _(t,e).toString()}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),w.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},w.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},w.prototype.reload=function(t){},w.prototype.toString=function(){return this.href},w.prototype.valueOf=function(){return this},e(w,"Location"),h.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},h.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},h.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then((function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)}))},h.prototype.terminate=function(){this.worker.terminate()},h.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},h.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},h.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then((function(){r.worker.postMessage(t)}))}else this.worker.postMessage(t)},h.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},h.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},h.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},h.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},h.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},h.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then((function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,w=document.querySelectorAll(t.elemSelector),h={values:[],presplit:!1},p={values:[]};for(i=0;i<w.length;++i)s=(n=w[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&h.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&h.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&p.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&p.values.push({src:s,mod:a});r.length&&(e.media=r),h.values.length&&(e.srcset=h),p.values.length&&(e.src=p),(e.media||e.srcset||e.src)&&t.postMessage(e)}))};var f=null,b=",,,";Map,Symbol.iterator;function y(e,i){if(!(this instanceof y))return new y(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.IMPORT_JS_CALL=/[^$.]\\bimport\\s*\\(/g,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}y.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},y.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},y.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},y.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},y.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},y.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},y.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},y.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",(function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)}),{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},y.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},y.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},y.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},y.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},y.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},y.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},y.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},y.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},y.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},y.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},y.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},y.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},y.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},y.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},y.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},y.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",r+(t=(t=t.replace(this.IMPORT_JS_CALL,(t=>t.replace("import","____wb_rewrite_import__")))).replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1"))+"\\n\\n}}"},y.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver((function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}})).observe(t,{childList:!0,subtree:!0})},y.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},y.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},y.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},y.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},y.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},y.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},y.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},y.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},y.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},y.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},y.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},y.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},y.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},y.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},y.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},y.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},y.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},y.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=typeof o;if("string"===n&&o){var s=parseInt(e);if(o&&!isNaN(s))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===n&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var a=i[e];if(!a||a.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return a.boundFn}if("object"===n&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},y.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},y.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},y.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},y.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},y.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},y.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},y.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(o.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(i.length):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},y.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t.trim()}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var w=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(w){var h=this.replayTopHost,p=this.replayTopProtocol,c=w+h+"/";if(this.startsWith(o,c)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=p+"//",u=o.substring(c.length),_=!1;return u.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(u=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+u),_=!0),w!==l&&w!==this.REL_PREFIX&&(_=!0),_&&(o=e?"":l+h,u&&"/"!==u[0]&&(o+="/"),o+=u),o}return this.getFinalUrl(e,r,o)}return(w=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},y.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},y.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(/(\\/[\\d]*)([\\w]+_)(?=\\/)/,"$1esm_")),s},y.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},y.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},y.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},y.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},y.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(o.length)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},y.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},y.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},y.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;const r=()=>{var e;if(this.wb_info.isSW&&t.parentElement&&"IFRAME"!==t.parentElement.tagName&&"IMG"!==t.parentElement.tagName&&("application/pdf"===t.getAttribute("type")?e="IFRAME":"image/svg+xml"===t.getAttribute("type")&&(e="IMG"),e)){for(var r=this.$wbwindow.document.createElement(e),i=0;i<t.attributes.length;i++){var o=t.attributes[i],n=o.name;"data"===n&&(n="src"),this.wb_setAttribute.call(r,n,o.value)}return t.parentElement.replaceChild(r,t),!0}return!1};if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var i=this.wb_getAttribute.call(t,"http-equiv");i&&"content-security-policy"===i.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+i),e=!0);break;case"STYLE":var o=this.rewriteStyle(t.textContent);t.textContent!==o&&(t.textContent=o,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":e=r(),e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"EMBED":e=r(),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var n=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),n)this.blobUrlForIframe(t,n);else{var s=t.getAttribute("src");s&&"about:blank"!==s||(s||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var a=this.rewriteAttrTarget(t.target);a!==t.target&&(t.target=a,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},y.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},y.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},y.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},y.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var w=r.lastIndexOf(a);w>0&&(n+=r.slice(w+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},y.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var w="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,w)&&!this.endsWith(t.toLowerCase(),w)&&(n=n.substring(0,n.length-w.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},y.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},y.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,(function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""})).replace(this.cookie_path_regex,(function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i})),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},y.prototype.rewriteWorker=function(t,e){if(!t)return t;var r=0===(t=t.toString()).indexOf("blob:"),i=0===t.indexOf("javascript:"),o=e&&"module"===e.type?"wkrm_":"wkr_";if(!r&&!i){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var n=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(n,!1,o,this.$wbwindow.document)}return this.rewriteUrl(t,!1,o,this.$wbwindow.document)}var s=i?t.replace("javascript:",""):null;if(r){var a=new XMLHttpRequest;this.utilFns.XHRopen.call(a,"GET",t,!1),this.utilFns.XHRsend.call(a),s=a.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var w=this.$wbwindow.document.baseURI;s="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(w)+"}); })();"+s}var h=new Blob([s],{type:"application/javascript"});return this.URL.createObjectURL(h)},y.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},y.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},y.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},y.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},y.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},y.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},y.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,(function(){return null!=this["_"+t]?this["_"+t]:i.call(this)}))},y.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},y.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,(function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},y.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},y.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,(function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this),"module"===this.type&&(r="esm_"));var i=n.rewriteUrl(t,!1,r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t}))},y.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,(function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)}))}},y.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,(function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))}),i)}},y.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",(function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)}))}},y.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,(function(){return i.objToProxy(r.call(this))}))}},y.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,w=n.WB_wombat_location;if(o){var h=r._makeURLParser(o,n.document);if(a=h.href,s=r.rewriteUrl(a),a!==w.origin&&"about:blank"!==w.href&&!r.startsWith(a,w.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=w.href;e.call(this,t,i,s);var p=n.document.title;r.WBAutoFetchWorker&&n.setTimeout((function(){i||n.document.title===p||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)}),100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},y.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},w=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(w,a)),t}),(o&&i||r)&&this.defProp(t,e,(function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e}),s)},y.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},y.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},y.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,(function(t){return s(this,n,t)}),r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},y.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,(function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)}),(function(){return this.__wb_srcdoc}))},y.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,(function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})}))},y.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,(function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})}))},y.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,(function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))})),e["_get_"+t]=r}}},y.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",(function(){return e}))}},y.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},y.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},y.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;t.Function.prototype.__WB_orig_apply=e;var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},y.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;t.Function.prototype.__WB_orig_call=e;var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},y.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;t.Function.prototype.__WB_orig_bind=e;var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},y.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,(function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0}),(function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)}))},y.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",(function(t){var r;return r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0}),(function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)}))},y.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,(function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t}))},y.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},y.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},y.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},y.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},y.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},y.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},y.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},y.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},y.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},y.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},y.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},y.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,w,h){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===w?new e(t,r,o,n,s):void 0===h?new e(t,r,o,n,s,w):new e(t,r,o,n,s,w,h)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var w=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var h=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},y.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},y.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},y.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(t){function e(t,r){this.openCallbacks=[],this.addEventListener=function(t,r){"open"===t&&e.openCallbacks.push(r)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=r&&r.length?r[0]:"",this.url=t,this.readyState=1;var i=this;setTimeout((function(){var t=new CustomEvent("open");i.onopen&&i.onopen(t),i.openCallbacks.forEach((e=>e(t)))}),500)}return e.CONNECTING=0,e.OPEN=1,e.CLOSING=2,e.CLOSED=3,e}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},y.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",(function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i}),t)},y.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},y.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},y.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},y.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},y.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",(function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)}))},y.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},y.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)},this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}if(this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]&&-1===navigator.userAgent.indexOf("Firefox")&&(this.__WB_xhr_open_arguments[2]=!0,console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, converted to async")),this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[t,e]of this.__WB_xhr_headers.entries())s.call(this,t,e);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var h=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return h.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i,a=typeof i;switch(a){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var w=t.rewriteUrl(i.url);w!==i.url&&(s=new r(w,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var p=t.rewriteUrl(n.referrer);p!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=p)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=p.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var c=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return c.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},y.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},y.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},y.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},y.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},y.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},y.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},y.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",(function(){return this.WB_wombat_location.origin})),this.defGetterProp(this.$wbwindow,"origin",(function(){return this.WB_wombat_location.origin}));var e=this;this.defProp(t,"domain",(function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)}),(function(){return this.__wb_domain||this.WB_wombat_location.hostname}))}},y.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,_(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,_(arguments))};e.writeln=s,t.writeln=s;var a=e.open,w=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),u()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=w,t.open=w;var h=e.close,p=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),h.__WB_orig_apply?h.__WB_orig_apply(t,arguments):h.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),u()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver(((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)})).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=p,t.close=p;var c=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");c&&l&&this.defProp(t,"body",(function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)}),c)}function u(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function _(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&-1!==i.startsWith("\\x3c!--")&&-1===i.indexOf("--\\x3e"))return e.call(o,i);if(!(u()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},y.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},y.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new y(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},y.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},y.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e,i),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t,i),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},y.prototype.initLocOverride=function(t,e,r){if(Object.defineProperty)for(var i=0;i<this.URL_PROPS.length;i++){var o=this.URL_PROPS[i];this.defProp(t,o,this.makeSetLocProp(o,e,r),this.makeGetLocProp(o,r),!0)}},y.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new w(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",(function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)}),(function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location})),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},y.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof w){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},y.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},y.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return r&&t?(t=>{for(const e of document.querySelectorAll(\'script[type="importmap"]\'))try{const r=JSON.parse(e.textContent);if(r.imports&&r.imports[t])return!0;if(r.scopes)for(const e of Object.keys(r.scopes))if(t.startsWith(e))return!0}catch(t){}return!1})(r)||(r=new e.URL(r,t).href):t&&void 0===r&&(r=t),import(e.rewriteUrl(r,!1,"esm_"))}},y.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},y.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",(function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}})),this.$wbwindow.addEventListener("hashchange",(function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)}))}},y.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,w,h,p=r.proxyToObj(this);if(p||((p=t).__WB_source=t),p.__WB_source&&p.__WB_source.WB_wombat_location){var c=p.__WB_source;if(a=c.WB_wombat_location.origin,p.__WB_win_id||(p.__WB_win_id={},p.__WB_counter=0),!c.__WB_id){var l=p.__WB_counter;c.__WB_id=l+c.WB_wombat_location.href,p.__WB_counter+=1}p.__WB_win_id[c.__WB_id]=c,w=c.__WB_id,p.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(h=o.targetOrigin,n=o.transfer):h=o;var u=h;u===p.location.origin&&(u=a);var _={from:a,to_origin:u,src_id:w,message:i,from_top:s};if("*"!==h){if("null"===p.location.origin||""===p.location.origin)return;h=p.location.origin}return e.call(p,_,h,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,(function(){return c(e,s,r)})):"storage"===t?r.storage_listeners.add_or_get(e,(function(){return p(e,s)})):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,(function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)}),(function(){return this["__orig_"+e]}))};a("onmessage",c),a("onstorage",p)}},y.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},y.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},y.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i&&(i=e.rewriteAttrTarget(i));var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),s};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},y.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame&&("_blank"===t||"_parent"===t||"_top"===t||t&&this.$wbwindow===this.$wbwindow.__WB_replay_top)?this.wb_info.target_frame:t},y.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",(function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}}),(function(){return t.call(i.proxyToObj(this))}))},y.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},y.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},y.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},y.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},y.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},y.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise((function(r,i){o.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)})).catch((function(t){i(t)}))}))}}},y.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},y.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise((function(r,i){n.call(t).then((function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)})).catch((function(t){i(t)}))}))};t.match;t.match=function(t,e){var r=this;return this.keys().then((function(i){var o;return i.reduce((function(i,n){return i.then((function(){return o||r.open(n).then((function(r){return r.match(t,e)})).then((function(t){return o=t}))}))}),Promise.resolve())}))}}},y.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},y.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new h(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},y.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var w={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(w)}}}else{var h=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+h)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},y.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",(function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)}),!1)}},y.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},y.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",(function(t){this.top=t}),(function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t}))}},y.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,(function(){return i})),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,(function(){return o}))},y.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const v=y;window._WBWombat=v,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new v(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.info.prefixMod?this.info.prefixMod+t:t:e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=e.href)}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),l=!0;null==r||r||(l=!1),o.call(this,e,p,l,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteUrl(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var l=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteUrl(e)),new t(o,r)}),self.EventSource.prototype=l.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var f=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=f.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var l=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return l.call(this,i,r)}}}},self.WBWombat=e})();'}),this.staticData.set(this.staticPrefix+"wombatProxy.js",{type:"application/javascript",content:'(()=>{"use strict";new class{proxyOrigin;localOrigin;proxyTLD;localTLD;localScheme;proxyScheme;httpToHttpsNeeded;prefix;relPrefix="";schemeRelPrefix="";constructor(){this.openOverride(),this.domOverride(),this.overrideInsertAdjacentHTML();const t=self.__wbinfo;if(this.initDateOverride(t.seconds),this.initAnchorElemOverride(),this.overrideSWAccess(),this.proxyOrigin=t.proxyOrigin,this.localOrigin=t.localOrigin,this.proxyTLD=t.proxyTLD,this.localTLD=t.localTLD,this.localScheme=new URL(this.localOrigin).protocol,this.proxyScheme=new URL(this.proxyOrigin).protocol,this.httpToHttpsNeeded="http:"===this.proxyScheme&&"https:"===this.localScheme,this.prefix=t.prefix||"",this.prefix){const t=new URL(this.prefix);this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}t.presetCookie&&this.initPresetCookie(t.presetCookie)}initPresetCookie(t){const e=t.split(";");for(const t of e)document.cookie=t.trim()}recurseRewriteElem(t){if(!t.hasChildNodes())return;const e=[t.childNodes];for(;e.length>0;){const r=e.shift();for(const i of r||[])if(i.nodeType===Node.ELEMENT_NODE){const r=i;this.rewriteElem(r),t.hasChildNodes()&&e.push(r.childNodes)}}}rewriteElem(t){switch(t.tagName){case"IFRAME":{const e=t.getAttribute("src");if(e){const r=this.fullRewriteUrl(e);e!==r&&t.setAttribute("src",r)}}break;case"A":{const e=t.getAttribute("href");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("href",r)}}break;case"SCRIPT":if(this.httpToHttpsNeeded){const e=t.getAttribute("src");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("src",r)}}}}domOverride(){const t=t=>{switch(t.nodeType){case Node.ELEMENT_NODE:this.rewriteElem(t);break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(t)}},e=(e,r,i,o)=>(t(i),r.call(e,i,o)),r=(e,r,i)=>{for(const e of i)t(e);return r.call(e,...i)},i=Node.prototype.appendChild;Node.prototype.appendChild=function(t){return e(this,i,t)};const o=Node.prototype.insertBefore;Node.prototype.insertBefore=function(t,r){return e(this,o,t,r)};const n=Node.prototype.replaceChild;Node.prototype.replaceChild=function(t,r){return e(this,n,t,r)};const s=DocumentFragment.prototype.append;DocumentFragment.prototype.append=function(...t){return r(this,s,t)};const c=DocumentFragment.prototype.prepend;DocumentFragment.prototype.prepend=function(...t){return r(this,c,t)}}openOverride(){let t=window.open;Window.prototype.open&&(t=Window.prototype.open);const e=this;function r(r,i,o){const n=r?e.rewriteUrl(r.toString()):"";return t.call(this,n,i,o)}window.open=r,Window.prototype.open&&(Window.prototype.open=r);for(let t=0;t<window.frames.length;t++)try{window.frames[t].open=r}catch(t){console.log(t)}}overrideInsertAdjacentHTML(){const t=HTMLElement.prototype.insertAdjacentHTML,e=this;HTMLElement.prototype.insertAdjacentHTML=function(r,i){return i=e.rewriteRxHtml(i),t.call(this,r,i)}}rewriteRxHtml(t){return t.replace(/<\\s*(a|iframe)\\s+(?:src|href)[=][\'"](.*?)[\'"]/gi,((t,e,r)=>{let i="";switch(e){case"a":i=this.rewriteUrl(r);break;case"iframe":i=this.fullRewriteUrl(r)}return i&&i!==t?t.replace(r,i):t}))}convUrl(t,e,r,i,o,n,s,c,l=!1){if(e&&t.startsWith(e))return r+t.slice(e.length);if(i&&o&&t.indexOf(i)>0){const e=new URL(t);if(e.host.endsWith(i)){let t=e.host.slice(0,-i.length);n&&s&&(t=t.replace(n,s));return c+"//"+t+o+e.href.slice(e.origin.length)}}return l?t.replace("http:","https:"):t}rewriteUrl(t){return this.convUrl(t,this.proxyOrigin,this.localOrigin,this.proxyTLD,this.localTLD,".","-",this.localScheme,this.httpToHttpsNeeded)}unrewriteUrl(t){return this.convUrl(t,this.localOrigin,this.proxyOrigin,this.localTLD,this.proxyTLD,"-",".",this.proxyScheme)}fullRewriteUrl(t,e="if_"){const r=t;return this.proxyOrigin&&t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):!(t=t.trim())||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\\\3a/")?this.prefix+e+"/"+t:t.startsWith("//")||t.startsWith("\\\\/\\\\/")?this.schemeRelPrefix+e+"/"+t:r}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}initAnchorElemOverride(){const t=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,"href");if(!t?.get)return;const e=this,r=t.get,i=t=>{const i=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,t);if(!i?.set)return;const o=i.set;Object.defineProperty(HTMLAnchorElement.prototype,t,{set(r){const i=new URL(e.rewriteUrl(r));return o.call(this,i[t])},get(){return new URL(e.unrewriteUrl(r.call(this)))[t]}})};i("href"),i("hostname"),i("host"),i("protocol"),i("origin")}initDateOverride(t){if(self.__wb_Date_now)return;const e=1e3*parseInt(t),r=Date.now()-(e-0),i=Date,o=Date.UTC,n=Date.parse,s=Date.now;var c;self.__wb_Date_now=s,window.Date=(c=Date,function(t,e,i,o,n,l,p){return void 0===t?new c(s()-r):void 0===e?new c(t):void 0===i?new c(t,e):void 0===o?new c(t,e,i):void 0===n?new c(t,e,i,o):void 0===l?new c(t,e,i,o,n):void 0===p?new c(t,e,i,o,n,l):new c(t,e,i,o,n,l,p)}),Date.prototype=i.prototype,Date.now=function(){return s()-r},Date.UTC=o,Date.parse=n,Date.__WB_timediff=r,Date.prototype.getTimezoneOffset=function(){return 0};const l=Date.prototype.toString;Date.prototype.toString=function(){return l.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"};const p=Date.prototype.toTimeString;Date.prototype.toTimeString=function(){return p.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"},Object.defineProperty(Date.prototype,"constructor",{value:Date})}overrideSWAccess(){self.__WB_wombat_sw=window.navigator.serviceWorker;const t={controller:null,ready:Promise.resolve({unregister:function(){}}),register:async()=>Promise.reject(),addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:async()=>Promise.resolve([]),getRegistration:async()=>Promise.resolve(void 0),startMessages:function(){}};Object.defineProperty(window.navigator,"serviceWorker",{get:()=>t})}}})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&B(r.injectScripts),n.has("allowProxyPaths")&&B(n.get("allowProxyPaths").split(",")),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")||""),"1"===n.get("useHashCheck")&&(ko=!0);const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix,proxy:this.proxyPrefix,api:this.apiPrefix};this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.api=new e(this.collections),this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Cb:null,self.addEventListener("install",(()=>{self.skipWaiting()})),self.addEventListener("activate",(t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")})),self.addEventListener("fetch",(t=>{t.respondWith(this.handleFetch(t))})),self.addEventListener("message",(t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())}))}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}isFromReplay(t){return t.url.startsWith(this.replayPrefix)||t.referrer.startsWith(this.replayPrefix)}async handleFetch(t){const e=t.request,r=e.url;if(this.proxyOriginMode){if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}else{if(!r.startsWith(this.prefix))return"chrome-extension://invalid/"===r?Rn(e,"Invalid URL"):this.isFromReplay(e)?Rn(e):this.defaultFetch(e);if(this.collections.root&&r.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(e);if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(r.startsWith(this.replayPrefix)&&!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}const i=new URL(r);i.search="",i.hash="";const n=i.href;for(const t of this.staticData.keys())if(t===n){const{content:r,type:i}=this.staticData.get(t),n=new Headers({"Content-Type":i});return this.isFromReplay(e)&&n.set("Content-Security-Policy",l()),new Response(r,{headers:n})}if(!this.topFramePassthrough&&!r.startsWith(this.staticPrefix)&&e.referrer.startsWith(this.replayPrefix)){const t=function(t,e){const r=e.indexOf("/http");if(r<0)return null;const i=new URL(t).origin,n=t.slice(i.length),s=e.slice(r+1),o=new URL(n,s);return e.slice(0,r+1)+o.href}(r,e.referrer);return t?Response.redirect(t):Rn(e)}return("http:"==i.protocol||"https:"==i.protocol)&&i.pathname.indexOf("/",1)<0?this.wrapCSPForFrame(await this.handleOffline(e),e):this.wrapCSPForFrame(await this.defaultFetch(e),e)}async staticPathProxy(t,e){t=t.slice(this.proxyPrefix.length),t=new URL(t,self.location.href).href;let r=!1;for(const e of O)if(t.startsWith(e)){r=!0;break}if(!r)return Rn(e);const{method:i}=e,n="GET"!==i?await e.arrayBuffer():null,s={cache:"no-store",headers:e.headers,method:i,..."GET"!==i&&{body:n}},o=await this.defaultFetch(t,s);return this.wrapCSPForFrame(o,e)}async wrapCSPForFrame(t,e){if(!e.destination.endsWith("frame"))return t;const{status:r,statusText:i}=t,n=new Headers(t.headers);return n.set("Content-Security-Policy",l()),new Response(t.body,{status:r,statusText:i,headers:n})}async defaultFetch(t,e={}){return e.cache||"string"==typeof t||t instanceof URL||"only-if-cached"!==t.cache||"same-origin"===t.mode||(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let i=await e.match(r,{ignoreSearch:!0});if(!i)try{i=await this.defaultFetch(new Request(r)),await e.put(r,i)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=Rn(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=E(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(Yb)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s&&(this.proxyOriginMode||this.topFramePassthrough))return this.defaultFetch(t);if(!s)return Rn(t);if(!this.collections.root&&!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return Rn(t);let o,a=!1;t.url.startsWith(s.prefix)||!this.proxyOriginMode?(o=t.url.substring(s.prefix.length),a=!0):o=t.url;const c={isRoot:!!this.collections.root,defaultReplayMode:a};this.proxyOriginMode&&!a&&(c.mod="id_",c.proxyOrigin=s.config.extraConfig?.proxyOrigin,c.proxyTLD=s.config.extraConfig?.proxyTLD,c.localTLD=s.config.extraConfig?.localTLD,c.ts=s.config.extraConfig?.proxyTs||"",c.localOrigin=self.location.origin);const l=new Qb(o,t,c);if(this.topFramePassthrough&&(!l.url||!l.mod))return this.defaultFetch(t);if(!l.url)return Rn(t,`Replay URL ${o} not found`);const h=await s.handleRequest(l,e);if(h){if(this.stats&&this.stats.updateStats(h,h.status,t,e),this.allowRewrittenCache&&200===h.status)try{const e=await self.caches.open("wabac-"+s.name);r&&h.headers.set(Yb,"true");const i=h.clone();await e.put(t,i)}catch(t){console.warn(t)}return h}return i&&console.log("Not Found Range!: "+i),Rn(t)}},console.log("sw init")):self.postMessage&&(new xb(self),console.log("ww init"))})();